├── .gitignore ├── FFGLBrightness.vcproj ├── FFGLBrightness.vcxproj ├── FFGLBrightness.vcxproj.filters ├── FFGLBrightness.vcxproj.user ├── FFGLPlugins.def ├── FFGLPlugins.sln ├── dll └── FFGLDummyParams.dll ├── readme.md └── src ├── FFGLDummyParams.cpp └── FFGLDummyParams.h /.gitignore: -------------------------------------------------------------------------------- 1 | example-pulse/ 2 | 3 | *.depend 4 | *.layout 5 | *.mode*v3 6 | *.pbxuser 7 | *.app* 8 | *.DS_* 9 | *.xcworkspacedata 10 | 11 | *.opensdf 12 | *.sdf 13 | *.suo 14 | *.ipch 15 | 16 | .svn/ 17 | obj/ 18 | ipch/ 19 | bin/ 20 | build/ 21 | !data/ -------------------------------------------------------------------------------- /FFGLBrightness.vcproj: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 13 | 14 | 15 | 16 | 17 | 25 | 28 | 31 | 34 | 37 | 40 | 53 | 56 | 59 | 62 | 74 | 77 | 80 | 83 | 86 | 89 | 92 | 95 | 98 | 99 | 107 | 110 | 113 | 116 | 119 | 122 | 132 | 135 | 138 | 141 | 154 | 157 | 160 | 163 | 166 | 169 | 172 | 175 | 178 | 179 | 180 | 181 | 182 | 183 | 188 | 191 | 192 | 195 | 196 | 199 | 200 | 203 | 204 | 207 | 208 | 211 | 212 | 213 | 218 | 219 | 224 | 225 | 226 | 227 | 228 | 229 | -------------------------------------------------------------------------------- /FFGLBrightness.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | 14 | {8EC753F3-118C-41F7-9469-F77F907963C2} 15 | Win32Proj 16 | 8.1 17 | FFGLDummyParams 18 | 19 | 20 | 21 | DynamicLibrary 22 | v140 23 | MultiByte 24 | 25 | 26 | DynamicLibrary 27 | v140 28 | MultiByte 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | <_ProjectFileVersion>14.0.24730.2 44 | 45 | 46 | Debug\ 47 | Debug\$(ProjectName)\ 48 | false 49 | 50 | 51 | Release\ 52 | Release\$(ProjectName)\ 53 | false 54 | 55 | 56 | 57 | Disabled 58 | ..\..\..\Include;%(AdditionalIncludeDirectories) 59 | WIN32;_DEBUG;_WINDOWS;_USRDLL;FFGLBRIGHTNESS_EXPORTS;%(PreprocessorDefinitions) 60 | true 61 | EnableFastChecks 62 | MultiThreadedDebug 63 | 64 | Level3 65 | EditAndContinue 66 | 67 | 68 | OpenGL32.lib;%(AdditionalDependencies) 69 | Debug\FFGLDummyParams.dll 70 | FFGLPlugins.def 71 | true 72 | $(OutDir)FFGLDummyParams.pdb 73 | Windows 74 | $(OutDir)FFGLDummyParams.lib 75 | MachineX86 76 | 77 | 78 | 79 | 80 | ..\..\..\Include;%(AdditionalIncludeDirectories) 81 | WIN32;NDEBUG;_WINDOWS;_USRDLL;FFGLBRIGHTNESS_EXPORTS;%(PreprocessorDefinitions) 82 | MultiThreaded 83 | 84 | Level3 85 | ProgramDatabase 86 | 87 | 88 | OpenGL32.lib;%(AdditionalDependencies) 89 | Release\FFGLDummyParams.dll 90 | FFGLPlugins.def 91 | true 92 | Windows 93 | true 94 | true 95 | $(OutDir)FFGLDummyParams.lib 96 | MachineX86 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /FFGLBrightness.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | 38 | 39 | Source Files 40 | 41 | 42 | -------------------------------------------------------------------------------- /FFGLBrightness.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /FFGLPlugins.def: -------------------------------------------------------------------------------- 1 | 2 | EXPORTS plugMain 3 | -------------------------------------------------------------------------------- /FFGLPlugins.sln: -------------------------------------------------------------------------------- 1 | Microsoft Visual Studio Solution File, Format Version 12.00 2 | # Visual Studio 14 3 | VisualStudioVersion = 14.0.24720.0 4 | MinimumVisualStudioVersion = 10.0.40219.1 5 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FFGLDummyParams", "FFGLBrightness.vcxproj", "{8EC753F3-118C-41F7-9469-F77F907963C2}" 6 | EndProject 7 | Global 8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 9 | Debug|Win32 = Debug|Win32 10 | Release|Win32 = Release|Win32 11 | EndGlobalSection 12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 13 | {8EC753F3-118C-41F7-9469-F77F907963C2}.Debug|Win32.ActiveCfg = Debug|Win32 14 | {8EC753F3-118C-41F7-9469-F77F907963C2}.Debug|Win32.Build.0 = Debug|Win32 15 | {8EC753F3-118C-41F7-9469-F77F907963C2}.Release|Win32.ActiveCfg = Release|Win32 16 | {8EC753F3-118C-41F7-9469-F77F907963C2}.Release|Win32.Build.0 = Release|Win32 17 | EndGlobalSection 18 | GlobalSection(SolutionProperties) = preSolution 19 | HideSolutionNode = FALSE 20 | EndGlobalSection 21 | EndGlobal 22 | -------------------------------------------------------------------------------- /dll/FFGLDummyParams.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Leskos/FFGLDummyParams/ccd027d5966823d153b70d64d4355f4059d7e760/dll/FFGLDummyParams.dll -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![Default Effect](http://i.imgur.com/eYtEywC.png "Dummy Parameter UI") 2 | 3 | 4 | 5 | # Usage 6 | 7 | 8 | Copy **FFGLDummyParams.dll** into **(Resolume dir)/plugins/vfx** folder to use default effect settings as shown above 9 | 10 | 11 | # Customising parameter names 12 | 13 | If you want to customise parameter names you will have to install the FFGL SDK and rebuild the project. If that phrase makes your eyes glaze over, fear not. I'll try and explain *all* the steps involved. 14 | 15 | If anyone knows how to change parameter names dynamically from an .ini file or something please let me know as this would be considerably easier! 16 | 17 | ## Getting set up 18 | 19 | First, install Microsoft Visual Studio (I used [Community Edition 2015](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx)) 20 | 21 | Go to the [ FFGL project page](https://sourceforge.net/p/freeframe/svn/HEAD/tree/trunk/FFGL-SDK/), press "Download Snapshot" and extract the **freeframe-svn-137-trunk** folder somewhere on your computer. This has all the code we need to build a FFGL plugin. 22 | 23 | Download [this repository](https://github.com/Leskos/FFGLDummyParams/archive/master.zip) and pop the **FFGLDummyParams-master** folder into **freeframe-svn-137-trunk/FFGL SDK/Projects/FFGLPlugins/** 24 | 25 | 26 | ## Editing the code 27 | 28 | Open **freeframe-svn-137-trunk/FFGL SDK/Projects/FFGLPlugins/FFGLDummyParams-master/FFGLPlugins.sln** in Visual Studio and navigate to **FFGLDummyParams/Source Files/FFGLDummyParams.cpp** 29 | 30 | To alter how parameter **names** appear in Resolume, change the these lines of code: 31 | 32 | ```c++ 33 | // Parameters 34 | SetParamInfo(FFPARAM_DUMMY1, "Param 1", FF_TYPE_STANDARD, 0.5f); 35 | SetParamInfo(FFPARAM_DUMMY2, "Param 2", FF_TYPE_STANDARD, 0.5f); 36 | SetParamInfo(FFPARAM_DUMMY3, "Param 3", FF_TYPE_STANDARD, 0.5f); ...etc 37 | ``` 38 | 39 | like this 40 | 41 | ```c++ 42 | // Parameters 43 | SetParamInfo(FFPARAM_DUMMY1, "New Param Name 1", FF_TYPE_STANDARD, 0.5f); 44 | SetParamInfo(FFPARAM_DUMMY2, "New Param Name 2", FF_TYPE_STANDARD, 0.5f); 45 | SetParamInfo(FFPARAM_DUMMY3, "New Param Name 3", FF_TYPE_STANDARD, 0.5f); ...etc 46 | ``` 47 | 48 | To change parameter **default values** in Resolume change the **0.5f** on these lines to anything between **0.0f** and **1.0f** 49 | 50 | ```c++ 51 | m_dummyOne = 0.5f; 52 | m_dummyTwo = 0.5f; 53 | m_dummyThree = 0.5f; 54 | ``` 55 | 56 | 57 | 58 | ## Building the .dll 59 | 60 | When you are happy with your changes, go to **Build** or press **Ctrh+Shift+B** in Visual Studio to build the project. This should hopefully spit out a few files including your shiny new .dll into either **FFGLDummyParams-master/Debug** or **FFGLDummyParams-master/Release** 61 | 62 | Copy the new **FFGLDummyParams.dll** file into your **(Resolume dir)/plugins/vfx** folder, overwriting any old ones that might still be hanging about (trying to figure an easy way to have multiple instances with different names, if anyone has any ideas please get in touch) 63 | 64 | Enjoy! 65 | -------------------------------------------------------------------------------- /src/FFGLDummyParams.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "FFGLDummyParams.h" 4 | 5 | #define FFPARAM_DUMMY1 (0) 6 | #define FFPARAM_DUMMY2 (1) 7 | #define FFPARAM_DUMMY3 (2) 8 | #define FFPARAM_DUMMY4 (3) 9 | #define FFPARAM_DUMMY5 (4) 10 | #define FFPARAM_DUMMY6 (5) 11 | #define FFPARAM_DUMMY7 (6) 12 | #define FFPARAM_DUMMY8 (7) 13 | #define FFPARAM_DUMMY9 (8) 14 | #define FFPARAM_DUMMY10 (9) 15 | #define FFPARAM_DUMMY11 (10) 16 | #define FFPARAM_DUMMY12 (11) 17 | #define FFPARAM_DUMMY13 (12) 18 | #define FFPARAM_DUMMY14 (13) 19 | #define FFPARAM_DUMMY15 (14) 20 | #define FFPARAM_DUMMY16 (15) 21 | 22 | 23 | //////////////////////////////////////////////////////////////////////////////////////////////////// 24 | // Plugin information 25 | //////////////////////////////////////////////////////////////////////////////////////////////////// 26 | 27 | static CFFGLPluginInfo PluginInfo( 28 | FFGLDummyParams::CreateInstance, // Create method 29 | "GLPT", // Plugin unique ID 30 | "Dummy Parameters", // Plugin name 31 | 1, // API major version number 32 | 000, // API minor version number 33 | 1, // Plugin major version number 34 | 000, // Plugin minor version number 35 | FF_EFFECT, // Plugin type 36 | "An effect with 16 dummy parameters for linking external software to Resolume's parameter system", // Plugin description 37 | "by Louis dAboville" // About 38 | ); 39 | 40 | 41 | //////////////////////////////////////////////////////////////////////////////////////////////////// 42 | // Constructor and destructor 43 | //////////////////////////////////////////////////////////////////////////////////////////////////// 44 | 45 | FFGLDummyParams::FFGLDummyParams() 46 | : CFreeFrameGLPlugin() 47 | { 48 | // Input properties 49 | SetMinInputs(1); 50 | SetMaxInputs(1); 51 | 52 | // Parameters 53 | SetParamInfo(FFPARAM_DUMMY1, "Param 1", FF_TYPE_STANDARD, 0.5f); 54 | SetParamInfo(FFPARAM_DUMMY2, "Param 2", FF_TYPE_STANDARD, 0.5f); 55 | SetParamInfo(FFPARAM_DUMMY3, "Param 3", FF_TYPE_STANDARD, 0.5f); 56 | SetParamInfo(FFPARAM_DUMMY4, "Param 4", FF_TYPE_STANDARD, 0.5f); 57 | SetParamInfo(FFPARAM_DUMMY5, "Param 5", FF_TYPE_STANDARD, 0.5f); 58 | SetParamInfo(FFPARAM_DUMMY6, "Param 6", FF_TYPE_STANDARD, 0.5f); 59 | SetParamInfo(FFPARAM_DUMMY7, "Param 7", FF_TYPE_STANDARD, 0.5f); 60 | SetParamInfo(FFPARAM_DUMMY8, "Param 8", FF_TYPE_STANDARD, 0.5f); 61 | SetParamInfo(FFPARAM_DUMMY9, "Param 9", FF_TYPE_STANDARD, 0.5f); 62 | SetParamInfo(FFPARAM_DUMMY10, "Param 10", FF_TYPE_STANDARD, 0.5f); 63 | SetParamInfo(FFPARAM_DUMMY11, "Param 11", FF_TYPE_STANDARD, 0.5f); 64 | SetParamInfo(FFPARAM_DUMMY12, "Param 12", FF_TYPE_STANDARD, 0.5f); 65 | SetParamInfo(FFPARAM_DUMMY13, "Param 13", FF_TYPE_STANDARD, 0.5f); 66 | SetParamInfo(FFPARAM_DUMMY14, "Param 14", FF_TYPE_STANDARD, 0.5f); 67 | SetParamInfo(FFPARAM_DUMMY15, "Param 15", FF_TYPE_STANDARD, 0.5f); 68 | SetParamInfo(FFPARAM_DUMMY16, "Param 16", FF_TYPE_STANDARD, 0.5f); 69 | 70 | m_dummyOne = 0.5f; 71 | m_dummyTwo = 0.5f; 72 | m_dummyThree = 0.5f; 73 | m_dummyFour = 0.5f; 74 | m_dummyFive = 0.5f; 75 | m_dummySix = 0.5f; 76 | m_dummySeven = 0.5f; 77 | m_dummyEight = 0.5f; 78 | m_dummyNine = 0.5f; 79 | m_dummyTen = 0.5f; 80 | m_dummyEleven = 0.5f; 81 | m_dummyTwelve = 0.5f; 82 | m_dummyThirteen = 0.5f; 83 | m_dummyFourteen = 0.5f; 84 | m_dummyFifteen = 0.5f; 85 | m_dummySixteen = 0.5f; 86 | } 87 | 88 | FFGLDummyParams::~FFGLDummyParams() 89 | { 90 | 91 | } 92 | //////////////////////////////////////////////////////////////////////////////////////////////////// 93 | // Methods 94 | //////////////////////////////////////////////////////////////////////////////////////////////////// 95 | 96 | DWORD FFGLDummyParams::ProcessOpenGL(ProcessOpenGLStruct *pGL) 97 | { 98 | if (pGL->numInputTextures<1) 99 | return FF_FAIL; 100 | 101 | if (pGL->inputTextures[0] == NULL) 102 | return FF_FAIL; 103 | 104 | FFGLTextureStruct &Texture = *(pGL->inputTextures[0]); 105 | 106 | //bind the texture handle 107 | glBindTexture(GL_TEXTURE_2D, Texture.Handle); 108 | 109 | //enable texturemapping 110 | glEnable(GL_TEXTURE_2D); 111 | 112 | //get the max s,t that correspond to the 113 | //width,height of the used portion of the allocated texture space 114 | FFGLTexCoords maxCoords = GetMaxGLTexCoords(Texture); 115 | 116 | //set the gl rgb color to the brightness level 117 | //The FFGL spec says we must restore any state changes to the 118 | //default state as defined by OPENGL, this means we must restore 119 | //the color to white (1,1,1,1) before returning 120 | glColor4f(1.0, 1.0, 1.0, 1.0); 121 | 122 | //Default texturemapping behavior of OpenGL is to 123 | //multiply texture colors by the current gl color, so the 124 | //brightness effect is almost complete - all we need to do 125 | //now is draw a quad with the input texture mapped onto it 126 | 127 | glBegin(GL_QUADS); 128 | 129 | //lower left 130 | glTexCoord2d(0.0, 0.0); 131 | glVertex2f(-1, -1); 132 | 133 | //upper left 134 | glTexCoord2d(0.0, maxCoords.t); 135 | glVertex2f(-1, 1); 136 | 137 | //upper right 138 | glTexCoord2d(maxCoords.s, maxCoords.t); 139 | glVertex2f(1, 1); 140 | 141 | //lower right 142 | glTexCoord2d(maxCoords.s, 0.0); 143 | glVertex2f(1, -1); 144 | glEnd(); 145 | 146 | //unbind the texture 147 | glBindTexture(GL_TEXTURE_2D, 0); 148 | 149 | //disable texturemapping 150 | glDisable(GL_TEXTURE_2D); 151 | 152 | //restore default color 153 | glColor4f(1.f, 1.f, 1.f, 1.f); 154 | 155 | return FF_SUCCESS; 156 | } 157 | 158 | DWORD FFGLDummyParams::GetParameter(DWORD dwIndex) 159 | { 160 | DWORD dwRet; 161 | 162 | switch (dwIndex) { 163 | 164 | case FFPARAM_DUMMY1: 165 | //sizeof(DWORD) must == sizeof(float) 166 | *((float *)(unsigned)(&dwRet)) = m_dummyOne; 167 | return dwRet; 168 | 169 | case FFPARAM_DUMMY2: 170 | //sizeof(DWORD) must == sizeof(float) 171 | *((float *)(unsigned)(&dwRet)) = m_dummyTwo; 172 | return dwRet; 173 | 174 | case FFPARAM_DUMMY3: 175 | //sizeof(DWORD) must == sizeof(float) 176 | *((float *)(unsigned)(&dwRet)) = m_dummyThree; 177 | return dwRet; 178 | 179 | case FFPARAM_DUMMY4: 180 | //sizeof(DWORD) must == sizeof(float) 181 | *((float *)(unsigned)(&dwRet)) = m_dummyFour; 182 | return dwRet; 183 | 184 | case FFPARAM_DUMMY5: 185 | //sizeof(DWORD) must == sizeof(float) 186 | *((float *)(unsigned)(&dwRet)) = m_dummyFive; 187 | return dwRet; 188 | 189 | case FFPARAM_DUMMY6: 190 | //sizeof(DWORD) must == sizeof(float) 191 | *((float *)(unsigned)(&dwRet)) = m_dummySix; 192 | return dwRet; 193 | 194 | case FFPARAM_DUMMY7: 195 | //sizeof(DWORD) must == sizeof(float) 196 | *((float *)(unsigned)(&dwRet)) = m_dummySeven; 197 | return dwRet; 198 | 199 | case FFPARAM_DUMMY8: 200 | //sizeof(DWORD) must == sizeof(float) 201 | *((float *)(unsigned)(&dwRet)) = m_dummyEight; 202 | return dwRet; 203 | 204 | case FFPARAM_DUMMY9: 205 | //sizeof(DWORD) must == sizeof(float) 206 | *((float *)(unsigned)(&dwRet)) = m_dummyNine; 207 | return dwRet; 208 | 209 | case FFPARAM_DUMMY10: 210 | //sizeof(DWORD) must == sizeof(float) 211 | *((float *)(unsigned)(&dwRet)) = m_dummyTen; 212 | return dwRet; 213 | 214 | case FFPARAM_DUMMY11: 215 | //sizeof(DWORD) must == sizeof(float) 216 | *((float *)(unsigned)(&dwRet)) = m_dummyEleven; 217 | return dwRet; 218 | 219 | case FFPARAM_DUMMY12: 220 | //sizeof(DWORD) must == sizeof(float) 221 | *((float *)(unsigned)(&dwRet)) = m_dummyTwelve; 222 | return dwRet; 223 | 224 | case FFPARAM_DUMMY13: 225 | //sizeof(DWORD) must == sizeof(float) 226 | *((float *)(unsigned)(&dwRet)) = m_dummyThirteen; 227 | return dwRet; 228 | 229 | case FFPARAM_DUMMY14: 230 | //sizeof(DWORD) must == sizeof(float) 231 | *((float *)(unsigned)(&dwRet)) = m_dummyFourteen; 232 | return dwRet; 233 | 234 | case FFPARAM_DUMMY15: 235 | //sizeof(DWORD) must == sizeof(float) 236 | *((float *)(unsigned)(&dwRet)) = m_dummyFifteen; 237 | return dwRet; 238 | 239 | case FFPARAM_DUMMY16: 240 | //sizeof(DWORD) must == sizeof(float) 241 | *((float *)(unsigned)(&dwRet)) = m_dummySixteen; 242 | return dwRet; 243 | 244 | default: 245 | return FF_FAIL; 246 | } 247 | } 248 | 249 | DWORD FFGLDummyParams::SetParameter(const SetParameterStruct* pParam) 250 | { 251 | if (pParam != NULL) { 252 | 253 | switch (pParam->ParameterNumber) { 254 | 255 | case FFPARAM_DUMMY1: 256 | //sizeof(DWORD) must == sizeof(float) 257 | m_dummyOne = *((float *)(unsigned)&(pParam->NewParameterValue)); 258 | break; 259 | 260 | case FFPARAM_DUMMY2: 261 | //sizeof(DWORD) must == sizeof(float) 262 | m_dummyTwo = *((float *)(unsigned)&(pParam->NewParameterValue)); 263 | break; 264 | 265 | case FFPARAM_DUMMY3: 266 | //sizeof(DWORD) must == sizeof(float) 267 | m_dummyThree = *((float *)(unsigned)&(pParam->NewParameterValue)); 268 | break; 269 | 270 | case FFPARAM_DUMMY4: 271 | //sizeof(DWORD) must == sizeof(float) 272 | m_dummyFour = *((float *)(unsigned)&(pParam->NewParameterValue)); 273 | break; 274 | 275 | case FFPARAM_DUMMY5: 276 | //sizeof(DWORD) must == sizeof(float) 277 | m_dummyFive = *((float *)(unsigned)&(pParam->NewParameterValue)); 278 | break; 279 | 280 | case FFPARAM_DUMMY6: 281 | //sizeof(DWORD) must == sizeof(float) 282 | m_dummySix = *((float *)(unsigned)&(pParam->NewParameterValue)); 283 | break; 284 | 285 | case FFPARAM_DUMMY7: 286 | //sizeof(DWORD) must == sizeof(float) 287 | m_dummySeven = *((float *)(unsigned)&(pParam->NewParameterValue)); 288 | break; 289 | 290 | case FFPARAM_DUMMY8: 291 | //sizeof(DWORD) must == sizeof(float) 292 | m_dummyEight = *((float *)(unsigned)&(pParam->NewParameterValue)); 293 | break; 294 | 295 | case FFPARAM_DUMMY9: 296 | //sizeof(DWORD) must == sizeof(float) 297 | m_dummyNine = *((float *)(unsigned)&(pParam->NewParameterValue)); 298 | break; 299 | 300 | case FFPARAM_DUMMY10: 301 | //sizeof(DWORD) must == sizeof(float) 302 | m_dummyTen = *((float *)(unsigned)&(pParam->NewParameterValue)); 303 | break; 304 | 305 | case FFPARAM_DUMMY11: 306 | //sizeof(DWORD) must == sizeof(float) 307 | m_dummyEleven = *((float *)(unsigned)&(pParam->NewParameterValue)); 308 | break; 309 | 310 | case FFPARAM_DUMMY12: 311 | //sizeof(DWORD) must == sizeof(float) 312 | m_dummyTwelve = *((float *)(unsigned)&(pParam->NewParameterValue)); 313 | break; 314 | 315 | case FFPARAM_DUMMY13: 316 | //sizeof(DWORD) must == sizeof(float) 317 | m_dummyThirteen = *((float *)(unsigned)&(pParam->NewParameterValue)); 318 | break; 319 | 320 | case FFPARAM_DUMMY14: 321 | //sizeof(DWORD) must == sizeof(float) 322 | m_dummyFourteen = *((float *)(unsigned)&(pParam->NewParameterValue)); 323 | break; 324 | 325 | case FFPARAM_DUMMY15: 326 | //sizeof(DWORD) must == sizeof(float) 327 | m_dummyFifteen = *((float *)(unsigned)&(pParam->NewParameterValue)); 328 | break; 329 | 330 | case FFPARAM_DUMMY16: 331 | //sizeof(DWORD) must == sizeof(float) 332 | m_dummySixteen = *((float *)(unsigned)&(pParam->NewParameterValue)); 333 | break; 334 | 335 | default: 336 | return FF_FAIL; 337 | } 338 | 339 | return FF_SUCCESS; 340 | 341 | } 342 | 343 | return FF_FAIL; 344 | } 345 | -------------------------------------------------------------------------------- /src/FFGLDummyParams.h: -------------------------------------------------------------------------------- 1 | #ifndef FFGLBRIGHTNESS_H 2 | #define FFGLBRIGHTNESS_H 3 | 4 | #include "../../FFGL-SDK/Source/FFGLPlugins/FFGLPluginSDK.h" 5 | 6 | class FFGLDummyParams : 7 | public CFreeFrameGLPlugin 8 | { 9 | public: 10 | FFGLDummyParams(); 11 | virtual ~FFGLDummyParams(); 12 | 13 | /////////////////////////////////////////////////// 14 | // FreeFrame plugin methods 15 | /////////////////////////////////////////////////// 16 | 17 | DWORD SetParameter(const SetParameterStruct* pParam); 18 | DWORD GetParameter(DWORD dwIndex); 19 | DWORD ProcessOpenGL(ProcessOpenGLStruct* pGL); 20 | 21 | /////////////////////////////////////////////////// 22 | // Factory method 23 | /////////////////////////////////////////////////// 24 | 25 | static DWORD __stdcall CreateInstance(CFreeFrameGLPlugin **ppInstance) 26 | { 27 | *ppInstance = new FFGLDummyParams(); 28 | if (*ppInstance != NULL) return FF_SUCCESS; 29 | return FF_FAIL; 30 | } 31 | 32 | protected: 33 | // Parameters 34 | float m_dummyOne; 35 | float m_dummyTwo; 36 | float m_dummyThree; 37 | float m_dummyFour; 38 | float m_dummyFive; 39 | float m_dummySix; 40 | float m_dummySeven; 41 | float m_dummyEight; 42 | float m_dummyNine; 43 | float m_dummyTen; 44 | float m_dummyEleven; 45 | float m_dummyTwelve; 46 | float m_dummyThirteen; 47 | float m_dummyFourteen; 48 | float m_dummyFifteen; 49 | float m_dummySixteen; 50 | }; 51 | 52 | 53 | #endif 54 | --------------------------------------------------------------------------------