├── .gitattributes ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md ├── .gitignore ├── .installer ├── RMSKIN.bmp ├── RMSKIN.psd └── plugins │ ├── x32 │ ├── Chameleon.dll │ ├── GPMDPPlugin.dll │ ├── Mouse.dll │ ├── SysColor.dll │ └── WebNowPlaying.dll │ └── x64 │ ├── Chameleon.dll │ ├── GPMDPPlugin.dll │ ├── Mouse.dll │ ├── SysColor.dll │ └── WebNowPlaying.dll ├── @Resources ├── addons │ └── RainRGB4.exe ├── fonts │ ├── Montserrat-Bold.otf │ ├── Montserrat-Light.otf │ ├── Montserrat-Regular.otf │ └── Montserrat-SemiBold.otf ├── images │ ├── GPM_logo.png │ ├── WebNowPlaying_logo.png │ ├── arrow_right.png │ ├── checkbox.png │ ├── checkbox_empty.png │ ├── next.png │ ├── nocover.png │ ├── pause.png │ ├── play.png │ └── previous.png ├── include │ ├── MeasureBands.inc │ ├── MeasureBandsSmoothed.inc │ ├── MeasureMediaGPMDP.inc │ ├── MeasureMediaNowPlaying.inc │ ├── MeasureMediaWeb.inc │ ├── MeasureRotate.inc │ ├── MeasureStyling.inc │ ├── MeasureUpdateChecker.inc │ ├── MeterBars.inc │ ├── MeterProgressBar.inc │ ├── MeterSettingsMenu.inc │ └── MeterShadowBars.inc ├── scripts │ ├── AudioDeviceList.lua │ ├── Factory.lua │ ├── Refresher.lua │ └── Rotate.lua └── variables.ini ├── Background └── background.ini ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── Settings ├── general.ini ├── mediaplayer.ini ├── misc │ ├── Intro.ini │ ├── devicelist │ │ └── GetAudioDevices.ini │ ├── init │ │ └── InitializeSkin.ini │ └── update │ │ └── UpdateInfo.ini ├── styling.ini └── visualizer.ini ├── Song Information ├── Cover │ └── Cover.ini ├── Left.ini └── Right.ini └── visualizer.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | *.ini diff 19 | *.INI diff 20 | 21 | # Fix incorrect language encoding 22 | *.ini linguist-language=INI 23 | *.INI linguist-language=INI 24 | *.inc linguist-language=INI 25 | *.INC linguist-language=INI 26 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | [ **IMPORTANT: Please remove or replace everything between two square brackets ( [ ] ) before posting your issue.** ] 11 | 12 | ### Describe the bug 13 | [ Please explain your problem here, tell all the step you've taken and how you found the issue. ] 14 | 15 | ### To Reproduce 16 | [ Add steps to reproduce your problem ] 17 | 18 | ### Screenshots 19 | [ If applicable, add screenshots to help explain your problem. ] 20 | 21 | ### System information 22 | * **Rainmeter Version:** [You can check this here: https://docs.rainmeter.net/manual/user-interface/about/#VersionTab] 23 | * **OS Version:** [You can check this here: https://docs.rainmeter.net/manual/user-interface/about/#VersionTab] 24 | * **Skin Version:** [You can check this here: Right-Click the Skin -> Open variables file. It should be at the top of the file] 25 | * **Spotify Version:** [You can check this here: https://docs.rainmeter.net/manual/user-interface/about/#PluginsTab] 26 | 27 | ### Additional context / media 28 | [ Add any other context or screenshots about the problem here. ] 29 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Problems with Spotify (spicetify-cli) integration? 4 | url: https://github.com/khanhas/spicetify-cli/issues 5 | about: Please visit the spicetify-cli repo to report issues & get help about the Spotify integration. 6 | 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: request 6 | assignees: '' 7 | 8 | --- 9 | 10 | [ **IMPORTANT: Please remove or replace everything between two square brackets ( [ ] ) before posting your issue.** ] 11 | 12 | ### Is your feature request related to a problem? Please describe. 13 | [ A clear and concise description of what the problem is. Ex. I'm always frustrated when... ] 14 | 15 | ### Describe the solution you'd like 16 | [ A clear and concise description of what you want to happen. ] 17 | 18 | ### Describe alternatives you've considered 19 | [ A clear and concise description of any alternative solutions or features you've considered. ] 20 | 21 | ### Additional context 22 | [ Add any other context or screenshots about the feature request here. ] 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | @Resources/images/cover.png 49 | rainmeter.txt 50 | @Resources/images/cover.png 51 | @Resources/images/cover.png 52 | @Resources/images/coverGPMDP.png 53 | @Resources/images/coverSpotify.png 54 | @Resources/images/coverWeb.png 55 | -------------------------------------------------------------------------------- /.installer/RMSKIN.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/RMSKIN.bmp -------------------------------------------------------------------------------- /.installer/RMSKIN.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/RMSKIN.psd -------------------------------------------------------------------------------- /.installer/plugins/x32/Chameleon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x32/Chameleon.dll -------------------------------------------------------------------------------- /.installer/plugins/x32/GPMDPPlugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x32/GPMDPPlugin.dll -------------------------------------------------------------------------------- /.installer/plugins/x32/Mouse.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x32/Mouse.dll -------------------------------------------------------------------------------- /.installer/plugins/x32/SysColor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x32/SysColor.dll -------------------------------------------------------------------------------- /.installer/plugins/x32/WebNowPlaying.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x32/WebNowPlaying.dll -------------------------------------------------------------------------------- /.installer/plugins/x64/Chameleon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x64/Chameleon.dll -------------------------------------------------------------------------------- /.installer/plugins/x64/GPMDPPlugin.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x64/GPMDPPlugin.dll -------------------------------------------------------------------------------- /.installer/plugins/x64/Mouse.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x64/Mouse.dll -------------------------------------------------------------------------------- /.installer/plugins/x64/SysColor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x64/SysColor.dll -------------------------------------------------------------------------------- /.installer/plugins/x64/WebNowPlaying.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/.installer/plugins/x64/WebNowPlaying.dll -------------------------------------------------------------------------------- /@Resources/addons/RainRGB4.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/addons/RainRGB4.exe -------------------------------------------------------------------------------- /@Resources/fonts/Montserrat-Bold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/fonts/Montserrat-Bold.otf -------------------------------------------------------------------------------- /@Resources/fonts/Montserrat-Light.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/fonts/Montserrat-Light.otf -------------------------------------------------------------------------------- /@Resources/fonts/Montserrat-Regular.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/fonts/Montserrat-Regular.otf -------------------------------------------------------------------------------- /@Resources/fonts/Montserrat-SemiBold.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/fonts/Montserrat-SemiBold.otf -------------------------------------------------------------------------------- /@Resources/images/GPM_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/GPM_logo.png -------------------------------------------------------------------------------- /@Resources/images/WebNowPlaying_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/WebNowPlaying_logo.png -------------------------------------------------------------------------------- /@Resources/images/arrow_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/arrow_right.png -------------------------------------------------------------------------------- /@Resources/images/checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/checkbox.png -------------------------------------------------------------------------------- /@Resources/images/checkbox_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/checkbox_empty.png -------------------------------------------------------------------------------- /@Resources/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/next.png -------------------------------------------------------------------------------- /@Resources/images/nocover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/nocover.png -------------------------------------------------------------------------------- /@Resources/images/pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/pause.png -------------------------------------------------------------------------------- /@Resources/images/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/play.png -------------------------------------------------------------------------------- /@Resources/images/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/marcopixel/monstercat-visualizer/553aa755ef0cc394259fb1a55560f1b31864d2e0/@Resources/images/previous.png -------------------------------------------------------------------------------- /@Resources/include/MeasureBands.inc: -------------------------------------------------------------------------------- 1 | [MeasureAudioRaw0] 2 | Measure=Plugin 3 | Plugin=AudioLevel 4 | Parent=MeasureAudio 5 | Type=Band 6 | BandIdx=1 7 | Channel=Avg 8 | Group=RawAudioMeasures 9 | 10 | [MeasureAudioRaw1] 11 | Measure=Plugin 12 | Plugin=AudioLevel 13 | Parent=MeasureAudio 14 | Type=Band 15 | BandIdx=2 16 | Channel=Avg 17 | Group=RawAudioMeasures 18 | 19 | [MeasureAudioRaw2] 20 | Measure=Plugin 21 | Plugin=AudioLevel 22 | Parent=MeasureAudio 23 | Type=Band 24 | BandIdx=3 25 | Channel=Avg 26 | Group=RawAudioMeasures 27 | 28 | [MeasureAudioRaw3] 29 | Measure=Plugin 30 | Plugin=AudioLevel 31 | Parent=MeasureAudio 32 | Type=Band 33 | BandIdx=4 34 | Channel=Avg 35 | Group=RawAudioMeasures 36 | 37 | [MeasureAudioRaw4] 38 | Measure=Plugin 39 | Plugin=AudioLevel 40 | Parent=MeasureAudio 41 | Type=Band 42 | BandIdx=5 43 | Channel=Avg 44 | Group=RawAudioMeasures 45 | 46 | [MeasureAudioRaw5] 47 | Measure=Plugin 48 | Plugin=AudioLevel 49 | Parent=MeasureAudio 50 | Type=Band 51 | BandIdx=6 52 | Channel=Avg 53 | Group=RawAudioMeasures 54 | 55 | [MeasureAudioRaw6] 56 | Measure=Plugin 57 | Plugin=AudioLevel 58 | Parent=MeasureAudio 59 | Type=Band 60 | BandIdx=7 61 | Channel=Avg 62 | Group=RawAudioMeasures 63 | 64 | [MeasureAudioRaw7] 65 | Measure=Plugin 66 | Plugin=AudioLevel 67 | Parent=MeasureAudio 68 | Type=Band 69 | BandIdx=8 70 | Channel=Avg 71 | Group=RawAudioMeasures 72 | 73 | [MeasureAudioRaw8] 74 | Measure=Plugin 75 | Plugin=AudioLevel 76 | Parent=MeasureAudio 77 | Type=Band 78 | BandIdx=9 79 | Channel=Avg 80 | Group=RawAudioMeasures 81 | 82 | [MeasureAudioRaw9] 83 | Measure=Plugin 84 | Plugin=AudioLevel 85 | Parent=MeasureAudio 86 | Type=Band 87 | BandIdx=10 88 | Channel=Avg 89 | Group=RawAudioMeasures 90 | 91 | [MeasureAudioRaw10] 92 | Measure=Plugin 93 | Plugin=AudioLevel 94 | Parent=MeasureAudio 95 | Type=Band 96 | BandIdx=11 97 | Channel=Avg 98 | Group=RawAudioMeasures 99 | 100 | [MeasureAudioRaw11] 101 | Measure=Plugin 102 | Plugin=AudioLevel 103 | Parent=MeasureAudio 104 | Type=Band 105 | BandIdx=12 106 | Channel=Avg 107 | Group=RawAudioMeasures 108 | 109 | [MeasureAudioRaw12] 110 | Measure=Plugin 111 | Plugin=AudioLevel 112 | Parent=MeasureAudio 113 | Type=Band 114 | BandIdx=13 115 | Channel=Avg 116 | Group=RawAudioMeasures 117 | 118 | [MeasureAudioRaw13] 119 | Measure=Plugin 120 | Plugin=AudioLevel 121 | Parent=MeasureAudio 122 | Type=Band 123 | BandIdx=14 124 | Channel=Avg 125 | Group=RawAudioMeasures 126 | 127 | [MeasureAudioRaw14] 128 | Measure=Plugin 129 | Plugin=AudioLevel 130 | Parent=MeasureAudio 131 | Type=Band 132 | BandIdx=15 133 | Channel=Avg 134 | Group=RawAudioMeasures 135 | 136 | [MeasureAudioRaw15] 137 | Measure=Plugin 138 | Plugin=AudioLevel 139 | Parent=MeasureAudio 140 | Type=Band 141 | BandIdx=16 142 | Channel=Avg 143 | Group=RawAudioMeasures 144 | 145 | [MeasureAudioRaw16] 146 | Measure=Plugin 147 | Plugin=AudioLevel 148 | Parent=MeasureAudio 149 | Type=Band 150 | BandIdx=17 151 | Channel=Avg 152 | Group=RawAudioMeasures 153 | 154 | [MeasureAudioRaw17] 155 | Measure=Plugin 156 | Plugin=AudioLevel 157 | Parent=MeasureAudio 158 | Type=Band 159 | BandIdx=18 160 | Channel=Avg 161 | Group=RawAudioMeasures 162 | 163 | [MeasureAudioRaw18] 164 | Measure=Plugin 165 | Plugin=AudioLevel 166 | Parent=MeasureAudio 167 | Type=Band 168 | BandIdx=19 169 | Channel=Avg 170 | Group=RawAudioMeasures 171 | 172 | [MeasureAudioRaw19] 173 | Measure=Plugin 174 | Plugin=AudioLevel 175 | Parent=MeasureAudio 176 | Type=Band 177 | BandIdx=20 178 | Channel=Avg 179 | Group=RawAudioMeasures 180 | 181 | [MeasureAudioRaw20] 182 | Measure=Plugin 183 | Plugin=AudioLevel 184 | Parent=MeasureAudio 185 | Type=Band 186 | BandIdx=21 187 | Channel=Avg 188 | Group=RawAudioMeasures 189 | 190 | [MeasureAudioRaw21] 191 | Measure=Plugin 192 | Plugin=AudioLevel 193 | Parent=MeasureAudio 194 | Type=Band 195 | BandIdx=22 196 | Channel=Avg 197 | Group=RawAudioMeasures 198 | 199 | [MeasureAudioRaw22] 200 | Measure=Plugin 201 | Plugin=AudioLevel 202 | Parent=MeasureAudio 203 | Type=Band 204 | BandIdx=23 205 | Channel=Avg 206 | Group=RawAudioMeasures 207 | 208 | [MeasureAudioRaw23] 209 | Measure=Plugin 210 | Plugin=AudioLevel 211 | Parent=MeasureAudio 212 | Type=Band 213 | BandIdx=24 214 | Channel=Avg 215 | Group=RawAudioMeasures 216 | 217 | [MeasureAudioRaw24] 218 | Measure=Plugin 219 | Plugin=AudioLevel 220 | Parent=MeasureAudio 221 | Type=Band 222 | BandIdx=25 223 | Channel=Avg 224 | Group=RawAudioMeasures 225 | 226 | [MeasureAudioRaw25] 227 | Measure=Plugin 228 | Plugin=AudioLevel 229 | Parent=MeasureAudio 230 | Type=Band 231 | BandIdx=26 232 | Channel=Avg 233 | Group=RawAudioMeasures 234 | 235 | [MeasureAudioRaw26] 236 | Measure=Plugin 237 | Plugin=AudioLevel 238 | Parent=MeasureAudio 239 | Type=Band 240 | BandIdx=27 241 | Channel=Avg 242 | Group=RawAudioMeasures 243 | 244 | [MeasureAudioRaw27] 245 | Measure=Plugin 246 | Plugin=AudioLevel 247 | Parent=MeasureAudio 248 | Type=Band 249 | BandIdx=28 250 | Channel=Avg 251 | Group=RawAudioMeasures 252 | 253 | [MeasureAudioRaw28] 254 | Measure=Plugin 255 | Plugin=AudioLevel 256 | Parent=MeasureAudio 257 | Type=Band 258 | BandIdx=29 259 | Channel=Avg 260 | Group=RawAudioMeasures 261 | 262 | [MeasureAudioRaw29] 263 | Measure=Plugin 264 | Plugin=AudioLevel 265 | Parent=MeasureAudio 266 | Type=Band 267 | BandIdx=30 268 | Channel=Avg 269 | Group=RawAudioMeasures 270 | 271 | [MeasureAudioRaw30] 272 | Measure=Plugin 273 | Plugin=AudioLevel 274 | Parent=MeasureAudio 275 | Type=Band 276 | BandIdx=31 277 | Channel=Avg 278 | Group=RawAudioMeasures 279 | 280 | [MeasureAudioRaw31] 281 | Measure=Plugin 282 | Plugin=AudioLevel 283 | Parent=MeasureAudio 284 | Type=Band 285 | BandIdx=32 286 | Channel=Avg 287 | Group=RawAudioMeasures 288 | 289 | [MeasureAudioRaw32] 290 | Measure=Plugin 291 | Plugin=AudioLevel 292 | Parent=MeasureAudio 293 | Type=Band 294 | BandIdx=33 295 | Channel=Avg 296 | Group=RawAudioMeasures 297 | 298 | [MeasureAudioRaw33] 299 | Measure=Plugin 300 | Plugin=AudioLevel 301 | Parent=MeasureAudio 302 | Type=Band 303 | BandIdx=34 304 | Channel=Avg 305 | Group=RawAudioMeasures 306 | 307 | [MeasureAudioRaw34] 308 | Measure=Plugin 309 | Plugin=AudioLevel 310 | Parent=MeasureAudio 311 | Type=Band 312 | BandIdx=35 313 | Channel=Avg 314 | Group=RawAudioMeasures 315 | 316 | [MeasureAudioRaw35] 317 | Measure=Plugin 318 | Plugin=AudioLevel 319 | Parent=MeasureAudio 320 | Type=Band 321 | BandIdx=36 322 | Channel=Avg 323 | Group=RawAudioMeasures 324 | 325 | [MeasureAudioRaw36] 326 | Measure=Plugin 327 | Plugin=AudioLevel 328 | Parent=MeasureAudio 329 | Type=Band 330 | BandIdx=37 331 | Channel=Avg 332 | Group=RawAudioMeasures 333 | 334 | [MeasureAudioRaw37] 335 | Measure=Plugin 336 | Plugin=AudioLevel 337 | Parent=MeasureAudio 338 | Type=Band 339 | BandIdx=38 340 | Channel=Avg 341 | Group=RawAudioMeasures 342 | 343 | [MeasureAudioRaw38] 344 | Measure=Plugin 345 | Plugin=AudioLevel 346 | Parent=MeasureAudio 347 | Type=Band 348 | BandIdx=39 349 | Channel=Avg 350 | Group=RawAudioMeasures 351 | 352 | [MeasureAudioRaw39] 353 | Measure=Plugin 354 | Plugin=AudioLevel 355 | Parent=MeasureAudio 356 | Type=Band 357 | BandIdx=40 358 | Channel=Avg 359 | Group=RawAudioMeasures 360 | 361 | [MeasureAudioRaw40] 362 | Measure=Plugin 363 | Plugin=AudioLevel 364 | Parent=MeasureAudio 365 | Type=Band 366 | BandIdx=41 367 | Channel=Avg 368 | Group=RawAudioMeasures 369 | 370 | [MeasureAudioRaw41] 371 | Measure=Plugin 372 | Plugin=AudioLevel 373 | Parent=MeasureAudio 374 | Type=Band 375 | BandIdx=42 376 | Channel=Avg 377 | Group=RawAudioMeasures 378 | 379 | [MeasureAudioRaw42] 380 | Measure=Plugin 381 | Plugin=AudioLevel 382 | Parent=MeasureAudio 383 | Type=Band 384 | BandIdx=43 385 | Channel=Avg 386 | Group=RawAudioMeasures 387 | 388 | [MeasureAudioRaw43] 389 | Measure=Plugin 390 | Plugin=AudioLevel 391 | Parent=MeasureAudio 392 | Type=Band 393 | BandIdx=44 394 | Channel=Avg 395 | Group=RawAudioMeasures 396 | 397 | [MeasureAudioRaw44] 398 | Measure=Plugin 399 | Plugin=AudioLevel 400 | Parent=MeasureAudio 401 | Type=Band 402 | BandIdx=45 403 | Channel=Avg 404 | Group=RawAudioMeasures 405 | 406 | [MeasureAudioRaw45] 407 | Measure=Plugin 408 | Plugin=AudioLevel 409 | Parent=MeasureAudio 410 | Type=Band 411 | BandIdx=46 412 | Channel=Avg 413 | Group=RawAudioMeasures 414 | 415 | [MeasureAudioRaw46] 416 | Measure=Plugin 417 | Plugin=AudioLevel 418 | Parent=MeasureAudio 419 | Type=Band 420 | BandIdx=47 421 | Channel=Avg 422 | Group=RawAudioMeasures 423 | 424 | [MeasureAudioRaw47] 425 | Measure=Plugin 426 | Plugin=AudioLevel 427 | Parent=MeasureAudio 428 | Type=Band 429 | BandIdx=48 430 | Channel=Avg 431 | Group=RawAudioMeasures 432 | 433 | [MeasureAudioRaw48] 434 | Measure=Plugin 435 | Plugin=AudioLevel 436 | Parent=MeasureAudio 437 | Type=Band 438 | BandIdx=49 439 | Channel=Avg 440 | Group=RawAudioMeasures 441 | 442 | [MeasureAudioRaw49] 443 | Measure=Plugin 444 | Plugin=AudioLevel 445 | Parent=MeasureAudio 446 | Type=Band 447 | BandIdx=50 448 | Channel=Avg 449 | Group=RawAudioMeasures 450 | 451 | [MeasureAudioRaw50] 452 | Measure=Plugin 453 | Plugin=AudioLevel 454 | Parent=MeasureAudio 455 | Type=Band 456 | BandIdx=51 457 | Channel=Avg 458 | Group=RawAudioMeasures 459 | 460 | [MeasureAudioRaw51] 461 | Measure=Plugin 462 | Plugin=AudioLevel 463 | Parent=MeasureAudio 464 | Type=Band 465 | BandIdx=52 466 | Channel=Avg 467 | Group=RawAudioMeasures 468 | 469 | [MeasureAudioRaw52] 470 | Measure=Plugin 471 | Plugin=AudioLevel 472 | Parent=MeasureAudio 473 | Type=Band 474 | BandIdx=53 475 | Channel=Avg 476 | Group=RawAudioMeasures 477 | 478 | [MeasureAudioRaw53] 479 | Measure=Plugin 480 | Plugin=AudioLevel 481 | Parent=MeasureAudio 482 | Type=Band 483 | BandIdx=54 484 | Channel=Avg 485 | Group=RawAudioMeasures 486 | 487 | [MeasureAudioRaw54] 488 | Measure=Plugin 489 | Plugin=AudioLevel 490 | Parent=MeasureAudio 491 | Type=Band 492 | BandIdx=55 493 | Channel=Avg 494 | Group=RawAudioMeasures 495 | 496 | [MeasureAudioRaw55] 497 | Measure=Plugin 498 | Plugin=AudioLevel 499 | Parent=MeasureAudio 500 | Type=Band 501 | BandIdx=56 502 | Channel=Avg 503 | Group=RawAudioMeasures 504 | 505 | [MeasureAudioRaw56] 506 | Measure=Plugin 507 | Plugin=AudioLevel 508 | Parent=MeasureAudio 509 | Type=Band 510 | BandIdx=57 511 | Channel=Avg 512 | Group=RawAudioMeasures 513 | 514 | [MeasureAudioRaw57] 515 | Measure=Plugin 516 | Plugin=AudioLevel 517 | Parent=MeasureAudio 518 | Type=Band 519 | BandIdx=58 520 | Channel=Avg 521 | Group=RawAudioMeasures 522 | 523 | [MeasureAudioRaw58] 524 | Measure=Plugin 525 | Plugin=AudioLevel 526 | Parent=MeasureAudio 527 | Type=Band 528 | BandIdx=59 529 | Channel=Avg 530 | Group=RawAudioMeasures 531 | 532 | [MeasureAudioRaw59] 533 | Measure=Plugin 534 | Plugin=AudioLevel 535 | Parent=MeasureAudio 536 | Type=Band 537 | BandIdx=60 538 | Channel=Avg 539 | Group=RawAudioMeasures 540 | 541 | [MeasureAudioRaw60] 542 | Measure=Plugin 543 | Plugin=AudioLevel 544 | Parent=MeasureAudio 545 | Type=Band 546 | BandIdx=61 547 | Channel=Avg 548 | Group=RawAudioMeasures 549 | 550 | [MeasureAudioRaw61] 551 | Measure=Plugin 552 | Plugin=AudioLevel 553 | Parent=MeasureAudio 554 | Type=Band 555 | BandIdx=62 556 | Channel=Avg 557 | Group=RawAudioMeasures 558 | 559 | [MeasureAudioRaw62] 560 | Measure=Plugin 561 | Plugin=AudioLevel 562 | Parent=MeasureAudio 563 | Type=Band 564 | BandIdx=63 565 | Channel=Avg 566 | Group=RawAudioMeasures 567 | 568 | [MeasureAudioRaw63] 569 | Measure=Plugin 570 | Plugin=AudioLevel 571 | Parent=MeasureAudio 572 | Type=Band 573 | BandIdx=64 574 | Channel=Avg 575 | Group=RawAudioMeasures 576 | 577 | [MeasureAudioRaw64] 578 | Measure=Plugin 579 | Plugin=AudioLevel 580 | Parent=MeasureAudio 581 | Type=Band 582 | BandIdx=65 583 | Channel=Avg 584 | Group=RawAudioMeasures 585 | 586 | [MeasureAudioRaw65] 587 | Measure=Plugin 588 | Plugin=AudioLevel 589 | Parent=MeasureAudio 590 | Type=Band 591 | BandIdx=66 592 | Channel=Avg 593 | Group=RawAudioMeasures 594 | 595 | [MeasureAudioRaw66] 596 | Measure=Plugin 597 | Plugin=AudioLevel 598 | Parent=MeasureAudio 599 | Type=Band 600 | BandIdx=67 601 | Channel=Avg 602 | Group=RawAudioMeasures 603 | 604 | [MeasureAudioRaw67] 605 | Measure=Plugin 606 | Plugin=AudioLevel 607 | Parent=MeasureAudio 608 | Type=Band 609 | BandIdx=68 610 | Channel=Avg 611 | Group=RawAudioMeasures 612 | 613 | [MeasureAudioRaw68] 614 | Measure=Plugin 615 | Plugin=AudioLevel 616 | Parent=MeasureAudio 617 | Type=Band 618 | BandIdx=69 619 | Channel=Avg 620 | Group=RawAudioMeasures 621 | 622 | [MeasureAudioRaw69] 623 | Measure=Plugin 624 | Plugin=AudioLevel 625 | Parent=MeasureAudio 626 | Type=Band 627 | BandIdx=70 628 | Channel=Avg 629 | Group=RawAudioMeasures 630 | 631 | [MeasureAudioRaw70] 632 | Measure=Plugin 633 | Plugin=AudioLevel 634 | Parent=MeasureAudio 635 | Type=Band 636 | BandIdx=71 637 | Channel=Avg 638 | Group=RawAudioMeasures 639 | 640 | [MeasureAudioRaw71] 641 | Measure=Plugin 642 | Plugin=AudioLevel 643 | Parent=MeasureAudio 644 | Type=Band 645 | BandIdx=72 646 | Channel=Avg 647 | Group=RawAudioMeasures 648 | 649 | [MeasureAudioRaw72] 650 | Measure=Plugin 651 | Plugin=AudioLevel 652 | Parent=MeasureAudio 653 | Type=Band 654 | BandIdx=73 655 | Channel=Avg 656 | Group=RawAudioMeasures 657 | 658 | [MeasureAudioRaw73] 659 | Measure=Plugin 660 | Plugin=AudioLevel 661 | Parent=MeasureAudio 662 | Type=Band 663 | BandIdx=74 664 | Channel=Avg 665 | Group=RawAudioMeasures 666 | 667 | [MeasureAudioRaw74] 668 | Measure=Plugin 669 | Plugin=AudioLevel 670 | Parent=MeasureAudio 671 | Type=Band 672 | BandIdx=75 673 | Channel=Avg 674 | Group=RawAudioMeasures 675 | 676 | [MeasureAudioRaw75] 677 | Measure=Plugin 678 | Plugin=AudioLevel 679 | Parent=MeasureAudio 680 | Type=Band 681 | BandIdx=76 682 | Channel=Avg 683 | Group=RawAudioMeasures 684 | 685 | [MeasureAudioRaw76] 686 | Measure=Plugin 687 | Plugin=AudioLevel 688 | Parent=MeasureAudio 689 | Type=Band 690 | BandIdx=77 691 | Channel=Avg 692 | Group=RawAudioMeasures 693 | 694 | [MeasureAudioRaw77] 695 | Measure=Plugin 696 | Plugin=AudioLevel 697 | Parent=MeasureAudio 698 | Type=Band 699 | BandIdx=78 700 | Channel=Avg 701 | Group=RawAudioMeasures 702 | 703 | [MeasureAudioRaw78] 704 | Measure=Plugin 705 | Plugin=AudioLevel 706 | Parent=MeasureAudio 707 | Type=Band 708 | BandIdx=79 709 | Channel=Avg 710 | Group=RawAudioMeasures 711 | 712 | [MeasureAudioRaw79] 713 | Measure=Plugin 714 | Plugin=AudioLevel 715 | Parent=MeasureAudio 716 | Type=Band 717 | BandIdx=80 718 | Channel=Avg 719 | Group=RawAudioMeasures 720 | 721 | [MeasureAudioRaw80] 722 | Measure=Plugin 723 | Plugin=AudioLevel 724 | Parent=MeasureAudio 725 | Type=Band 726 | BandIdx=81 727 | Channel=Avg 728 | Group=RawAudioMeasures 729 | 730 | [MeasureAudioRaw81] 731 | Measure=Plugin 732 | Plugin=AudioLevel 733 | Parent=MeasureAudio 734 | Type=Band 735 | BandIdx=82 736 | Channel=Avg 737 | Group=RawAudioMeasures 738 | 739 | [MeasureAudioRaw82] 740 | Measure=Plugin 741 | Plugin=AudioLevel 742 | Parent=MeasureAudio 743 | Type=Band 744 | BandIdx=83 745 | Channel=Avg 746 | Group=RawAudioMeasures 747 | 748 | [MeasureAudioRaw83] 749 | Measure=Plugin 750 | Plugin=AudioLevel 751 | Parent=MeasureAudio 752 | Type=Band 753 | BandIdx=84 754 | Channel=Avg 755 | Group=RawAudioMeasures 756 | 757 | [MeasureAudioRaw84] 758 | Measure=Plugin 759 | Plugin=AudioLevel 760 | Parent=MeasureAudio 761 | Type=Band 762 | BandIdx=85 763 | Channel=Avg 764 | Group=RawAudioMeasures 765 | 766 | [MeasureAudioRaw85] 767 | Measure=Plugin 768 | Plugin=AudioLevel 769 | Parent=MeasureAudio 770 | Type=Band 771 | BandIdx=86 772 | Channel=Avg 773 | Group=RawAudioMeasures 774 | 775 | [MeasureAudioRaw86] 776 | Measure=Plugin 777 | Plugin=AudioLevel 778 | Parent=MeasureAudio 779 | Type=Band 780 | BandIdx=87 781 | Channel=Avg 782 | Group=RawAudioMeasures 783 | 784 | [MeasureAudioRaw87] 785 | Measure=Plugin 786 | Plugin=AudioLevel 787 | Parent=MeasureAudio 788 | Type=Band 789 | BandIdx=88 790 | Channel=Avg 791 | Group=RawAudioMeasures 792 | 793 | [MeasureAudioRaw88] 794 | Measure=Plugin 795 | Plugin=AudioLevel 796 | Parent=MeasureAudio 797 | Type=Band 798 | BandIdx=89 799 | Channel=Avg 800 | Group=RawAudioMeasures 801 | 802 | [MeasureAudioRaw89] 803 | Measure=Plugin 804 | Plugin=AudioLevel 805 | Parent=MeasureAudio 806 | Type=Band 807 | BandIdx=90 808 | Channel=Avg 809 | Group=RawAudioMeasures 810 | 811 | [MeasureAudioRaw90] 812 | Measure=Plugin 813 | Plugin=AudioLevel 814 | Parent=MeasureAudio 815 | Type=Band 816 | BandIdx=91 817 | Channel=Avg 818 | Group=RawAudioMeasures 819 | 820 | [MeasureAudioRaw91] 821 | Measure=Plugin 822 | Plugin=AudioLevel 823 | Parent=MeasureAudio 824 | Type=Band 825 | BandIdx=92 826 | Channel=Avg 827 | Group=RawAudioMeasures 828 | 829 | [MeasureAudioRaw92] 830 | Measure=Plugin 831 | Plugin=AudioLevel 832 | Parent=MeasureAudio 833 | Type=Band 834 | BandIdx=93 835 | Channel=Avg 836 | Group=RawAudioMeasures 837 | 838 | [MeasureAudioRaw93] 839 | Measure=Plugin 840 | Plugin=AudioLevel 841 | Parent=MeasureAudio 842 | Type=Band 843 | BandIdx=94 844 | Channel=Avg 845 | Group=RawAudioMeasures 846 | 847 | [MeasureAudioRaw94] 848 | Measure=Plugin 849 | Plugin=AudioLevel 850 | Parent=MeasureAudio 851 | Type=Band 852 | BandIdx=95 853 | Channel=Avg 854 | Group=RawAudioMeasures 855 | 856 | [MeasureAudioRaw95] 857 | Measure=Plugin 858 | Plugin=AudioLevel 859 | Parent=MeasureAudio 860 | Type=Band 861 | BandIdx=96 862 | Channel=Avg 863 | Group=RawAudioMeasures 864 | 865 | [MeasureAudioRaw96] 866 | Measure=Plugin 867 | Plugin=AudioLevel 868 | Parent=MeasureAudio 869 | Type=Band 870 | BandIdx=97 871 | Channel=Avg 872 | Group=RawAudioMeasures 873 | 874 | [MeasureAudioRaw97] 875 | Measure=Plugin 876 | Plugin=AudioLevel 877 | Parent=MeasureAudio 878 | Type=Band 879 | BandIdx=98 880 | Channel=Avg 881 | Group=RawAudioMeasures 882 | 883 | [MeasureAudioRaw98] 884 | Measure=Plugin 885 | Plugin=AudioLevel 886 | Parent=MeasureAudio 887 | Type=Band 888 | BandIdx=99 889 | Channel=Avg 890 | Group=RawAudioMeasures 891 | 892 | [MeasureAudioRaw99] 893 | Measure=Plugin 894 | Plugin=AudioLevel 895 | Parent=MeasureAudio 896 | Type=Band 897 | BandIdx=100 898 | Channel=Avg 899 | Group=RawAudioMeasures 900 | 901 | [MeasureAudioRaw100] 902 | Measure=Plugin 903 | Plugin=AudioLevel 904 | Parent=MeasureAudio 905 | Type=Band 906 | BandIdx=101 907 | Channel=Avg 908 | Group=RawAudioMeasures 909 | -------------------------------------------------------------------------------- /@Resources/include/MeasureMediaGPMDP.inc: -------------------------------------------------------------------------------- 1 | [MeasureState] 2 | Measure=Plugin 3 | Plugin=GPMDPPlugin 4 | PlayerInfo=State 5 | UpdateDivider=2 6 | 7 | [MeasureStateButton] 8 | Measure=Plugin 9 | Plugin=GPMDPPlugin 10 | PlayerInfo=State 11 | Substitute="0":"Play","1":"Pause","2":"Play" 12 | UpdateDivider=2 13 | 14 | [MeasureTrack] 15 | Measure=Plugin 16 | Plugin=GPMDPPlugin 17 | PlayerInfo=Title 18 | Substitute="":"#NoTrackNameText#" 19 | UpdateDivider=100 20 | 21 | [MeasureArtist] 22 | Measure=Plugin 23 | Plugin=GPMDPPlugin 24 | PlayerInfo=Artist 25 | Substitute="":"#NoArtistNameText#" 26 | UpdateDivider=100 27 | 28 | [MeasureCover] 29 | Measure=Plugin 30 | Plugin=GPMDPPlugin 31 | PlayerInfo=Cover 32 | DefaultPath=#@#images\nocover.png 33 | CoverPath=#@#images\coverGPMDP.png 34 | Substitute="":"#@#images\nocover.png" 35 | UpdateDivider=100 36 | 37 | [MeasurePosition] 38 | Measure=Plugin 39 | Plugin=GPMDPPlugin 40 | PlayerInfo=Position 41 | UpdateDivider=20 42 | 43 | [MeasureDuration] 44 | Measure=Plugin 45 | Plugin=GPMDPPlugin 46 | PlayerInfo=Duration 47 | UpdateDivider=20 48 | 49 | [MeasureProgress] 50 | Measure=Plugin 51 | Plugin=GPMDPPlugin 52 | PlayerInfo=Progress 53 | UpdateDivider=20 54 | 55 | [MeasureAutoHideGPMDP] 56 | Measure=Plugin 57 | Plugin=GPMDPPlugin 58 | PlayerInfo=Status 59 | IfBelowValue=1 60 | IfBelowAction=[!HideFadeGroup "Spectrum"][!HideFadeGroup "SongInfo"][!Log "AutoHide: GPMDP was closed, hiding skin"] 61 | IfAboveValue=0 62 | IfAboveAction=[!ShowFadeGroup "Spectrum"][!ShowFadeGroup "SongInfo"][!Log "AutoHide: GPMDP was opened, showing skin"] 63 | Disabled=(#EnableAutoHide# > 0 ? 0 : 1) 64 | UpdateDivider=100 -------------------------------------------------------------------------------- /@Resources/include/MeasureMediaNowPlaying.inc: -------------------------------------------------------------------------------- 1 | [MeasureState] 2 | Measure=NowPlaying 3 | PlayerName=#PlayerName# 4 | PlayerType=State 5 | UpdateDivider=2 6 | 7 | [MeasureStateButton] 8 | Measure=NowPlaying 9 | PlayerName=#PlayerName# 10 | PlayerType=State 11 | Substitute="0":"Play","1":"Pause","2":"Play" 12 | UpdateDivider=2 13 | 14 | [MeasureTrack] 15 | Measure=NowPlaying 16 | PlayerName=#PlayerName# 17 | PlayerType=Title 18 | Substitute="":"#NoTrackNameText#" 19 | UpdateDivider=100 20 | 21 | [MeasureArtist] 22 | Measure=NowPlaying 23 | PlayerName=#PlayerName# 24 | PlayerType=Artist 25 | Substitute="":"#NoArtistNameText#" 26 | UpdateDivider=100 27 | 28 | [MeasureCover] 29 | Measure=NowPlaying 30 | PlayerName=#PlayerName# 31 | PlayerType=Cover 32 | Substitute="":"#@#images\nocover.png" 33 | UpdateDivider=100 34 | 35 | [MeasurePosition] 36 | Measure=NowPlaying 37 | PlayerName=#PlayerName# 38 | PlayerType=Position 39 | UpdateDivider=20 40 | 41 | [MeasureDuration] 42 | Measure=NowPlaying 43 | PlayerName=#PlayerName# 44 | PlayerType=Duration 45 | UpdateDivider=20 46 | 47 | [MeasureProgress] 48 | Measure=NowPlaying 49 | PlayerName=#PlayerName# 50 | PlayerType=Progress 51 | UpdateDivider=20 52 | 53 | [MeasureAutoHideNowPlaying] 54 | Measure=NowPlaying 55 | PlayerName=#PlayerName# 56 | PlayerType=Status 57 | IfEqualValue=0 58 | IfEqualAction=[!HideFadeGroup "Spectrum"][!HideFadeGroup "SongInfo"][!Log "AutoHide: Media player was closed, hiding skin"] 59 | IfAboveValue=0 60 | IfAboveAction=[!ShowFadeGroup "Spectrum"][!ShowFadeGroup "SongInfo"][!Log "AutoHide: Media player was opened, showing skin"] 61 | Disabled=(#EnableAutoHide# > 0 ? 0 : 1) 62 | UpdateDivider=100 -------------------------------------------------------------------------------- /@Resources/include/MeasureMediaWeb.inc: -------------------------------------------------------------------------------- 1 | [MeasureState] 2 | Measure=Plugin 3 | Plugin=WebNowPlaying 4 | PlayerType=State 5 | UpdateDivider=2 6 | 7 | [MeasureStateButton] 8 | Measure=Plugin 9 | Plugin=WebNowPlaying 10 | PlayerType=State 11 | Substitute="0":"Play","1":"Pause","2":"Play" 12 | UpdateDivider=2 13 | 14 | [MeasureTrack] 15 | Measure=Plugin 16 | Plugin=WebNowPlaying 17 | PlayerType=Title 18 | Substitute="":"#NoTrackNameText#" 19 | UpdateDivider=100 20 | 21 | [MeasureArtist] 22 | Measure=Plugin 23 | Plugin=WebNowPlaying 24 | PlayerType=Artist 25 | Substitute="":"#NoArtistNameText#" 26 | UpdateDivider=100 27 | 28 | [MeasureCover] 29 | Measure=Plugin 30 | Plugin=WebNowPlaying 31 | PlayerType=Cover 32 | DefaultPath=#@#images\nocover.png 33 | CoverPath=#@#images\coverWeb.png 34 | Substitute="":"#@#images\nocover.png" 35 | UpdateDivider=100 36 | 37 | [MeasurePosition] 38 | Measure=Plugin 39 | Plugin=WebNowPlaying 40 | PlayerType=Position 41 | UpdateDivider=20 42 | 43 | [MeasureDuration] 44 | Measure=Plugin 45 | Plugin=WebNowPlaying 46 | PlayerType=Duration 47 | UpdateDivider=20 48 | 49 | [MeasureProgress] 50 | Measure=Plugin 51 | Plugin=WebNowPlaying 52 | PlayerType=Progress 53 | UpdateDivider=20 54 | 55 | [MeasureAutoHideWebNowPlaying] 56 | Measure=Plugin 57 | Plugin=WebNowPlaying 58 | PlayerType=Status 59 | IfBelowValue=1 60 | IfBelowAction=[!HideFadeGroup "Spectrum"][!HideFadeGroup "SongInfo"][!Log "AutoHide: WebNowPlaying was closed, hiding skin"] 61 | IfAboveValue=0 62 | IfAboveAction=[!ShowFadeGroup "Spectrum"][!ShowFadeGroup "SongInfo"][!Log "AutoHide: WebNowPlaying was opened, showing skin"] 63 | Disabled=(#EnableAutoHide# > 0 ? 0 : 1) 64 | UpdateDivider=100 -------------------------------------------------------------------------------- /@Resources/include/MeasureRotate.inc: -------------------------------------------------------------------------------- 1 | [Width] 2 | Measure=Calc 3 | Formula=(#SkinWidth#) 4 | Group=GroupMeasureRotate 5 | 6 | [Height] 7 | Measure=Calc 8 | Formula=(#BarHeight#) 9 | Group=GroupMeasureRotate 10 | 11 | [AbsSinWidth] 12 | Measure=Calc 13 | Formula=(Abs(Sin(#Angle#*PI/180)*Width)) 14 | Group=GroupMeasureRotate 15 | 16 | [AbsCosWidth] 17 | Measure=Calc 18 | Formula=(Abs(Cos(#Angle#*PI/180)*Width)) 19 | Group=GroupMeasureRotate 20 | 21 | [AbsSinHeight] 22 | Measure=Calc 23 | Formula=(Abs(Sin(#Angle#*PI/180)*Height)) 24 | Group=GroupMeasureRotate 25 | 26 | [AbsCosHeight] 27 | Measure=Calc 28 | Formula=(Abs(Cos(#Angle#*PI/180)*Height)) 29 | Group=GroupMeasureRotate 30 | 31 | ; The pivot point is always the top-left corner of the first meter 32 | ; The point of rotation (relative to the top-left corner of the skin window) is along the skin boundaries based on the angle 33 | [MoveX] 34 | Measure=Calc 35 | IfCondition=(((#Angle# > 0) && (#Angle# <= 45)) || ((#Angle# > 270) && (#Angle# <= 315))) 36 | IfTrueAction=[!SetOption MoveX Formula 0][!UpdateMeasure MoveX] 37 | IfCondition2=(((#Angle# > 45) && (#Angle# <= 90)) || ((#Angle# > 315) && (#Angle# < 360))) 38 | IfTrueAction2=[!SetOption MoveX Formula (AbsSinHeight)][!UpdateMeasure MoveX] 39 | IfCondition3=(((#Angle# > 90) && (#Angle# <= 135)) || ((#Angle# > 180) && (#Angle# <= 225))) 40 | IfTrueAction3=[!SetOption MoveX Formula (AbsSinHeight+AbsCosWidth)][!UpdateMeasure MoveX] 41 | IfCondition4=(((#Angle# > 135) && (#Angle# <= 180)) || ((#Angle# > 225) && (#Angle# <= 270))) 42 | IfTrueAction4=[!SetOption MoveX Formula (AbsCosWidth)][!UpdateMeasure MoveX] 43 | DynamicVariables=1 44 | Group=GroupMeasureRotate 45 | 46 | [MoveY] 47 | Measure=Calc 48 | IfCondition=(((#Angle# > 0) && (#Angle# <= 45)) || ((#Angle# > 90) && (#Angle# <= 135))) 49 | IfTrueAction=[!SetOption MoveY Formula (AbsSinWidth)][!UpdateMeasure MoveY] 50 | IfCondition2=(((#Angle# > 45) && (#Angle# <= 90)) || ((#Angle# > 135) && (#Angle# <= 180))) 51 | IfTrueAction2=[!SetOption MoveY Formula (AbsSinWidth+AbsCosHeight)][!UpdateMeasure MoveY] 52 | IfCondition3=(((#Angle# > 180) && (#Angle# <= 225)) || ((#Angle# > 270) && (#Angle# <= 315))) 53 | IfTrueAction3=[!SetOption MoveY Formula (AbsCosHeight)][!UpdateMeasure MoveY] 54 | IfCondition4=(((#Angle# > 225) && (#Angle# <= 270)) || ((#Angle# > 315) && (#Angle# < 360))) 55 | IfTrueAction4=[!SetOption MoveY Formula 0][!UpdateMeasure MoveY] 56 | DynamicVariables=1 57 | Group=GroupMeasureRotate 58 | 59 | ; 0 = X-axis, 1 = Y-axis 60 | [NearestAxis] 61 | Measure=Calc 62 | Formula=((((#Angle# > 45) && (#Angle# <= 135)) || ((#Angle# > 225) && (#Angle# <= 315))) ? 1 : 0) 63 | IfCondition=NearestAxis = 1 64 | IfTrueAction=[!WriteKeyValue Variables NearestAxis "1" "#@#Variables.ini"] 65 | IfFalseAction=[!WriteKeyValue Variables NearestAxis "0" "#@#Variables.ini"] 66 | DynamicVariables=1 67 | Group=GroupMeasureRotate 68 | 69 | ; Only antialias and set the matrix when the angle has changed 70 | [CheckRotation] 71 | Measure=Calc 72 | Formula=(((#Angle# = 0) || (#Angle# = 360)) ? 0 : 1) 73 | Group=GroupMeasureRotate 74 | 75 | ; Adjust rotation angle based on orientation 76 | [Angle] 77 | Measure=Calc 78 | Formula=(NearestAxis = 0 ? #Angle# : (#Angle# + 90)) 79 | Group=GroupMeasureRotate 80 | 81 | [Matrix] 82 | Measure=String 83 | String="(Cos([Angle]*PI/180));(-Sin([Angle]*PI/180));(Sin([Angle]*PI/180));(Cos([Angle]*PI/180));[MoveX];[MoveY]" 84 | DynamicVariables=1 85 | OnUpdateAction= 86 | Group=GroupMeasureRotate 87 | 88 | ; Reveal the transformation by expanding the skin window through an invisible meter 89 | [BoundingBox] 90 | Meter=Image 91 | W=([AbsCosWidth]+[AbsSinHeight]) 92 | H=([AbsSinWidth]+[AbsCosHeight]) 93 | DynamicVariables=1 94 | -------------------------------------------------------------------------------- /@Resources/include/MeasureStyling.inc: -------------------------------------------------------------------------------- 1 | [MeasureStaticColor] 2 | Measure=String 3 | String=#Color# 4 | UpdateDivider=-1 5 | 6 | [MeasureStaticColorText] 7 | Measure=String 8 | String=#TextColor# 9 | UpdateDivider=-1 10 | 11 | [MeasureGetCoverColor] 12 | Measure=Plugin 13 | Plugin=Chameleon 14 | Type=File 15 | Path=[MeasureCover] 16 | 17 | [MeasureCoverColor] 18 | Measure=Plugin 19 | Plugin=Chameleon 20 | Parent=MeasureGetCoverColor 21 | Format=Dec 22 | Color=Background1 23 | Substitute="":"#Color#" 24 | OnChangeAction=[!UpdateMeasure "CalcColors"] 25 | 26 | [MeasureWindowsColor] 27 | Measure=Plugin 28 | Plugin=SysColor 29 | DisplayType=RGB 30 | ColorType=DWM_COLOR 31 | OnChangeAction=[!UpdateMeasure "CalcColors"] 32 | 33 | [MeasureGenre] 34 | Measure=NowPlaying 35 | PlayerName=#PlayerName# 36 | PlayerType=Genre 37 | ; You can add your own genres here. 38 | ; Use | as dividier and replace spaces with \s (otherwise it won't work) 39 | ; Electro 40 | IfMatch=Electro 41 | IfMatchAction=[!SetVariable GenreColor "#Electro#"] 42 | ; Electronic/EDM 43 | IfMatch2=EDM|Electronic|Breaks|Chillout|Bounce|Chill|Techno 44 | IfMatchAction2=[!SetVariable GenreColor "#EDM#"] 45 | ; House/Progressive House 46 | IfMatch3=House|Electro\sHouse|Progressive\sHouse 47 | IfMatchAction3=[!SetVariable GenreColor "#House#"] 48 | ; Drum & Bass 49 | IfMatch4=Drum\s&\sBass|DnB 50 | IfMatchAction4=[!SetVariable GenreColor "#DnB#"] 51 | ; Dubstep 52 | IfMatch5=Dubstep 53 | IfMatchAction5=[!SetVariable GenreColor "#Dubstep#"] 54 | ; Drumstep 55 | IfMatch6=Drumstep|Halftime 56 | IfMatchAction6=[!SetVariable GenreColor "#Drumstep#"] 57 | ; Glitch Hop 58 | IfMatch7=Glitch\sHop|GlitchHop|Moombahton 59 | IfMatchAction7=[!SetVariable GenreColor "#GlitchHop#"] 60 | ; Trap 61 | IfMatch8=Trap 62 | IfMatchAction8=[!SetVariable GenreColor "#Trap#"] 63 | ; Trance 64 | IfMatch9=Trance|Deep\sHouse|Psytrance 65 | IfMatchAction9=[!SetVariable GenreColor "#Trance#"] 66 | ; Hard Dance 67 | IfMatch10=Hard\sDance|Hardcore|Happy\sHardcore 68 | IfMatchAction10=[!SetVariable GenreColor "#HardDance#"] 69 | ; Nu Disco/Indie Dance 70 | IfMatch11=Nu\sDisco|NuDisco|Disco|Indie\sDance|Electro\sSwing 71 | IfMatchAction11=[!SetVariable GenreColor "#NuDisco#"] 72 | ; Future Bass 73 | IfMatch12=Future|Future\sBass 74 | IfMatchAction12=[!SetVariable GenreColor "#FutureBass#"] 75 | ; Here is an example for an custom genre. Colors need to be rgb(a) values. 76 | IfMatch13=Mashup|Mash\sUp 77 | IfMatchAction13=[!SetVariable GenreColor "192,255,99"] 78 | Substitute="":"#Color#" 79 | OnChangeAction=[!UpdateMeasure "CalcColors"] 80 | Disabled=1 81 | 82 | [CalcColors] 83 | Measure=Calc 84 | IfConditionMode=1 85 | IfCondition= (#EnableDynamicColors# = 0) && (#EnableDynamicFontColors# = 0) 86 | IfTrueAction=[!SetVariable Color "[MeasureStaticColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 87 | IfCondition2= (#EnableDynamicColors# = 1) && (#EnableDynamicFontColors# = 0) 88 | IfTrueAction2=[!SetVariable Color "#GenreColor#"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 89 | IfCondition3= (#EnableDynamicColors# = 2) && (#EnableDynamicFontColors# = 0) 90 | IfTrueAction3=[!SetVariable Color "[MeasureCoverColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 91 | IfCondition4= (#EnableDynamicColors# = 3) && (#EnableDynamicFontColors# = 0) 92 | IfTrueAction4=[!SetVariable Color "[MeasureWindowsColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 93 | IfCondition5= (#EnableDynamicColors# = 0) && (#EnableDynamicFontColors# = 1) 94 | IfTrueAction5=[!SetVariable Color "[MeasureStaticColor]"][!SetVariable TextColor "[MeasureStaticColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 95 | IfCondition6= (#EnableDynamicColors# = 1) && (#EnableDynamicFontColors# = 1) 96 | IfTrueAction6=[!SetVariable Color "#GenreColor#"][!SetVariable TextColor "#GenreColor#"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 97 | IfCondition7= (#EnableDynamicColors# = 2) && (#EnableDynamicFontColors# = 1) 98 | IfTrueAction7=[!SetVariable Color "[MeasureCoverColor]"][!SetVariable TextColor "[MeasureCoverColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 99 | IfCondition8= (#EnableDynamicColors# = 3) && (#EnableDynamicFontColors# = 1) 100 | IfTrueAction8=[!SetVariable Color "[MeasureWindowsColor]"][!SetVariable TextColor "[MeasureWindowsColor]"][!SetOptionGroup GroupDynamicColors DynamicVariables "0"] 101 | UpdateDivider=-1 102 | DynamicVariables=1 103 | -------------------------------------------------------------------------------- /@Resources/include/MeasureUpdateChecker.inc: -------------------------------------------------------------------------------- 1 | ; https://api.github.com/repos/marcopixel/Monstercat-Visualizer/releases/latest 2 | 3 | ; Measure SetMediaPlayer - sets the media player and changes the MPMode variable to load the proper measures 4 | [MeasureSetMediaPlayer] 5 | Measure=String 6 | String=#PlayerName# 7 | IfMatch=GPMDP 8 | IfMatchAction=[!WriteKeyValue Variables MPMode GPMDP "#@#variables.ini"][!DisableMeasure MeasureGenre] 9 | IfMatch2=Web 10 | IfMatchAction2=[!WriteKeyValue Variables MPMode Web "#@#variables.ini"][!DisableMeasure MeasureGenre] 11 | IfNotMatchAction=[!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!EnableMeasure MeasureGenre] 12 | UpdateDivider=-1 13 | 14 | [MeasureWebParser] 15 | Measure=WebParser 16 | URL=https://github.com/MarcoPixel/Monstercat-Visualizer/releases/latest 17 | RegExp=(?siU)"/MarcoPixel/Monstercat-Visualizer/releases/tag/(.*)" 18 | FinishAction=[!EnableMeasure MeasureLatestVersion][!PauseMeasure MeasureWebParser][!PauseMeasure MeasureCurrentVersion] 19 | Disabled=#DisableUpdateNag# 20 | 21 | [MeasureCurrentVersion] 22 | Measure=String 23 | String=#Version# 24 | UpdateDivider=-1 25 | Disabled=#DisableUpdateNag# 26 | 27 | [MeasureLatestVersion] 28 | Measure=Plugin 29 | Plugin=WebParser 30 | URL=[MeasureWebParser] 31 | StringIndex=1 32 | IfMatch=[MeasureCurrentVersion:EscapeRegExp] 33 | IfMatchAction=[!PauseMeasure MeasureLatestVersion][!WriteKeyValue Variables LatestVersion [MeasureLatestVersion] "#@#Variables.ini"][!DeactivateConfig "#ROOTCONFIG#\settings\misc\update" "UpdateInfo.ini"] 34 | IfNotMatchAction=[!Log "Update avaliable, please download the newest version!"][!PauseMeasure MeasureLatestVersion][!WriteKeyValue Variables LatestVersion [MeasureLatestVersion] "#@#Variables.ini"][!ActivateConfig "#ROOTCONFIG#\settings\misc\update" "UpdateInfo.ini"] 35 | DynamicVariables=1 36 | Disabled=1 -------------------------------------------------------------------------------- /@Resources/include/MeterBars.inc: -------------------------------------------------------------------------------- 1 | [MeterBar0] 2 | Meter=BAR 3 | BarColor=#Color# 4 | Group=GroupBars 5 | MeasureName=MeasureAudioSmoothed0 6 | TransformationMatrix=[Matrix] 7 | [MeterBar1] 8 | Meter=BAR 9 | BarColor=#Color# 10 | Group=GroupBars 11 | MeasureName=MeasureAudioSmoothed1 12 | TransformationMatrix=[Matrix] 13 | [MeterBar2] 14 | Meter=BAR 15 | BarColor=#Color# 16 | Group=GroupBars 17 | MeasureName=MeasureAudioSmoothed2 18 | TransformationMatrix=[Matrix] 19 | [MeterBar3] 20 | Meter=BAR 21 | BarColor=#Color# 22 | Group=GroupBars 23 | MeasureName=MeasureAudioSmoothed3 24 | TransformationMatrix=[Matrix] 25 | [MeterBar4] 26 | Meter=BAR 27 | BarColor=#Color# 28 | Group=GroupBars 29 | MeasureName=MeasureAudioSmoothed4 30 | TransformationMatrix=[Matrix] 31 | [MeterBar5] 32 | Meter=BAR 33 | BarColor=#Color# 34 | Group=GroupBars 35 | MeasureName=MeasureAudioSmoothed5 36 | TransformationMatrix=[Matrix] 37 | [MeterBar6] 38 | Meter=BAR 39 | BarColor=#Color# 40 | Group=GroupBars 41 | MeasureName=MeasureAudioSmoothed6 42 | TransformationMatrix=[Matrix] 43 | [MeterBar7] 44 | Meter=BAR 45 | BarColor=#Color# 46 | Group=GroupBars 47 | MeasureName=MeasureAudioSmoothed7 48 | TransformationMatrix=[Matrix] 49 | [MeterBar8] 50 | Meter=BAR 51 | BarColor=#Color# 52 | Group=GroupBars 53 | MeasureName=MeasureAudioSmoothed8 54 | TransformationMatrix=[Matrix] 55 | [MeterBar9] 56 | Meter=BAR 57 | BarColor=#Color# 58 | Group=GroupBars 59 | MeasureName=MeasureAudioSmoothed9 60 | TransformationMatrix=[Matrix] 61 | [MeterBar10] 62 | Meter=BAR 63 | BarColor=#Color# 64 | Group=GroupBars 65 | MeasureName=MeasureAudioSmoothed10 66 | TransformationMatrix=[Matrix] 67 | [MeterBar11] 68 | Meter=BAR 69 | BarColor=#Color# 70 | Group=GroupBars 71 | MeasureName=MeasureAudioSmoothed11 72 | TransformationMatrix=[Matrix] 73 | [MeterBar12] 74 | Meter=BAR 75 | BarColor=#Color# 76 | Group=GroupBars 77 | MeasureName=MeasureAudioSmoothed12 78 | TransformationMatrix=[Matrix] 79 | [MeterBar13] 80 | Meter=BAR 81 | BarColor=#Color# 82 | Group=GroupBars 83 | MeasureName=MeasureAudioSmoothed13 84 | TransformationMatrix=[Matrix] 85 | [MeterBar14] 86 | Meter=BAR 87 | BarColor=#Color# 88 | Group=GroupBars 89 | MeasureName=MeasureAudioSmoothed14 90 | TransformationMatrix=[Matrix] 91 | [MeterBar15] 92 | Meter=BAR 93 | BarColor=#Color# 94 | Group=GroupBars 95 | MeasureName=MeasureAudioSmoothed15 96 | TransformationMatrix=[Matrix] 97 | [MeterBar16] 98 | Meter=BAR 99 | BarColor=#Color# 100 | Group=GroupBars 101 | MeasureName=MeasureAudioSmoothed16 102 | TransformationMatrix=[Matrix] 103 | [MeterBar17] 104 | Meter=BAR 105 | BarColor=#Color# 106 | Group=GroupBars 107 | MeasureName=MeasureAudioSmoothed17 108 | TransformationMatrix=[Matrix] 109 | [MeterBar18] 110 | Meter=BAR 111 | BarColor=#Color# 112 | Group=GroupBars 113 | MeasureName=MeasureAudioSmoothed18 114 | TransformationMatrix=[Matrix] 115 | [MeterBar19] 116 | Meter=BAR 117 | BarColor=#Color# 118 | Group=GroupBars 119 | MeasureName=MeasureAudioSmoothed19 120 | TransformationMatrix=[Matrix] 121 | [MeterBar20] 122 | Meter=BAR 123 | BarColor=#Color# 124 | Group=GroupBars 125 | MeasureName=MeasureAudioSmoothed20 126 | TransformationMatrix=[Matrix] 127 | [MeterBar21] 128 | Meter=BAR 129 | BarColor=#Color# 130 | Group=GroupBars 131 | MeasureName=MeasureAudioSmoothed21 132 | TransformationMatrix=[Matrix] 133 | [MeterBar22] 134 | Meter=BAR 135 | BarColor=#Color# 136 | Group=GroupBars 137 | MeasureName=MeasureAudioSmoothed22 138 | TransformationMatrix=[Matrix] 139 | [MeterBar23] 140 | Meter=BAR 141 | BarColor=#Color# 142 | Group=GroupBars 143 | MeasureName=MeasureAudioSmoothed23 144 | TransformationMatrix=[Matrix] 145 | [MeterBar24] 146 | Meter=BAR 147 | BarColor=#Color# 148 | Group=GroupBars 149 | MeasureName=MeasureAudioSmoothed24 150 | TransformationMatrix=[Matrix] 151 | [MeterBar25] 152 | Meter=BAR 153 | BarColor=#Color# 154 | Group=GroupBars 155 | MeasureName=MeasureAudioSmoothed25 156 | TransformationMatrix=[Matrix] 157 | [MeterBar26] 158 | Meter=BAR 159 | BarColor=#Color# 160 | Group=GroupBars 161 | MeasureName=MeasureAudioSmoothed26 162 | TransformationMatrix=[Matrix] 163 | [MeterBar27] 164 | Meter=BAR 165 | BarColor=#Color# 166 | Group=GroupBars 167 | MeasureName=MeasureAudioSmoothed27 168 | TransformationMatrix=[Matrix] 169 | [MeterBar28] 170 | Meter=BAR 171 | BarColor=#Color# 172 | Group=GroupBars 173 | MeasureName=MeasureAudioSmoothed28 174 | TransformationMatrix=[Matrix] 175 | [MeterBar29] 176 | Meter=BAR 177 | BarColor=#Color# 178 | Group=GroupBars 179 | MeasureName=MeasureAudioSmoothed29 180 | TransformationMatrix=[Matrix] 181 | [MeterBar30] 182 | Meter=BAR 183 | BarColor=#Color# 184 | Group=GroupBars 185 | MeasureName=MeasureAudioSmoothed30 186 | TransformationMatrix=[Matrix] 187 | [MeterBar31] 188 | Meter=BAR 189 | BarColor=#Color# 190 | Group=GroupBars 191 | MeasureName=MeasureAudioSmoothed31 192 | TransformationMatrix=[Matrix] 193 | [MeterBar32] 194 | Meter=BAR 195 | BarColor=#Color# 196 | Group=GroupBars 197 | MeasureName=MeasureAudioSmoothed32 198 | TransformationMatrix=[Matrix] 199 | [MeterBar33] 200 | Meter=BAR 201 | BarColor=#Color# 202 | Group=GroupBars 203 | MeasureName=MeasureAudioSmoothed33 204 | TransformationMatrix=[Matrix] 205 | [MeterBar34] 206 | Meter=BAR 207 | BarColor=#Color# 208 | Group=GroupBars 209 | MeasureName=MeasureAudioSmoothed34 210 | TransformationMatrix=[Matrix] 211 | [MeterBar35] 212 | Meter=BAR 213 | BarColor=#Color# 214 | Group=GroupBars 215 | MeasureName=MeasureAudioSmoothed35 216 | TransformationMatrix=[Matrix] 217 | [MeterBar36] 218 | Meter=BAR 219 | BarColor=#Color# 220 | Group=GroupBars 221 | MeasureName=MeasureAudioSmoothed36 222 | TransformationMatrix=[Matrix] 223 | [MeterBar37] 224 | Meter=BAR 225 | BarColor=#Color# 226 | Group=GroupBars 227 | MeasureName=MeasureAudioSmoothed37 228 | TransformationMatrix=[Matrix] 229 | [MeterBar38] 230 | Meter=BAR 231 | BarColor=#Color# 232 | Group=GroupBars 233 | MeasureName=MeasureAudioSmoothed38 234 | TransformationMatrix=[Matrix] 235 | [MeterBar39] 236 | Meter=BAR 237 | BarColor=#Color# 238 | Group=GroupBars 239 | MeasureName=MeasureAudioSmoothed39 240 | TransformationMatrix=[Matrix] 241 | [MeterBar40] 242 | Meter=BAR 243 | BarColor=#Color# 244 | Group=GroupBars 245 | MeasureName=MeasureAudioSmoothed40 246 | TransformationMatrix=[Matrix] 247 | [MeterBar41] 248 | Meter=BAR 249 | BarColor=#Color# 250 | Group=GroupBars 251 | MeasureName=MeasureAudioSmoothed41 252 | TransformationMatrix=[Matrix] 253 | [MeterBar42] 254 | Meter=BAR 255 | BarColor=#Color# 256 | Group=GroupBars 257 | MeasureName=MeasureAudioSmoothed42 258 | TransformationMatrix=[Matrix] 259 | [MeterBar43] 260 | Meter=BAR 261 | BarColor=#Color# 262 | Group=GroupBars 263 | MeasureName=MeasureAudioSmoothed43 264 | TransformationMatrix=[Matrix] 265 | [MeterBar44] 266 | Meter=BAR 267 | BarColor=#Color# 268 | Group=GroupBars 269 | MeasureName=MeasureAudioSmoothed44 270 | TransformationMatrix=[Matrix] 271 | [MeterBar45] 272 | Meter=BAR 273 | BarColor=#Color# 274 | Group=GroupBars 275 | MeasureName=MeasureAudioSmoothed45 276 | TransformationMatrix=[Matrix] 277 | [MeterBar46] 278 | Meter=BAR 279 | BarColor=#Color# 280 | Group=GroupBars 281 | MeasureName=MeasureAudioSmoothed46 282 | TransformationMatrix=[Matrix] 283 | [MeterBar47] 284 | Meter=BAR 285 | BarColor=#Color# 286 | Group=GroupBars 287 | MeasureName=MeasureAudioSmoothed47 288 | TransformationMatrix=[Matrix] 289 | [MeterBar48] 290 | Meter=BAR 291 | BarColor=#Color# 292 | Group=GroupBars 293 | MeasureName=MeasureAudioSmoothed48 294 | TransformationMatrix=[Matrix] 295 | [MeterBar49] 296 | Meter=BAR 297 | BarColor=#Color# 298 | Group=GroupBars 299 | MeasureName=MeasureAudioSmoothed49 300 | TransformationMatrix=[Matrix] 301 | [MeterBar50] 302 | Meter=BAR 303 | BarColor=#Color# 304 | Group=GroupBars 305 | MeasureName=MeasureAudioSmoothed50 306 | TransformationMatrix=[Matrix] 307 | [MeterBar51] 308 | Meter=BAR 309 | BarColor=#Color# 310 | Group=GroupBars 311 | MeasureName=MeasureAudioSmoothed51 312 | TransformationMatrix=[Matrix] 313 | [MeterBar52] 314 | Meter=BAR 315 | BarColor=#Color# 316 | Group=GroupBars 317 | MeasureName=MeasureAudioSmoothed52 318 | TransformationMatrix=[Matrix] 319 | [MeterBar53] 320 | Meter=BAR 321 | BarColor=#Color# 322 | Group=GroupBars 323 | MeasureName=MeasureAudioSmoothed53 324 | TransformationMatrix=[Matrix] 325 | [MeterBar54] 326 | Meter=BAR 327 | BarColor=#Color# 328 | Group=GroupBars 329 | MeasureName=MeasureAudioSmoothed54 330 | TransformationMatrix=[Matrix] 331 | [MeterBar55] 332 | Meter=BAR 333 | BarColor=#Color# 334 | Group=GroupBars 335 | MeasureName=MeasureAudioSmoothed55 336 | TransformationMatrix=[Matrix] 337 | [MeterBar56] 338 | Meter=BAR 339 | BarColor=#Color# 340 | Group=GroupBars 341 | MeasureName=MeasureAudioSmoothed56 342 | TransformationMatrix=[Matrix] 343 | [MeterBar57] 344 | Meter=BAR 345 | BarColor=#Color# 346 | Group=GroupBars 347 | MeasureName=MeasureAudioSmoothed57 348 | TransformationMatrix=[Matrix] 349 | [MeterBar58] 350 | Meter=BAR 351 | BarColor=#Color# 352 | Group=GroupBars 353 | MeasureName=MeasureAudioSmoothed58 354 | TransformationMatrix=[Matrix] 355 | [MeterBar59] 356 | Meter=BAR 357 | BarColor=#Color# 358 | Group=GroupBars 359 | MeasureName=MeasureAudioSmoothed59 360 | TransformationMatrix=[Matrix] 361 | [MeterBar60] 362 | Meter=BAR 363 | BarColor=#Color# 364 | Group=GroupBars 365 | MeasureName=MeasureAudioSmoothed60 366 | TransformationMatrix=[Matrix] 367 | [MeterBar61] 368 | Meter=BAR 369 | BarColor=#Color# 370 | Group=GroupBars 371 | MeasureName=MeasureAudioSmoothed61 372 | TransformationMatrix=[Matrix] 373 | [MeterBar62] 374 | Meter=BAR 375 | BarColor=#Color# 376 | Group=GroupBars 377 | MeasureName=MeasureAudioSmoothed62 378 | TransformationMatrix=[Matrix] -------------------------------------------------------------------------------- /@Resources/include/MeterProgressBar.inc: -------------------------------------------------------------------------------- 1 | ; Meter Dummy - this prevents that the progress bar flashes when refreshing 2 | [MeterDummy] 3 | Meter=Image 4 | W=#SkinWidth# 5 | H=#BarHeight# 6 | Hidden=(#ShowProgressBar# > 0 ? 0 : 1) 7 | Group=GroupProgressBar 8 | 9 | ; Meter ProgressBar - shows the progress bar below the visualizer 10 | [MeterProgressBar] 11 | Meter=Bar 12 | MeasureName=MeasureProgress 13 | BarOrientation=Horizontal 14 | X=0 15 | Y=(8*#ScaleVisualizer#)R 16 | W=#SkinWidth#+(4*#ScaleVisualizer#) 17 | H=(8*#ScaleVisualizer#) 18 | SolidColor=#DropShadowColor# 19 | BarColor=#Color# 20 | DynamicVariables=1 21 | Group=GroupProgressBar | GroupDynamicColors 22 | Hidden=(#ShowProgressBar# > 0 ? 0 : 1) 23 | LeftMouseUpAction=[!CommandMeasure MeasureProgress "SetPosition $MouseX:%$"][!Update][!Redraw] -------------------------------------------------------------------------------- /@Resources/include/MeterSettingsMenu.inc: -------------------------------------------------------------------------------- 1 | [MeterBackground] 2 | Meter=Shape 3 | MeterStyle=StyleBG 4 | Shape=Rectangle 0,0,700,#SettingHeight# | Fill Color 255,255,255,255 | StrokeWidth 0 5 | Shape2=Rectangle 200,0,500,#SettingHeight# | Fill LinearGradient BGGradient | StrokeWidth 0 6 | 7 | [MeterGeneral] 8 | Meter=String 9 | FontFace=Montserrat Light 10 | FontSize=14 11 | InlineSetting=Color | 56,56,56,150 12 | X=20 13 | Y=15 14 | AntiAlias=1 15 | Text="General" 16 | LeftMouseDownAction=[!ActivateConfig "#ROOTCONFIG#\settings" "general.ini"] 17 | [MeterMediaPlayer] 18 | Meter=String 19 | FontFace=Montserrat Light 20 | FontSize=14 21 | InlineSetting=Color | 56,56,56,150 22 | X=20 23 | Y=5R 24 | AntiAlias=1 25 | Text="Media Player" 26 | LeftMouseDownAction=[!ActivateConfig "#ROOTCONFIG#\settings" "mediaplayer.ini"] 27 | [MeterVisualizer] 28 | Meter=String 29 | FontFace=Montserrat Light 30 | FontSize=14 31 | InlineSetting=Color | 56,56,56,150 32 | X=20 33 | Y=5R 34 | AntiAlias=1 35 | Text="Visualizer" 36 | LeftMouseDownAction=[!ActivateConfig "#ROOTCONFIG#\settings" "visualizer.ini"] 37 | [MeterStyling] 38 | Meter=String 39 | FontFace=Montserrat Light 40 | FontSize=14 41 | InlineSetting=Color | 56,56,56,150 42 | X=20 43 | Y=5R 44 | AntiAlias=1 45 | Text="Styling" 46 | LeftMouseDownAction=[!ActivateConfig "#ROOTCONFIG#\settings" "styling.ini"] 47 | [MeterAbout] 48 | Meter=String 49 | FontFace=Montserrat Light 50 | FontSize=14 51 | InlineSetting=Color | 33,150,243,255 52 | X=20 53 | Y=15R 54 | AntiAlias=1 55 | Text="About" 56 | LeftMouseDownAction=https://github.com/MarcoPixel/Monstercat-Visualizer#readme 57 | [MeterMenuDividier] 58 | Meter=Image 59 | SolidColor=0,0,0,255 60 | X=20 61 | Y=15R 62 | H=3 63 | W=160 64 | [MeterClose] 65 | Meter=String 66 | FontFace=Montserrat Light 67 | FontSize=14 68 | InlineSetting=Color | 205,32,31,225 69 | X=20 70 | Y=10R 71 | AntiAlias=1 72 | Text="Close" 73 | LeftMouseDownAction=[!DeactivateConfig] -------------------------------------------------------------------------------- /@Resources/include/MeterShadowBars.inc: -------------------------------------------------------------------------------- 1 | [MeterShadowBar0] 2 | Meter=BAR 3 | BarColor=#DropShadowColor# 4 | Group=GroupBars | GroupShadowBars 5 | MeasureName=MeasureAudioSmoothed0 6 | TransformationMatrix=[Matrix] 7 | Hidden=(1 > 0 ? 0 : 1) 8 | [MeterShadowBar1] 9 | Meter=BAR 10 | BarColor=#DropShadowColor# 11 | Group=GroupBars | GroupShadowBars 12 | MeasureName=MeasureAudioSmoothed1 13 | TransformationMatrix=[Matrix] 14 | Hidden=(1 > 0 ? 0 : 1) 15 | [MeterShadowBar2] 16 | Meter=BAR 17 | BarColor=#DropShadowColor# 18 | Group=GroupBars | GroupShadowBars 19 | MeasureName=MeasureAudioSmoothed2 20 | TransformationMatrix=[Matrix] 21 | Hidden=(1 > 0 ? 0 : 1) 22 | [MeterShadowBar3] 23 | Meter=BAR 24 | BarColor=#DropShadowColor# 25 | Group=GroupBars | GroupShadowBars 26 | MeasureName=MeasureAudioSmoothed3 27 | TransformationMatrix=[Matrix] 28 | Hidden=(1 > 0 ? 0 : 1) 29 | [MeterShadowBar4] 30 | Meter=BAR 31 | BarColor=#DropShadowColor# 32 | Group=GroupBars | GroupShadowBars 33 | MeasureName=MeasureAudioSmoothed4 34 | TransformationMatrix=[Matrix] 35 | Hidden=(1 > 0 ? 0 : 1) 36 | [MeterShadowBar5] 37 | Meter=BAR 38 | BarColor=#DropShadowColor# 39 | Group=GroupBars | GroupShadowBars 40 | MeasureName=MeasureAudioSmoothed5 41 | TransformationMatrix=[Matrix] 42 | Hidden=(1 > 0 ? 0 : 1) 43 | [MeterShadowBar6] 44 | Meter=BAR 45 | BarColor=#DropShadowColor# 46 | Group=GroupBars | GroupShadowBars 47 | MeasureName=MeasureAudioSmoothed6 48 | TransformationMatrix=[Matrix] 49 | Hidden=(1 > 0 ? 0 : 1) 50 | [MeterShadowBar7] 51 | Meter=BAR 52 | BarColor=#DropShadowColor# 53 | Group=GroupBars | GroupShadowBars 54 | MeasureName=MeasureAudioSmoothed7 55 | TransformationMatrix=[Matrix] 56 | Hidden=(1 > 0 ? 0 : 1) 57 | [MeterShadowBar8] 58 | Meter=BAR 59 | BarColor=#DropShadowColor# 60 | Group=GroupBars | GroupShadowBars 61 | MeasureName=MeasureAudioSmoothed8 62 | TransformationMatrix=[Matrix] 63 | Hidden=(1 > 0 ? 0 : 1) 64 | [MeterShadowBar9] 65 | Meter=BAR 66 | BarColor=#DropShadowColor# 67 | Group=GroupBars | GroupShadowBars 68 | MeasureName=MeasureAudioSmoothed9 69 | TransformationMatrix=[Matrix] 70 | Hidden=(1 > 0 ? 0 : 1) 71 | [MeterShadowBar10] 72 | Meter=BAR 73 | BarColor=#DropShadowColor# 74 | Group=GroupBars | GroupShadowBars 75 | MeasureName=MeasureAudioSmoothed10 76 | TransformationMatrix=[Matrix] 77 | Hidden=(1 > 0 ? 0 : 1) 78 | [MeterShadowBar11] 79 | Meter=BAR 80 | BarColor=#DropShadowColor# 81 | Group=GroupBars | GroupShadowBars 82 | MeasureName=MeasureAudioSmoothed11 83 | TransformationMatrix=[Matrix] 84 | Hidden=(1 > 0 ? 0 : 1) 85 | [MeterShadowBar12] 86 | Meter=BAR 87 | BarColor=#DropShadowColor# 88 | Group=GroupBars | GroupShadowBars 89 | MeasureName=MeasureAudioSmoothed12 90 | TransformationMatrix=[Matrix] 91 | Hidden=(1 > 0 ? 0 : 1) 92 | [MeterShadowBar13] 93 | Meter=BAR 94 | BarColor=#DropShadowColor# 95 | Group=GroupBars | GroupShadowBars 96 | MeasureName=MeasureAudioSmoothed13 97 | TransformationMatrix=[Matrix] 98 | Hidden=(1 > 0 ? 0 : 1) 99 | [MeterShadowBar14] 100 | Meter=BAR 101 | BarColor=#DropShadowColor# 102 | Group=GroupBars | GroupShadowBars 103 | MeasureName=MeasureAudioSmoothed14 104 | TransformationMatrix=[Matrix] 105 | Hidden=(1 > 0 ? 0 : 1) 106 | [MeterShadowBar15] 107 | Meter=BAR 108 | BarColor=#DropShadowColor# 109 | Group=GroupBars | GroupShadowBars 110 | MeasureName=MeasureAudioSmoothed15 111 | TransformationMatrix=[Matrix] 112 | Hidden=(1 > 0 ? 0 : 1) 113 | [MeterShadowBar16] 114 | Meter=BAR 115 | BarColor=#DropShadowColor# 116 | Group=GroupBars | GroupShadowBars 117 | MeasureName=MeasureAudioSmoothed16 118 | TransformationMatrix=[Matrix] 119 | Hidden=(1 > 0 ? 0 : 1) 120 | [MeterShadowBar17] 121 | Meter=BAR 122 | BarColor=#DropShadowColor# 123 | Group=GroupBars | GroupShadowBars 124 | MeasureName=MeasureAudioSmoothed17 125 | TransformationMatrix=[Matrix] 126 | Hidden=(1 > 0 ? 0 : 1) 127 | [MeterShadowBar18] 128 | Meter=BAR 129 | BarColor=#DropShadowColor# 130 | Group=GroupBars | GroupShadowBars 131 | MeasureName=MeasureAudioSmoothed18 132 | TransformationMatrix=[Matrix] 133 | Hidden=(1 > 0 ? 0 : 1) 134 | [MeterShadowBar19] 135 | Meter=BAR 136 | BarColor=#DropShadowColor# 137 | Group=GroupBars | GroupShadowBars 138 | MeasureName=MeasureAudioSmoothed19 139 | TransformationMatrix=[Matrix] 140 | Hidden=(1 > 0 ? 0 : 1) 141 | [MeterShadowBar20] 142 | Meter=BAR 143 | BarColor=#DropShadowColor# 144 | Group=GroupBars | GroupShadowBars 145 | MeasureName=MeasureAudioSmoothed20 146 | TransformationMatrix=[Matrix] 147 | Hidden=(1 > 0 ? 0 : 1) 148 | [MeterShadowBar21] 149 | Meter=BAR 150 | BarColor=#DropShadowColor# 151 | Group=GroupBars | GroupShadowBars 152 | MeasureName=MeasureAudioSmoothed21 153 | TransformationMatrix=[Matrix] 154 | Hidden=(1 > 0 ? 0 : 1) 155 | [MeterShadowBar22] 156 | Meter=BAR 157 | BarColor=#DropShadowColor# 158 | Group=GroupBars | GroupShadowBars 159 | MeasureName=MeasureAudioSmoothed22 160 | TransformationMatrix=[Matrix] 161 | Hidden=(1 > 0 ? 0 : 1) 162 | [MeterShadowBar23] 163 | Meter=BAR 164 | BarColor=#DropShadowColor# 165 | Group=GroupBars | GroupShadowBars 166 | MeasureName=MeasureAudioSmoothed23 167 | TransformationMatrix=[Matrix] 168 | Hidden=(1 > 0 ? 0 : 1) 169 | [MeterShadowBar24] 170 | Meter=BAR 171 | BarColor=#DropShadowColor# 172 | Group=GroupBars | GroupShadowBars 173 | MeasureName=MeasureAudioSmoothed24 174 | TransformationMatrix=[Matrix] 175 | Hidden=(1 > 0 ? 0 : 1) 176 | [MeterShadowBar25] 177 | Meter=BAR 178 | BarColor=#DropShadowColor# 179 | Group=GroupBars | GroupShadowBars 180 | MeasureName=MeasureAudioSmoothed25 181 | TransformationMatrix=[Matrix] 182 | Hidden=(1 > 0 ? 0 : 1) 183 | [MeterShadowBar26] 184 | Meter=BAR 185 | BarColor=#DropShadowColor# 186 | Group=GroupBars | GroupShadowBars 187 | MeasureName=MeasureAudioSmoothed26 188 | TransformationMatrix=[Matrix] 189 | Hidden=(1 > 0 ? 0 : 1) 190 | [MeterShadowBar27] 191 | Meter=BAR 192 | BarColor=#DropShadowColor# 193 | Group=GroupBars | GroupShadowBars 194 | MeasureName=MeasureAudioSmoothed27 195 | TransformationMatrix=[Matrix] 196 | Hidden=(1 > 0 ? 0 : 1) 197 | [MeterShadowBar28] 198 | Meter=BAR 199 | BarColor=#DropShadowColor# 200 | Group=GroupBars | GroupShadowBars 201 | MeasureName=MeasureAudioSmoothed28 202 | TransformationMatrix=[Matrix] 203 | Hidden=(1 > 0 ? 0 : 1) 204 | [MeterShadowBar29] 205 | Meter=BAR 206 | BarColor=#DropShadowColor# 207 | Group=GroupBars | GroupShadowBars 208 | MeasureName=MeasureAudioSmoothed29 209 | TransformationMatrix=[Matrix] 210 | Hidden=(1 > 0 ? 0 : 1) 211 | [MeterShadowBar30] 212 | Meter=BAR 213 | BarColor=#DropShadowColor# 214 | Group=GroupBars | GroupShadowBars 215 | MeasureName=MeasureAudioSmoothed30 216 | TransformationMatrix=[Matrix] 217 | Hidden=(1 > 0 ? 0 : 1) 218 | [MeterShadowBar31] 219 | Meter=BAR 220 | BarColor=#DropShadowColor# 221 | Group=GroupBars | GroupShadowBars 222 | MeasureName=MeasureAudioSmoothed31 223 | TransformationMatrix=[Matrix] 224 | Hidden=(1 > 0 ? 0 : 1) 225 | [MeterShadowBar32] 226 | Meter=BAR 227 | BarColor=#DropShadowColor# 228 | Group=GroupBars | GroupShadowBars 229 | MeasureName=MeasureAudioSmoothed32 230 | TransformationMatrix=[Matrix] 231 | Hidden=(1 > 0 ? 0 : 1) 232 | [MeterShadowBar33] 233 | Meter=BAR 234 | BarColor=#DropShadowColor# 235 | Group=GroupBars | GroupShadowBars 236 | MeasureName=MeasureAudioSmoothed33 237 | TransformationMatrix=[Matrix] 238 | Hidden=(1 > 0 ? 0 : 1) 239 | [MeterShadowBar34] 240 | Meter=BAR 241 | BarColor=#DropShadowColor# 242 | Group=GroupBars | GroupShadowBars 243 | MeasureName=MeasureAudioSmoothed34 244 | TransformationMatrix=[Matrix] 245 | Hidden=(1 > 0 ? 0 : 1) 246 | [MeterShadowBar35] 247 | Meter=BAR 248 | BarColor=#DropShadowColor# 249 | Group=GroupBars | GroupShadowBars 250 | MeasureName=MeasureAudioSmoothed35 251 | TransformationMatrix=[Matrix] 252 | Hidden=(1 > 0 ? 0 : 1) 253 | [MeterShadowBar36] 254 | Meter=BAR 255 | BarColor=#DropShadowColor# 256 | Group=GroupBars | GroupShadowBars 257 | MeasureName=MeasureAudioSmoothed36 258 | TransformationMatrix=[Matrix] 259 | Hidden=(1 > 0 ? 0 : 1) 260 | [MeterShadowBar37] 261 | Meter=BAR 262 | BarColor=#DropShadowColor# 263 | Group=GroupBars | GroupShadowBars 264 | MeasureName=MeasureAudioSmoothed37 265 | TransformationMatrix=[Matrix] 266 | Hidden=(1 > 0 ? 0 : 1) 267 | [MeterShadowBar38] 268 | Meter=BAR 269 | BarColor=#DropShadowColor# 270 | Group=GroupBars | GroupShadowBars 271 | MeasureName=MeasureAudioSmoothed38 272 | TransformationMatrix=[Matrix] 273 | Hidden=(1 > 0 ? 0 : 1) 274 | [MeterShadowBar39] 275 | Meter=BAR 276 | BarColor=#DropShadowColor# 277 | Group=GroupBars | GroupShadowBars 278 | MeasureName=MeasureAudioSmoothed39 279 | TransformationMatrix=[Matrix] 280 | Hidden=(1 > 0 ? 0 : 1) 281 | [MeterShadowBar40] 282 | Meter=BAR 283 | BarColor=#DropShadowColor# 284 | Group=GroupBars | GroupShadowBars 285 | MeasureName=MeasureAudioSmoothed40 286 | TransformationMatrix=[Matrix] 287 | Hidden=(1 > 0 ? 0 : 1) 288 | [MeterShadowBar41] 289 | Meter=BAR 290 | BarColor=#DropShadowColor# 291 | Group=GroupBars | GroupShadowBars 292 | MeasureName=MeasureAudioSmoothed41 293 | TransformationMatrix=[Matrix] 294 | Hidden=(1 > 0 ? 0 : 1) 295 | [MeterShadowBar42] 296 | Meter=BAR 297 | BarColor=#DropShadowColor# 298 | Group=GroupBars | GroupShadowBars 299 | MeasureName=MeasureAudioSmoothed42 300 | TransformationMatrix=[Matrix] 301 | Hidden=(1 > 0 ? 0 : 1) 302 | [MeterShadowBar43] 303 | Meter=BAR 304 | BarColor=#DropShadowColor# 305 | Group=GroupBars | GroupShadowBars 306 | MeasureName=MeasureAudioSmoothed43 307 | TransformationMatrix=[Matrix] 308 | Hidden=(1 > 0 ? 0 : 1) 309 | [MeterShadowBar44] 310 | Meter=BAR 311 | BarColor=#DropShadowColor# 312 | Group=GroupBars | GroupShadowBars 313 | MeasureName=MeasureAudioSmoothed44 314 | TransformationMatrix=[Matrix] 315 | Hidden=(1 > 0 ? 0 : 1) 316 | [MeterShadowBar45] 317 | Meter=BAR 318 | BarColor=#DropShadowColor# 319 | Group=GroupBars | GroupShadowBars 320 | MeasureName=MeasureAudioSmoothed45 321 | TransformationMatrix=[Matrix] 322 | Hidden=(1 > 0 ? 0 : 1) 323 | [MeterShadowBar46] 324 | Meter=BAR 325 | BarColor=#DropShadowColor# 326 | Group=GroupBars | GroupShadowBars 327 | MeasureName=MeasureAudioSmoothed46 328 | TransformationMatrix=[Matrix] 329 | Hidden=(1 > 0 ? 0 : 1) 330 | [MeterShadowBar47] 331 | Meter=BAR 332 | BarColor=#DropShadowColor# 333 | Group=GroupBars | GroupShadowBars 334 | MeasureName=MeasureAudioSmoothed47 335 | TransformationMatrix=[Matrix] 336 | Hidden=(1 > 0 ? 0 : 1) 337 | [MeterShadowBar48] 338 | Meter=BAR 339 | BarColor=#DropShadowColor# 340 | Group=GroupBars | GroupShadowBars 341 | MeasureName=MeasureAudioSmoothed48 342 | TransformationMatrix=[Matrix] 343 | Hidden=(1 > 0 ? 0 : 1) 344 | [MeterShadowBar49] 345 | Meter=BAR 346 | BarColor=#DropShadowColor# 347 | Group=GroupBars | GroupShadowBars 348 | MeasureName=MeasureAudioSmoothed49 349 | TransformationMatrix=[Matrix] 350 | Hidden=(1 > 0 ? 0 : 1) 351 | [MeterShadowBar50] 352 | Meter=BAR 353 | BarColor=#DropShadowColor# 354 | Group=GroupBars | GroupShadowBars 355 | MeasureName=MeasureAudioSmoothed50 356 | TransformationMatrix=[Matrix] 357 | Hidden=(1 > 0 ? 0 : 1) 358 | [MeterShadowBar51] 359 | Meter=BAR 360 | BarColor=#DropShadowColor# 361 | Group=GroupBars | GroupShadowBars 362 | MeasureName=MeasureAudioSmoothed51 363 | TransformationMatrix=[Matrix] 364 | Hidden=(1 > 0 ? 0 : 1) 365 | [MeterShadowBar52] 366 | Meter=BAR 367 | BarColor=#DropShadowColor# 368 | Group=GroupBars | GroupShadowBars 369 | MeasureName=MeasureAudioSmoothed52 370 | TransformationMatrix=[Matrix] 371 | Hidden=(1 > 0 ? 0 : 1) 372 | [MeterShadowBar53] 373 | Meter=BAR 374 | BarColor=#DropShadowColor# 375 | Group=GroupBars | GroupShadowBars 376 | MeasureName=MeasureAudioSmoothed53 377 | TransformationMatrix=[Matrix] 378 | Hidden=(1 > 0 ? 0 : 1) 379 | [MeterShadowBar54] 380 | Meter=BAR 381 | BarColor=#DropShadowColor# 382 | Group=GroupBars | GroupShadowBars 383 | MeasureName=MeasureAudioSmoothed54 384 | TransformationMatrix=[Matrix] 385 | Hidden=(1 > 0 ? 0 : 1) 386 | [MeterShadowBar55] 387 | Meter=BAR 388 | BarColor=#DropShadowColor# 389 | Group=GroupBars | GroupShadowBars 390 | MeasureName=MeasureAudioSmoothed55 391 | TransformationMatrix=[Matrix] 392 | Hidden=(1 > 0 ? 0 : 1) 393 | [MeterShadowBar56] 394 | Meter=BAR 395 | BarColor=#DropShadowColor# 396 | Group=GroupBars | GroupShadowBars 397 | MeasureName=MeasureAudioSmoothed56 398 | TransformationMatrix=[Matrix] 399 | Hidden=(1 > 0 ? 0 : 1) 400 | [MeterShadowBar57] 401 | Meter=BAR 402 | BarColor=#DropShadowColor# 403 | Group=GroupBars | GroupShadowBars 404 | MeasureName=MeasureAudioSmoothed57 405 | TransformationMatrix=[Matrix] 406 | Hidden=(1 > 0 ? 0 : 1) 407 | [MeterShadowBar58] 408 | Meter=BAR 409 | BarColor=#DropShadowColor# 410 | Group=GroupBars | GroupShadowBars 411 | MeasureName=MeasureAudioSmoothed58 412 | TransformationMatrix=[Matrix] 413 | Hidden=(1 > 0 ? 0 : 1) 414 | [MeterShadowBar59] 415 | Meter=BAR 416 | BarColor=#DropShadowColor# 417 | Group=GroupBars | GroupShadowBars 418 | MeasureName=MeasureAudioSmoothed59 419 | TransformationMatrix=[Matrix] 420 | Hidden=(1 > 0 ? 0 : 1) 421 | [MeterShadowBar60] 422 | Meter=BAR 423 | BarColor=#DropShadowColor# 424 | Group=GroupBars | GroupShadowBars 425 | MeasureName=MeasureAudioSmoothed60 426 | TransformationMatrix=[Matrix] 427 | Hidden=(1 > 0 ? 0 : 1) 428 | [MeterShadowBar61] 429 | Meter=BAR 430 | BarColor=#DropShadowColor# 431 | Group=GroupBars | GroupShadowBars 432 | MeasureName=MeasureAudioSmoothed61 433 | TransformationMatrix=[Matrix] 434 | Hidden=(1 > 0 ? 0 : 1) 435 | [MeterShadowBar62] 436 | Meter=BAR 437 | BarColor=#DropShadowColor# 438 | Group=GroupBars | GroupShadowBars 439 | MeasureName=MeasureAudioSmoothed62 440 | TransformationMatrix=[Matrix] 441 | Hidden=(1 > 0 ? 0 : 1) -------------------------------------------------------------------------------- /@Resources/scripts/AudioDeviceList.lua: -------------------------------------------------------------------------------- 1 | -- @author alatsombath / Github: alatsombath 2 | 3 | function Initialize() 4 | a = 1 5 | for i in string.gmatch(SKIN:GetMeasure("MeasureAudioDeviceList"):GetStringValue(), "[^\n]+") do 6 | a, b = a + 1, 1 7 | for j in string.gmatch(i, "[^:]+") do 8 | if b ~= 1 then 9 | SKIN:Bang("!SetOption", "Rainmeter", "ContextTitle" .. a, j) 10 | else 11 | SKIN:Bang("!SetOption", "Rainmeter", "ContextAction" .. a, "[!WriteKeyValue Variables AudioDeviceID " .. j .. " \"#@#variables.ini\" ][!RefreshGroup Spectrum][!RefreshGroup Settings][!DeactivateConfig]") 12 | end 13 | b = b + 1 14 | end 15 | end 16 | end 17 | -------------------------------------------------------------------------------- /@Resources/scripts/Factory.lua: -------------------------------------------------------------------------------- 1 | -- @author undefinist / www.undefinist.com 2 | -- Structure of Script Measure: 3 | ---- IncFile= 4 | ---- Number= 5 | ---- SectionName= 6 | ---- OptionN= 7 | ---- ValueN= 8 | ---- where N is an ordered number from 0 9 | -- Use %% to substitute it as the iteration number (which is specified by the Number option) 10 | ---- For example, if you specify 10, it will create 10 sections and replace the first section's %% 11 | ---- with 0, the second section's %% with 1, etc... 12 | -- Wrap any formulas you want to parse in {} that otherwise RM would treat as a string 13 | ---- For example, [Measure{%%+1}] will have this script parse it for you 14 | 15 | function Initialize() 16 | local num = SELF:GetNumberOption("Number") 17 | local sectionName = SELF:GetOption("SectionName") 18 | 19 | local file = io.open(SKIN:MakePathAbsolute(SELF:GetOption("IncFile")), "w") 20 | 21 | local t = {} 22 | 23 | for i = 0, num-1 do 24 | table.insert(t, "[" .. doSub(sectionName, i) .. "]") 25 | local j = 0 26 | 27 | while true do 28 | local opt = SELF:GetOption("Option" .. j) 29 | if opt == "" then 30 | break 31 | end 32 | table.insert(t, opt .. "=" .. doSub(SELF:GetOption("Value" .. j), i)) 33 | j = j + 1 34 | end 35 | end 36 | 37 | file:write(table.concat(t, "\n")) 38 | file:close() 39 | end 40 | 41 | -- does all the substitution! 42 | function doSub(value, i) 43 | return value:gsub("%%%%", i):gsub("{.-}", parseFormula) 44 | end 45 | 46 | -- sub to remove {the curly braces}, then add (parentheses), then parse it 47 | function parseFormula(formula) 48 | return SKIN:ParseFormula("(" .. formula:sub(2, -2) .. ")") 49 | end 50 | -------------------------------------------------------------------------------- /@Resources/scripts/Refresher.lua: -------------------------------------------------------------------------------- 1 | -- @author undefinist / www.undefinist.com 2 | -- Add this after all incs! 3 | function Initialize() 4 | if SELF:GetOption("Refreshed", "0") == "0" then 5 | SKIN:Bang("!WriteKeyValue", SELF:GetName(), "Refreshed", "1") 6 | SKIN:Bang("!Refresh") 7 | else 8 | SKIN:Bang("!WriteKeyValue", SELF:GetName(), "Refreshed", "0") 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /@Resources/scripts/Rotate.lua: -------------------------------------------------------------------------------- 1 | -- @author alatsombath / Github: alatsombath 2 | 3 | function Initialize() 4 | -- Get the config variable so it won't apply the changes to every rainmeter skin loaded 5 | config = SKIN:GetVariable("Config") 6 | 7 | -- Get nearestAxis variable and set matrix to be a string 8 | nearestAxis, matrix = SKIN:ParseFormula(SKIN:GetVariable("NearestAxis")), "" 9 | 10 | -- Set options for each config 11 | local scale = SKIN:ParseFormula(SKIN:GetVariable("ScaleVisualizer")) 12 | local barHeight = SKIN:ParseFormula(SKIN:GetVariable("BarHeight")) 13 | local barWidth = SKIN:ParseFormula(SKIN:GetVariable("BarWidth")) * scale 14 | local barGap = SKIN:ParseFormula(SKIN:GetVariable("BarGap")) * scale 15 | local offset = math.floor(barWidth + barGap) 16 | local angle = SKIN:ParseFormula(SKIN:GetVariable("Angle")) 17 | local meterName, meterShadow, lowerLimit, upperLimit = {}, {}, 1, SKIN:ParseFormula(SKIN:GetVariable("BarCount")) 18 | local skinWidth = math.ceil(offset * (upperLimit) - barGap) 19 | 20 | -- Add group to MeterBars and then update them 21 | for i = lowerLimit, upperLimit do 22 | meterName[i] = "MeterBar" .. i-1 23 | meterShadow[i] = "MeterShadowBar" .. i-1 24 | SKIN:Bang("!SetOption", meterName[i], "Group", "GroupBars | GroupDynamicColors", config) 25 | SKIN:Bang("!SetOption", meterShadow[i], "Group", "GroupBars | GroupShadowBars", config) 26 | SKIN:Bang("!UpdateMeter", meterName[i], config) 27 | SKIN:Bang("!UpdateMeter", meterShadow[i], config) 28 | end 29 | 30 | -- Change Positioning based on NearestAxis 31 | if nearestAxis ~= 0 then 32 | SKIN:Bang("!SetOptionGroup", "GroupBars", "W", barHeight, config) 33 | SKIN:Bang("!SetOptionGroup", "GroupBars", "H", barWidth, config) 34 | SKIN:Bang("!SetOptionGroup", "GroupShadowBars", "H", barWidth, config) 35 | for i = lowerLimit, upperLimit do 36 | SKIN:Bang("!SetOption", meterName[i], "Y", offset * (i - lowerLimit), config) 37 | SKIN:Bang("!SetOption", meterShadow[i], "Y", (4*scale) + offset * (i - lowerLimit), config) 38 | SKIN:Bang("!SetOption", meterName[i], "X", (4*scale), config) 39 | end 40 | else 41 | SKIN:Bang("!SetOptionGroup", "GroupBars", "W", barWidth, config) 42 | SKIN:Bang("!SetOptionGroup", "GroupBars", "H", barHeight, config) 43 | SKIN:Bang("!SetOptionGroup", "GroupShadowBars", "H", barHeight + (4*scale), config) 44 | for i = lowerLimit, upperLimit do 45 | SKIN:Bang("!SetOption", meterName[i], "X", offset * (i - lowerLimit), config) 46 | SKIN:Bang("!SetOption", meterShadow[i], "X", (4*scale) + offset * (i - lowerLimit), config) 47 | end 48 | end 49 | 50 | -- set width to measure 51 | SKIN:Bang("!SetOption", "Width", "Formula", math.ceil(offset * (upperLimit) - barGap), config) 52 | 53 | -- write skin width to variables file 54 | SKIN:Bang("!WriteKeyValue", "Variables", "SkinWidth", skinWidth, "#@#variables.ini") 55 | 56 | -- disable progress bar when angle is higher than 0 57 | if angle > 0 then 58 | SKIN:Bang("!SetOptionGroup", "GroupProgressBar", "Hidden", 1, config) 59 | end 60 | 61 | -- When Angle is 0 revert to default behaviour 62 | if angle ~= 0 then 63 | if nearestAxis ~= 0 then 64 | SKIN:Bang("!SetOptionGroup", "GroupBars", "BarOrientation", "Horizontal", config) 65 | SKIN:Bang("!SetOptionGroup", "GroupProgressBar", "Hidden", 1, config) 66 | end 67 | SKIN:Bang("!SetOptionGroup", "GroupBars", "AntiAlias", 1, config) 68 | SKIN:Bang("!SetOptionGroup", "GroupBars", "TransformationMatrix", matrix, config) 69 | SKIN:Bang("!UpdateMeterGroup", "GroupBars", config) 70 | SKIN:Bang("!SetOptionGroup", "GroupBars", "TransformationMatrix", "", config) 71 | end 72 | 73 | -- Update the group 74 | SKIN:Bang("!UpdateMeterGroup", "GroupBars", config) 75 | SKIN:Bang("!UpdateMeterGroup", "GroupShadowBars", config) 76 | 77 | -- Remove the OnUpdateAction from MeasureRotate.inc to remove log spam 78 | SKIN:Bang("!WriteKeyValue", "Matrix", "OnUpdateAction", "", "#@#include\\MeasureRotate.inc") 79 | SKIN:Bang("!PauseMeasureGroup", "GroupMeasureRotate", config) 80 | 81 | -- Deactivate init skin 82 | SKIN:Bang("!DeactivateConfig") 83 | end 84 | -------------------------------------------------------------------------------- /@Resources/variables.ini: -------------------------------------------------------------------------------- 1 | [Variables] 2 | Version=2.1.0 3 | 4 | ; ================ ; 5 | ; General settings ; 6 | ; ================ ; 7 | 8 | ScaleVisualizer=0.8 9 | ; Scaling multiplier of the visualizer. 10 | ; 1 = exact dimensions in pixel 11 | ; Default: 0.8 12 | 13 | ScaleSongInformation=0.8 14 | ; Scaling multiplier of the song information. 15 | ; 1 = exact dimensions in pixel 16 | ; Default: 0.8 17 | 18 | DisableUpdateNag=0 19 | ; Change this to 1 when you don't want to receive update notifications. 20 | ; Default: 0 21 | 22 | ; ===================== ; 23 | ; Media player settings ; 24 | ; ===================== ; 25 | 26 | PlayerName=AIMP 27 | ; Change this variable to your media player. 28 | ; Supported players: 29 | ; - https://docs.rainmeter.net/manual-beta/measures/nowplaying/#playerlist 30 | ; - GPMDP (Google Play Music Desktop Player) 31 | ; - Web (Spicetify/WebNowPlaying for Firefox/Chrome: https://github.com/tjhrulz/WebNowPlaying) 32 | 33 | EnableAutoHide=0 34 | ; Hide skin when media player is not open 35 | ; Default: 0 36 | 37 | EnableAutoMute=0 38 | ; Changing this value will make the visualizer ignore any sound when the media player is not playing. 39 | ; Default: 0 40 | 41 | ShowProgressBar=0 42 | ; Changing this value will hide the progress bar below the visualizer. 43 | ; Default: 0 44 | 45 | NoArtistNameText=N/A 46 | NoTrackNameText=N/A 47 | ; This will replace the replacement text when there's no track name/artist or if nothing is playing. 48 | ; Default: NoArtistNameText=N/A, NoTrackNameText=N/A 49 | 50 | ClipSongInformation=1 51 | ; This will clip the song information to fit exactly under the visualizer. Longer song names or artists will get clipped at the size of the visualizer bars. 52 | ; Default: 1 53 | 54 | EnableTextBorder=0 55 | ; This will add a border to the song information to make it easier to read on bright wallpapers. 56 | ; Default: 0 57 | 58 | BorderColor=0,0,0 59 | ; Color used for border. 60 | ; Default: 0,0,0 61 | 62 | CoverSize=200 63 | ; Size of the cover image. 64 | ; Default: 200 65 | 66 | ShowMonstercatCover=0 67 | ; Changing this value will replace the song cover with an full-color cover with the monstercat logo (like in the videos). 68 | ; Default: 0 69 | 70 | ; ================= ; 71 | ; Spectrum settings ; 72 | ; ================= ; 73 | 74 | Angle=0 75 | ; Orientation of the visualization in degrees. 76 | ; Default: 0 77 | 78 | BarCount=63 79 | ; Number of bars shown on the visualizer, maximum 100. 80 | ; Default: 63 81 | 82 | BarWidth=18 83 | ; Width of the visualizer bars. 84 | ; Default: 18 85 | 86 | BarHeight=350 87 | ; Height of the visualizer bars. 88 | ; Default: 350 89 | 90 | BarGap=7 91 | ; Gap between the visualizer bars. 92 | ; Default: 7 93 | 94 | InvertVisualizer=0 95 | ; Inverts the spectrum/visualizer. 96 | ; Default: 0; 97 | 98 | 99 | ; ============== ; 100 | ; Audio settings ; 101 | ; ============== ; 102 | 103 | AverageSize=3 104 | ; A number specifying on how many values are taken for calculating an average. 105 | ; Default: 3 106 | 107 | Sensitivity=35 108 | ; A number specifying in what dB (decibel) range the audio visualizer will capture data. 109 | ; Default: 35 110 | 111 | AudioDeviceID= 112 | ; ID of the audio device used on the system 113 | ; Recommended to leave empty 114 | ; Default: 115 | 116 | FFTSize=4096 117 | ; Resolution of the audio sample used for the visualization. 118 | ; Default: 4096 119 | 120 | FFTAttack=0 121 | ; Time in milliseconds on how fast the bars will rise to the audio level. 122 | ; Default: 0 123 | 124 | FFTDecay=50 125 | ; Time in milliseconds on how fast the bars will fall from the audio level. 126 | ; Default: 50 127 | 128 | FreqMin=20 129 | ; Minimum frequency detected by the visualizer. 130 | ; Default: 20 131 | 132 | FreqMax=16000 133 | ; Maximum frequency detected by the visualizer. 134 | ; Default: 16500 135 | 136 | MinBarValue=0.01 137 | ; Minimum value shown in the visualizer bars. 138 | ; Default: 0.01 139 | 140 | Multiplier=40 141 | ; Logarithmic multiplier for the audio output. 142 | ; Default: 40 143 | 144 | 145 | ; ================ ; 146 | ; Styling settings ; 147 | ; ================ ; 148 | 149 | font1=Montserrat SemiBold 150 | font2=Montserrat Light 151 | ; Fonts used for the title and artist. 152 | ; Font1 is for the Artist, Font2 for the Title 153 | ; Default: font1=Montserrat SemiBold, font2=Montserrat Light 154 | 155 | FontSize1=72 156 | FontSize2=40 157 | ; Font sizes for the title and artist. 158 | ; Font1 is for the Artist, Font2 for the Title 159 | ; Default: FontSize1=72, FontSize2=40 160 | 161 | Color=255,255,255,255 162 | ; Color of the visualizer bars + cover background, in RGB(a). 163 | ; Default: 255,255,255,255 164 | 165 | TextColor=255,255,255 166 | ; Color used for text. 167 | ; Default: #White# 168 | 169 | ; This is the color list for the genre-based colors in RGB(a). 170 | EDM=193,193,193 171 | Electro=230,206,0 172 | House=234,140,6 173 | DnB=242,25,4 174 | Dubstep=141,4,225 175 | Drumstep=243,33,136 176 | GlitchHop=11,151,87 177 | Trap=140,15,39 178 | Trance=0,126,231 179 | HardDance=1,151,0 180 | NuDisco=28,171,179 181 | FutureBass=154,152,252 182 | White=255,255,255 183 | Black=0,0,0 184 | 185 | EnableDynamicColors=0 186 | ; Changing this value will enable/disable dynamic colors. 187 | ; There are three different settings you can choose. 188 | 189 | ; 0 - OFF, all dynamic color settings disabled. 190 | 191 | ; 1 - GENRE, color will change dynamically to the genre of the song. 192 | ; This will work currently only on AIMP, CAD, iTunes, WMP and Winamp. 193 | ; Also the song needs Genre ID3 tags. 194 | 195 | ; 2 - COVER, color will change dynamically to the cover art of your song. 196 | 197 | ; 3 - WINDOWS, color will change depending on the color chosen in windows. 198 | ; You could use this setting to change dynamically with the background. 199 | 200 | ; This will have an major impact on the performance of the visualizer and your CPU. 201 | ; Turn off if you experience lags or slowdowns. 202 | ; Default: 0 203 | 204 | EnableDynamicFontColors=1 205 | ; Changing this value will enable/disable dynamic font colors. 206 | ; Default: 0 207 | 208 | EnableDropShadow=1 209 | ; This will enable a drop shadow below the visualizer and song information. 210 | ; Default: 1 211 | 212 | DropShadowColor=0,0,0,75 213 | ; Color of the drop shadows on the visualizer bars and the text if enabled, in RGB(a); 214 | ; Default: 0,0,0,75 215 | 216 | 217 | ; ========================= ; 218 | ; CONSTANTS - DO NOT CHANGE ; 219 | ; ========================= ; 220 | ; These variables are constants and are better untouched! 221 | ; Changing anything here will probably break something. 222 | ; Only proceed if you know what you do. 223 | 224 | MPMode=NowPlaying 225 | NearestAxis=0 226 | Config=monstercat-visualizer 227 | SkinWidth=1255 228 | LatestVersion=2.1.0 229 | -------------------------------------------------------------------------------- /Background/background.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Update=-1 3 | 4 | ; = IMPORTANT = 5 | ; = For configuring the rainmeter skin, right-click the visualizer and click on "Open settings". 6 | ; = You can also open the variables.ini file located in: 7 | ; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources" 8 | 9 | ; Small context menu when you right-click the skin 10 | ContextTitle=" Open settings" 11 | ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"] 12 | ContextTitle2=" Open variables file" 13 | ContextAction2=["#@#variables.ini"] 14 | ContextTitle3=" Toggle background" 15 | ContextAction3=[!ToggleConfig "#ROOTCONFIG#\Background" "Background.ini"] 16 | 17 | [Metadata] 18 | Name=Monstercat Visualizer for Rainmeter 19 | Author=marcopixel 20 | Version=2.1.0 21 | License=MIT License 22 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 23 | 24 | [Variables] 25 | ; Includes the variables used for the skin. 26 | @include=#@#variables.ini 27 | 28 | [Background] 29 | Meter=Image 30 | X=0 31 | Y=0 32 | W=#WORKAREAWIDTH# 33 | H=#WORKAREAHEIGHT# 34 | SolidColor=0,0,0,50 35 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at marcopixel@live.de. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Marco Vockner 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![Monstercat Visualizer Screenshot](https://i.imgur.com/cu1R235.png "Monstercat Visualizer Screenshot") 2 | 3 | 4 | # Monstercat Visualizer 5 | [![GitHub release](https://img.shields.io/github/release/MarcoPixel/Monstercat-Visualizer.svg?colorB=97CA00?label=version)](https://github.com/MarcoPixel/Monstercat-Visualizer/releases/latest) [![Github All Releases](https://img.shields.io/github/downloads/MarcoPixel/Monstercat-Visualizer/total.svg?colorB=97CA00)](https://github.com/MarcoPixel/Monstercat-Visualizer/releases) [![GitHub stars](https://img.shields.io/github/stars/MarcoPixel/Monstercat-Visualizer.svg?colorB=007EC6)](https://github.com/MarcoPixel/Monstercat-Visualizer/stargazers) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/MarcoPixel/Monstercat-Visualizer/master/LICENSE) 6 | 7 | A real time audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 8 | 9 | Supports all major media players, including full **Spotify**, **Google Play Music Desktop Player** and **Chrome/Firefox webplayer** support (thanks to **[@tjhrulz](https://github.com/tjhrulz)** and **[@khanhas](https://github.com/khanhas)**) for the amazing plugins used in this skin). 10 | 11 | ## Minimum Requirements: 12 | - Windows 7 or higher. 13 | - Rainmeter 4.3 Beta (r3298) or higher. 14 | 15 | ## Features 16 | 17 | - Live visualization of the audio output 18 | - Customizable colors and fonts 19 | - Genre-based colors (AIMP, CAD, iTunes, WMP and Winamp) 20 | - Cover-based colors (All supported players) 21 | - Support for all major media players 22 | - Full Spotify (Desktop & Web Player) support 23 | - Full Google Play Music Desktop Player & Web Player support 24 | - Full Youtube, Soundcloud, and other web music players 25 | - Media controls & progress bar 26 | - Settings skin for easier customization/configuration 27 | - Hide skin when media player is not running 28 | 29 | ## Important notes 30 | 31 | 32 | - You need at least **Rainmeter 4.3 Beta (r3298) or higher** to get all features of this skin. You can find the newest version on https://www.rainmeter.net/ 33 | - After installation you can access the settings by right-clicking the visualizer or song information and then clicking on Open Settings. 34 | - Due to limitations of Rainmeter the complete audio output of your system will be shown on the visualizer. For the best experience only play music. This is something I can’t fix. 35 | 36 | ## Installation 37 | 38 | * Download the latest version here: [https://github.com/MarcoPixel/Monstercat-Visualizer/releases](https://github.com/MarcoPixel/Monstercat-Visualizer/releases) 39 | * Install the skin by double-clicking the **.rmskin** file and follow the steps in the installer. 40 | * After finishing the setup Rainmeter will open the settings skin where you can configure and customize the skin. 41 | * You're done! 🎉 42 | 43 | 44 | ## Troubleshooting and FAQs 45 | 46 | You can access the frequently asked questions and our troubleshooting guide in our wiki. 47 | ##### [Click here to open the wiki](https://github.com/MarcoPixel/Monstercat-Visualizer/wiki). 48 | 49 | ## Issues & feature requests 50 | 51 | If you still have issues or a bug, please report them [here](https://github.com/MarcoPixel/Monstercat-Visualizer/issues). Be sure to follow the existing template and fill out the necessary information, otherwise it will be closed without notice. 52 | 53 | You can also request new features and help them develop by joining the discussion. Just add the **request label** to your issue and we will have a look! 54 | 55 | ##### [Click here to get to the open issues](https://github.com/MarcoPixel/Monstercat-Visualizer/issues). 56 | 57 | ## Credits 58 | 59 | - **Rainmeter Skin** - **[@marcopixel](https://github.com/marcopixel) & [@tjhrulz](https://github.com/tjhrulz)** 60 | - **Google Play Music Desktop Player Plugin** - **[@tjhrulz](https://github.com/tjhrulz/GPMDP-Plugin)** 61 | - **WebNowPlaying Plugin** - **[@tjhrulz](https://github.com/tjhrulz/WebNowPlaying)** 62 | - **spicetify-cli** - **[@khanhas](https://github.com/khanhas/spicetify-cli)** 63 | - **SysColor** - **[@brianferguson](https://github.com/brianferguson/SysColor.dll)** 64 | - **Montserrat Font** - **[@JulietaUla](https://github.com/JulietaUla/Montserrat)** 65 | - **Media Controls Icons** - **[Material Icons](https://material.io/icons/)** 66 | - **Additional Icons** - **[Feather Icons](https://feathericons.com/)** 67 | - Thanks to **[@undefinist](https://github.com/undefinist)** for letting me use his factory code (made everything so much easier and cleaner) :thumbsup: 68 | - Thanks to **[@alatsombath](https://github.com/alatsombath)** for letting me use his rotation and audio device picker code :thumbsup: 69 | - For bringing awesome music and artists to the community - **Monstercat** <3 70 | 71 | ##### Disclaimer: The resources used in this skin are in no way endorsed by the respective owners. This skin is not affiliated with Monstercat and the artists. 72 | -------------------------------------------------------------------------------- /Settings/general.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | Settings 3 | Update=50 4 | AccurateText=1 5 | OnRefreshAction=[!SetOption MeterGeneral InlineSetting "Color | 0,0,0,255"][!SetOption MeterGeneral FontFace "Montserrat SemiBold"][!UpdateMeter MeterGeneral][!Redraw] 6 | 7 | ; Background gradient style 8 | [StyleBG] 9 | BGGradient=235 | 52,153,197,255 ; 0.0 | 81,74,157,255 ; 1.0 10 | 11 | [Metadata] 12 | Name=Monstercat Visualizer for Rainmeter 13 | Author=marcopixel 14 | Version=2.1.0 15 | License=MIT License 16 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 17 | 18 | [Variables] 19 | @include=#@#variables.ini 20 | SettingHeight=615 21 | IsMouseDown=0 22 | IsMouseOver=0 23 | CurrentMouseSetting=-1 24 | 25 | ; Include settings menu meters 26 | @include2=#@#include\MeterSettingsMenu.inc 27 | 28 | ; Measure to theck if Mouse button is clicked 29 | [MeasureCalcIfMouseDownDisable] 30 | Measure=Calc 31 | Formula=#IsMouseDown# 32 | UpdateDivider=-1 33 | DynamicVariables=1 34 | IfConditionMode=1 35 | IfCondition = (MeasureCalcIfMouseDownDisable = 0) && (#IsMouseOver# = 0) 36 | IfTrueAction = [!DisableMeasureGroup MouseMeasureGroup] 37 | IfCondition2 = (MeasureCalcIfMouseDownDisable = 0) && (#IsMouseOver# = 1) 38 | IfTrueAction2 = [!DisableMeasureGroup MouseMeasureGroup][!UpdateMeasure MeasureCalcIfMouseDownEnable] 39 | [MeasureCalcIfMouseDownEnable] 40 | Measure=Calc 41 | Formula=#IsMouseDown# 42 | UpdateDivider=-1 43 | DynamicVariables=1 44 | IfConditionMode=1 45 | IfCondition = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 0) 46 | IfTrueAction = [!EnableMeasure MeasureMouseScaleVisualizer][!UpdateMeasure MeasureMouseScaleVisualizer] 47 | IfCondition2 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 1) 48 | IfTrueAction2 = [!EnableMeasure MeasureMouseScaleSongInformation][!UpdateMeasure MeasureMouseScaleSongInformation] 49 | IfCondition3 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 2) 50 | IfTrueAction3 = [!EnableMeasure MeasureMouseBarHeight][!UpdateMeasure MeasureMouseBarHeight] 51 | IfCondition4 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 3) 52 | IfTrueAction4 = [!EnableMeasure MeasureMouseAngle][!UpdateMeasure MeasureMouseAngle] 53 | 54 | ; --- ScaleVisualizer --- ; 55 | 56 | [MeasureMouseScaleVisualizer] 57 | Measure=Plugin 58 | Plugin=Mouse 59 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 60 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables ScaleVisualizer "(Round((Clamp(($MouseX$-[MeterSliderScaleVisualizer:X])/[MeterSliderScaleVisualizer:W],0,1)*2),2))" "#@#variables.ini"][!SetVariable ScaleVisualizer "(Round((Clamp(($MouseX$-[MeterSliderScaleVisualizer:X])/[MeterSliderScaleVisualizer:W],0,1)*2),2))"][!Redraw] 61 | LeftMouseDragAction=[!WriteKeyValue Variables ScaleVisualizer "(Round((Clamp(($MouseX$-[MeterSliderScaleVisualizer:X])/[MeterSliderScaleVisualizer:W],0,1)*2),2))" "#@#variables.ini"][!SetVariable ScaleVisualizer "(Round((Clamp(($MouseX$-[MeterSliderScaleVisualizer:X])/[MeterSliderScaleVisualizer:W],0,1)*2),2))"][!Redraw] 62 | UpdateRate=20 63 | Disabled=1 64 | DynamicVariables=1 65 | Group = MouseMeasureGroup 66 | [MeasureCalcScaleVisualizer] 67 | Measure=Calc 68 | Formula=#ScaleVisualizer# 69 | MinValue=0 70 | MaxValue=2 71 | DynamicVariables=1 72 | [MeterTitleScaleVisualizer] 73 | Meter=String 74 | X=225 75 | Y=25 76 | AntiAlias=1 77 | FontFace=Montserrat Light 78 | FontSize=14 79 | InlineSetting=Color | 255,255,255,255 80 | Text="Visualizer scale" 81 | [MeterValueScaleVisualizer] 82 | Meter=String 83 | MeasureName=MeasureCalcScaleVisualizer 84 | X=([MeterTitleScaleVisualizer:X]+240) 85 | Y=([MeterTitleScaleVisualizer:Y]+3) 86 | AntiAlias=1 87 | FontFace=Segoe UI Regular 88 | FontSize=10 89 | InlineSetting=Color | 255,255,255,150 90 | StringAlign=Right 91 | Text=%1 92 | DynamicVariables=1 93 | LeftMouseUpAction=[!CommandMeasure MeasureInputScaleVisualizer "ExecuteBatch ALL"] 94 | NumOfDecimals=2 95 | [MeasureInputScaleVisualizer] 96 | Measure=Plugin 97 | Plugin=InputText 98 | X=([MeterTitleScaleVisualizer:X]+204) 99 | Y=([MeterTitleScaleVisualizer:Y]+4) 100 | H=17 101 | W=40 102 | FontSize=10 103 | FontColor=255,255,255 104 | SolidColor=0,0,0,255 105 | AntiAlias=1 106 | Right 107 | FocusDismiss=1 108 | DefaultValue=#ScaleVisualizer# 109 | Command1=[!WriteKeyValue Variables ScaleVisualizer "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 110 | DynamicVariables=1 111 | 112 | [MeterSliderScaleVisualizer] 113 | Meter=Shape 114 | X=([MeterTitleScaleVisualizer:X]+260) 115 | Y=([MeterTitleScaleVisualizer:Y]+11) 116 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,25 | StrokeWidth 0 117 | Shape2=Rectangle 0,0,(189*([MeasureCalcScaleVisualizer:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 118 | Shape3=Ellipse (189*([MeasureCalcScaleVisualizer:%]/100)),(4/2),8 | StrokeWidth 0 119 | DynamicVariables=1 120 | MouseScrollUpAction=[!WriteKeyValue Variables ScaleVisualizer "(Round((Clamp(#ScaleVisualizer#+0.01, 0, 2)),2))" "#@#variables.ini"][!SetVariable ScaleVisualizer "(Round((Clamp(#ScaleVisualizer#+0.01, 0, 2)),2)"][!UpdateMeasure "MeasureCalcScaleVisualizer"][!UpdateMeter "MeterSliderScaleVisualizer"][!RefreshGroup "MonstercatVisualizer"] 121 | MouseScrollDownAction=[!WriteKeyValue Variables ScaleVisualizer "(Round((Clamp(#ScaleVisualizer#-0.01, 0, 2)),2))" "#@#variables.ini"][!SetVariable ScaleVisualizer "(Round((Clamp(#ScaleVisualizer#-0.01, 0, 2)),2)"][!UpdateMeasure "MeasureCalcScaleVisualizer"][!UpdateMeter "MeterSliderScaleVisualizer"][!RefreshGroup "MonstercatVisualizer"] 122 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseScaleVisualizer] 123 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 124 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 0][!UpdateMeasure MeasureCalcIfMouseDownEnable] 125 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 126 | 127 | ; --- ScaleSongInformation --- ; 128 | 129 | [MeasureMouseScaleSongInformation] 130 | Measure=Plugin 131 | Plugin=Mouse 132 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 133 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables ScaleSongInformation "(Round((Clamp(($MouseX$-[MeterSliderScaleSongInformation:X])/[MeterSliderScaleSongInformation:W],0,1)*2),2))" "#@#variables.ini"][!SetVariable ScaleSongInformation "(Round((Clamp(($MouseX$-[MeterSliderScaleSongInformation:X])/[MeterSliderScaleSongInformation:W],0,1)*2),2))"][!Redraw] 134 | LeftMouseDragAction=[!WriteKeyValue Variables ScaleSongInformation "(Round((Clamp(($MouseX$-[MeterSliderScaleSongInformation:X])/[MeterSliderScaleSongInformation:W],0,1)*2),2))" "#@#variables.ini"][!SetVariable ScaleSongInformation "(Round((Clamp(($MouseX$-[MeterSliderScaleSongInformation:X])/[MeterSliderScaleSongInformation:W],0,1)*2),2))"][!Redraw] 135 | UpdateRate=20 136 | Disabled=1 137 | DynamicVariables=1 138 | Group = MouseMeasureGroup 139 | [MeasureCalcScaleSongInformation] 140 | Measure=Calc 141 | Formula=#ScaleSongInformation# 142 | MinValue=0 143 | MaxValue=2 144 | DynamicVariables=1 145 | [MeterTitleScaleSongInformation] 146 | Meter=String 147 | X=225 148 | Y=15R 149 | AntiAlias=1 150 | FontFace=Montserrat Light 151 | FontSize=14 152 | InlineSetting=Color | 255,255,255,255 153 | Text="Song Info scale" 154 | [MeterValueScaleSongInformation] 155 | Meter=String 156 | MeasureName=MeasureCalcScaleSongInformation 157 | X=([MeterTitleScaleSongInformation:X]+240) 158 | Y=([MeterTitleScaleSongInformation:Y]+3) 159 | AntiAlias=1 160 | FontFace=Segoe UI Regular 161 | FontSize=10 162 | InlineSetting=Color | 255,255,255,150 163 | StringAlign=Right 164 | Text=%1 165 | DynamicVariables=1 166 | LeftMouseUpAction=[!CommandMeasure MeasureInputScaleSongInformation "ExecuteBatch ALL"] 167 | NumOfDecimals=2 168 | [MeasureInputScaleSongInformation] 169 | Measure=Plugin 170 | Plugin=InputText 171 | X=([MeterTitleScaleSongInformation:X]+204) 172 | Y=([MeterTitleScaleSongInformation:Y]+4) 173 | H=17 174 | W=40 175 | FontSize=10 176 | FontColor=255,255,255 177 | SolidColor=0,0,0,255 178 | AntiAlias=1 179 | Right 180 | FocusDismiss=1 181 | DefaultValue=#ScaleSongInformation# 182 | Command1=[!WriteKeyValue Variables ScaleSongInformation "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 183 | DynamicVariables=1 184 | 185 | [MeterSliderScaleSongInformation] 186 | Meter=Shape 187 | X=([MeterTitleScaleSongInformation:X]+260) 188 | Y=([MeterTitleScaleSongInformation:Y]+11) 189 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,25 | StrokeWidth 0 190 | Shape2=Rectangle 0,0,(189*([MeasureCalcScaleSongInformation:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 191 | Shape3=Ellipse (189*([MeasureCalcScaleSongInformation:%]/100)),(4/2),8 | StrokeWidth 0 192 | DynamicVariables=1 193 | MouseScrollUpAction=[!WriteKeyValue Variables ScaleSongInformation "(Round((Clamp(#ScaleSongInformation#+0.01, 0, 2)),2))" "#@#variables.ini"][!SetVariable ScaleSongInformation "(Round((Clamp(#ScaleSongInformation#+0.01, 0, 2)),2))"][!UpdateMeasure "MeasureCalcScaleSongInformation"][!UpdateMeter "MeterSliderScaleSongInformation"][!RefreshGroup "MonstercatVisualizer"] 194 | MouseScrollDownAction=[!WriteKeyValue Variables ScaleSongInformation "(Round((Clamp(#ScaleSongInformation#-0.01, 0, 2)),2))" "#@#variables.ini"][!SetVariable ScaleSongInformation "(Round((Clamp(#ScaleSongInformation#-0.01, 0, 2)),2))"][!UpdateMeasure "MeasureCalcScaleSongInformation"][!UpdateMeter "MeterSliderScaleSongInformation"][!RefreshGroup "MonstercatVisualizer"] 195 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseScaleSongInformation] 196 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 197 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 1][!UpdateMeasure MeasureCalcIfMouseDownEnable] 198 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 199 | 200 | [MeterSubTitleScale] 201 | Meter=String 202 | X=225 203 | Y=15R 204 | H=40 205 | W=450 206 | AntiAlias=1 207 | FontFace=Segoe UI Regular 208 | FontSize=9 209 | InlineSetting=Color | 255,255,255,150 210 | Text="Modifies the scaling of the visualizer spectrum and the song information.#CRLF#You can pick anything between 0.1x (really small) to 2.0x (twice the size as normal)." 211 | 212 | ; --- BarHeight --- ; 213 | 214 | [MeasureCalcBarHeight] 215 | Measure=Calc 216 | Formula=#BarHeight# 217 | MinValue=0 218 | MaxValue=#WORKAREAHEIGHT# 219 | DynamicVariables=1 220 | [MeasureMouseBarHeight] 221 | Measure=Plugin 222 | Plugin=Mouse 223 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 224 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables BarHeight "(Round(Clamp(($MouseX$-[MeterSliderBarHeight:X])/[MeterSliderBarHeight:W],0,1)*#WORKAREAHEIGHT#))" "#@#variables.ini"][!SetVariable BarHeight "(Round(Clamp(($MouseX$-[MeterSliderBarHeight:X])/[MeterSliderBarHeight:W],0,1)*#WORKAREAHEIGHT#))"][!Redraw] 225 | LeftMouseDragAction=[!WriteKeyValue Variables BarHeight "(Round(Clamp(($MouseX$-[MeterSliderBarHeight:X])/[MeterSliderBarHeight:W],0,1)*#WORKAREAHEIGHT#))" "#@#variables.ini"][!SetVariable BarHeight "(Round(Clamp(($MouseX$-[MeterSliderBarHeight:X])/[MeterSliderBarHeight:W],0,1)*#WORKAREAHEIGHT#))"][!Redraw] 226 | UpdateRate=20 227 | Disabled=1 228 | DynamicVariables=1 229 | Group = MouseMeasureGroup 230 | 231 | [MeterTitleBarHeight] 232 | Meter=String 233 | X=225 234 | Y=15R 235 | AntiAlias=1 236 | FontFace=Montserrat Light 237 | FontSize=14 238 | InlineSetting=Color | 255,255,255,255 239 | Text="Visualizer height" 240 | [MeterValueBarHeight] 241 | Meter=String 242 | MeasureName=MeasureCalcBarHeight 243 | X=([MeterTitleBarHeight:X]+240) 244 | Y=([MeterTitleBarHeight:Y]+3) 245 | AntiAlias=1 246 | FontFace=Segoe UI Regular 247 | FontSize=10 248 | InlineSetting=Color | 255,255,255,150 249 | StringAlign=Right 250 | Text=%1px 251 | DynamicVariables=1 252 | LeftMouseUpAction=[!CommandMeasure MeasureInputBarHeight "ExecuteBatch ALL"] 253 | [MeasureInputBarHeight] 254 | Measure=Plugin 255 | Plugin=InputText 256 | X=([MeterTitleBarHeight:X]+204) 257 | Y=([MeterTitleBarHeight:Y]+4) 258 | H=17 259 | W=40 260 | FontSize=10 261 | FontColor=255,255,255 262 | SolidColor=0,0,0,255 263 | AntiAlias=1 264 | Right 265 | FocusDismiss=1 266 | DefaultValue=#BarHeight# 267 | Command1=[!WriteKeyValue Variables BarHeight "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 268 | DynamicVariables=1 269 | 270 | [MeterSliderBarHeight] 271 | Meter=Shape 272 | X=([MeterTitleBarHeight:X]+260) 273 | Y=([MeterTitleBarHeight:Y]+11) 274 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,25 | StrokeWidth 0 275 | Shape2=Rectangle 0,0,(189*([MeasureCalcBarHeight:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 276 | Shape3=Ellipse (189*([MeasureCalcBarHeight:%]/100)),(4/2),8 | StrokeWidth 0 277 | DynamicVariables=1 278 | MouseScrollUpAction=[!WriteKeyValue Variables BarHeight "(Clamp(#BarHeight#+1, 0, #WORKAREAHEIGHT#))" "#@#variables.ini"][!SetVariable BarHeight "(Clamp(#BarHeight#+1, 0, #WORKAREAHEIGHT#))"][!UpdateMeasure "MeasureCalcBarHeight"][!UpdateMeter "MeterSliderBarHeight"][!RefreshGroup "MonstercatVisualizer"] 279 | MouseScrollDownAction=[!WriteKeyValue Variables BarHeight "(Clamp(#BarHeight#-1, 0, #WORKAREAHEIGHT#))" "#@#variables.ini"][!SetVariable BarHeight "(Clamp(#BarHeight#-1, 0, #WORKAREAHEIGHT#))"][!UpdateMeasure "MeasureCalcBarHeight"][!UpdateMeter "MeterSliderBarHeight"][!RefreshGroup "MonstercatVisualizer"] 280 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseBarHeight] 281 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 282 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 2][!UpdateMeasure MeasureCalcIfMouseDownEnable] 283 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 284 | 285 | ; --- Angle --- ; 286 | 287 | [MeasureCalcAngle] 288 | Measure=Calc 289 | Formula=#Angle# 290 | MinValue=0 291 | MaxValue=360 292 | DynamicVariables=1 293 | [MeasureMouseAngle] 294 | Measure=Plugin 295 | Plugin=Mouse 296 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 297 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables Angle "(Round(Clamp(($MouseX$-[MeterSliderAngle:X])/[MeterSliderAngle:W],0,1)*360))" "#@#variables.ini"][!SetVariable Angle "(Round(Clamp(($MouseX$-[MeterSliderAngle:X])/[MeterSliderAngle:W],0,1)*360))"][!Redraw] 298 | LeftMouseDragAction=[!WriteKeyValue Variables Angle "(Round(Clamp(($MouseX$-[MeterSliderAngle:X])/[MeterSliderAngle:W],0,1)*360))" "#@#variables.ini"][!SetVariable Angle "(Round(Clamp(($MouseX$-[MeterSliderAngle:X])/[MeterSliderAngle:W],0,1)*360))"][!Redraw] 299 | UpdateRate=20 300 | Disabled=1 301 | DynamicVariables=1 302 | Group = MouseMeasureGroup 303 | 304 | [MeterTitleAngle] 305 | Meter=String 306 | X=225 307 | Y=15R 308 | AntiAlias=1 309 | FontFace=Montserrat Light 310 | FontSize=14 311 | InlineSetting=Color | 255,255,255,255 312 | Text="Rotation angle" 313 | [MeterValueAngle] 314 | Meter=String 315 | MeasureName=MeasureCalcAngle 316 | X=([MeterTitleAngle:X]+240) 317 | Y=([MeterTitleAngle:Y]+3) 318 | AntiAlias=1 319 | FontFace=Segoe UI Regular 320 | FontSize=10 321 | InlineSetting=Color | 255,255,255,150 322 | StringAlign=Right 323 | Text=%1[\x00B0] 324 | DynamicVariables=1 325 | LeftMouseUpAction=[!CommandMeasure MeasureInputAngle "ExecuteBatch ALL"] 326 | [MeasureInputAngle] 327 | Measure=Plugin 328 | Plugin=InputText 329 | X=([MeterTitleAngle:X]+204) 330 | Y=([MeterTitleAngle:Y]+4) 331 | H=17 332 | W=40 333 | FontSize=10 334 | FontColor=255,255,255 335 | SolidColor=0,0,0,255 336 | AntiAlias=1 337 | Right 338 | FocusDismiss=1 339 | DefaultValue=#Angle# 340 | Command1=[!WriteKeyValue Variables Angle "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 341 | DynamicVariables=1 342 | 343 | [MeterSliderAngle] 344 | Meter=Shape 345 | X=([MeterTitleAngle:X]+260) 346 | Y=([MeterTitleAngle:Y]+11) 347 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,25 | StrokeWidth 0 348 | Shape2=Rectangle 0,0,(189*([MeasureCalcAngle:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 349 | Shape3=Ellipse (189*([MeasureCalcAngle:%]/100)),(4/2),8 | StrokeWidth 0 350 | DynamicVariables=1 351 | MouseScrollUpAction=[!WriteKeyValue Variables Angle "(Clamp(#Angle#+1, 0, 360))" "#@#variables.ini"][!SetVariable Angle "(Clamp(#Angle#+1, 0, 360))"][!UpdateMeasure "MeasureCalcAngle"][!UpdateMeter "MeterSliderAngle"][!RefreshGroup "MonstercatVisualizer"] 352 | MouseScrollDownAction=[!WriteKeyValue Variables Angle "(Clamp(#Angle#-1, 0, 360))" "#@#variables.ini"][!SetVariable Angle "(Clamp(#Angle#-1, 0, 360))"][!UpdateMeasure "MeasureCalcAngle"][!UpdateMeter "MeterSliderAngle"][!RefreshGroup "MonstercatVisualizer"] 353 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseAngle] 354 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 355 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 3][!UpdateMeasure MeasureCalcIfMouseDownEnable] 356 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 357 | 358 | ; --- AudioDevice --- ; 359 | [MeterTitleAudioDeviceID] 360 | Meter=String 361 | FontFace=Montserrat Light 362 | FontSize=10 363 | InlineSetting=Color | 255,255,255,255 364 | SolidColor=0,0,0,50 365 | padding=15,6,15,6 366 | StringStyle=Bold 367 | X=225 368 | Y=20R 369 | AntiAlias=1 370 | Text="Change audio device" 371 | LeftMouseDownAction=[!ActivateConfig "#ROOTCONFIG#\settings\misc\devicelist" "GetAudioDevices.ini"] 372 | [MeasureAudio] 373 | Measure=Plugin 374 | Plugin=AudioLevel 375 | Port=Output 376 | ID=#AudioDeviceID# 377 | [MeasureAudioDeviceName] 378 | Measure=Plugin 379 | Plugin=AudioLevel 380 | Type=DeviceName 381 | ID=#AudioDeviceID# 382 | 383 | [MeterSubTextAudioDeviceID] 384 | Meter=String 385 | MeasureName=MeasureAudioDeviceName 386 | InlineSetting=Face | Segoe UI 387 | InlineSetting2=Size | 9 388 | InlineSetting3=Weight | 400 389 | InlineSetting4=Color | 255,255,255,150 390 | InlineSetting5=Weight | 500 391 | InlinePattern5=Current device: 392 | InlineSetting6=Color | 255,255,255,200 393 | InlinePattern6=Current device: 394 | X=20R 395 | Y=-2r 396 | W=260 397 | H=35 398 | ClipString=2 399 | AntiAlias=1 400 | Text="Current device:#CRLF#%1" 401 | 402 | ; -- ShowProgressBar -- ; 403 | 404 | [MeasureCalcShowProgressBar] 405 | Measure=Calc 406 | Formula=1 407 | UpdateDivider=-1 408 | DynamicVariables=1 409 | IfCondition=#ShowProgressBar# = 1 410 | IfTrueAction=[!ShowMeter MeterCheckboxShowProgressBar][!HideMeter MeterCheckboxEmptyShowProgressBar][!Redraw] 411 | IfFalseAction=[!HideMeter MeterCheckboxShowProgressBar][!ShowMeter MeterCheckboxEmptyShowProgressBar][!Redraw] 412 | 413 | [MeterCheckboxEmptyShowProgressBar] 414 | Meter=Image 415 | ImageName=#@#images\checkbox_empty.png 416 | X=225 417 | Y=25R 418 | H=25 419 | W=25 420 | DynamicVariables=1 421 | LeftMouseDownAction=[!WriteKeyValue Variables ShowProgressBar 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyShowProgressBar][!ShowMeter MeterCheckboxShowProgressBar][!RefreshGroup "Spectrum"] 422 | [MeterCheckboxShowProgressBar] 423 | Meter=Image 424 | ImageName=#@#images\checkbox.png 425 | X=0r 426 | Y=0r 427 | H=25 428 | W=25 429 | DynamicVariables=1 430 | LeftMouseDownAction=[!WriteKeyValue Variables ShowProgressBar 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyShowProgressBar][!HideMeter MeterCheckboxShowProgressBar][!RefreshGroup "Spectrum"] 431 | 432 | [MeterTitleShowProgressBar] 433 | Meter=String 434 | X=270 435 | Y=3r 436 | AntiAlias=1 437 | FontFace=Montserrat Light 438 | FontSize=12 439 | InlineSetting=Color | 255,255,255,255 440 | Text="Show progress bar" 441 | [MeterSubTitleShowProgressBar] 442 | Meter=String 443 | X=0r 444 | Y=10R 445 | H=40 446 | W=450 447 | AntiAlias=1 448 | FontFace=Segoe UI Regular 449 | FontSize=9 450 | InlineSetting=Color | 255,255,255,150 451 | Text="Enables a song progress bar below the visualizer bars. #CRLF#This will be disabled if the visualizer is rotated." 452 | 453 | ; -- ClipSongInformation -- ; 454 | 455 | [MeasureCalcClipSongInformation] 456 | Measure=Calc 457 | Formula=1 458 | UpdateDivider=-1 459 | DynamicVariables=1 460 | IfCondition=#ClipSongInformation# = 1 461 | IfTrueAction=[!ShowMeter MeterCheckboxClipSongInformation][!HideMeter MeterCheckboxEmptyClipSongInformation][!Redraw] 462 | IfFalseAction=[!HideMeter MeterCheckboxClipSongInformation][!ShowMeter MeterCheckboxEmptyClipSongInformation][!Redraw] 463 | 464 | [MeterCheckboxEmptyClipSongInformation] 465 | Meter=Image 466 | ImageName=#@#images\checkbox_empty.png 467 | X=225 468 | Y=10R 469 | H=25 470 | W=25 471 | DynamicVariables=1 472 | LeftMouseDownAction=[!WriteKeyValue Variables ClipSongInformation 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyClipSongInformation][!ShowMeter MeterCheckboxClipSongInformation][!RefreshGroup "Spectrum"] 473 | [MeterCheckboxClipSongInformation] 474 | Meter=Image 475 | ImageName=#@#images\checkbox.png 476 | X=0r 477 | Y=0r 478 | H=25 479 | W=25 480 | DynamicVariables=1 481 | LeftMouseDownAction=[!WriteKeyValue Variables ClipSongInformation 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyClipSongInformation][!HideMeter MeterCheckboxClipSongInformation][!RefreshGroup "Spectrum"] 482 | 483 | [MeterTitleClipSongInformation] 484 | Meter=String 485 | X=270 486 | Y=3r 487 | AntiAlias=1 488 | FontFace=Montserrat Light 489 | FontSize=12 490 | InlineSetting=Color | 255,255,255,255 491 | Text="Clip Song information" 492 | [MeterSubTitleClipSongInformation] 493 | Meter=String 494 | X=0r 495 | Y=10R 496 | H=25 497 | W=450 498 | AntiAlias=1 499 | FontFace=Segoe UI Regular 500 | FontSize=9 501 | InlineSetting=Color | 255,255,255,150 502 | Text="This will cut off the artist and song name if it's bigger than the visualizer." 503 | 504 | ; -- EnableAutoHide -- ; 505 | 506 | [MeasureCalcEnableAutoHide] 507 | Measure=Calc 508 | Formula=1 509 | UpdateDivider=-1 510 | DynamicVariables=1 511 | IfCondition=#EnableAutoHide# = 1 512 | IfTrueAction=[!ShowMeter MeterCheckboxEnableAutoHide][!HideMeter MeterCheckboxEmptyEnableAutoHide][!Redraw] 513 | IfFalseAction=[!HideMeter MeterCheckboxEnableAutoHide][!ShowMeter MeterCheckboxEmptyEnableAutoHide][!Redraw] 514 | 515 | [MeterCheckboxEmptyEnableAutoHide] 516 | Meter=Image 517 | ImageName=#@#images\checkbox_empty.png 518 | X=225 519 | Y=10R 520 | H=25 521 | W=25 522 | DynamicVariables=1 523 | LeftMouseDownAction=[!WriteKeyValue Variables EnableAutoHide 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyEnableAutoHide][!ShowMeter MeterCheckboxEnableAutoHide][!RefreshGroup "Spectrum"] 524 | [MeterCheckboxEnableAutoHide] 525 | Meter=Image 526 | ImageName=#@#images\checkbox.png 527 | X=0r 528 | Y=0r 529 | H=25 530 | W=25 531 | DynamicVariables=1 532 | LeftMouseDownAction=[!WriteKeyValue Variables EnableAutoHide 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyEnableAutoHide][!HideMeter MeterCheckboxEnableAutoHide][!RefreshGroup "Spectrum"] 533 | 534 | [MeterTitleEnableAutoHide] 535 | Meter=String 536 | X=270 537 | Y=3r 538 | AntiAlias=1 539 | FontFace=Montserrat Light 540 | FontSize=12 541 | InlineSetting=Color | 255,255,255,255 542 | Text="Hide skin when media player is not running" 543 | [MeterSubTitleEnableAutoHide] 544 | Meter=String 545 | X=0r 546 | Y=10R 547 | H=40 548 | W=400 549 | AntiAlias=1 550 | FontFace=Segoe UI Regular 551 | FontSize=9 552 | ClipString=1 553 | InlineSetting=Color | 255,255,255,150 554 | Text="This will hide the visualizer and song information when the media player is not running or detected. Disable this setting if you dont see the visualizer." 555 | 556 | ; -- EnableAutoMute -- ; 557 | 558 | [MeasureCalcEnableAutoMute] 559 | Measure=Calc 560 | Formula=1 561 | UpdateDivider=-1 562 | DynamicVariables=1 563 | IfCondition=#EnableAutoMute# = 1 564 | IfTrueAction=[!ShowMeter MeterCheckboxEnableAutoMute][!HideMeter MeterCheckboxEmptyEnableAutoMute][!Redraw] 565 | IfFalseAction=[!HideMeter MeterCheckboxEnableAutoMute][!ShowMeter MeterCheckboxEmptyEnableAutoMute][!Redraw] 566 | 567 | [MeterCheckboxEmptyEnableAutoMute] 568 | Meter=Image 569 | ImageName=#@#images\checkbox_empty.png 570 | X=225 571 | Y=10R 572 | H=25 573 | W=25 574 | DynamicVariables=1 575 | LeftMouseDownAction=[!WriteKeyValue Variables EnableAutoMute 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyEnableAutoMute][!ShowMeter MeterCheckboxEnableAutoMute][!RefreshGroup "Spectrum"] 576 | [MeterCheckboxEnableAutoMute] 577 | Meter=Image 578 | ImageName=#@#images\checkbox.png 579 | X=0r 580 | Y=0r 581 | H=25 582 | W=25 583 | DynamicVariables=1 584 | LeftMouseDownAction=[!WriteKeyValue Variables EnableAutoMute 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyEnableAutoMute][!HideMeter MeterCheckboxEnableAutoMute][!RefreshGroup "Spectrum"] 585 | 586 | [MeterTitleEnableAutoMute] 587 | Meter=String 588 | X=270 589 | Y=3r 590 | AntiAlias=1 591 | FontFace=Montserrat Light 592 | FontSize=12 593 | InlineSetting=Color | 255,255,255,255 594 | Text="Ignore sound when not playing a song" 595 | [MeterSubTitleEnableAutoMute] 596 | Meter=String 597 | X=0r 598 | Y=10R 599 | H=40 600 | W=400 601 | AntiAlias=1 602 | FontFace=Segoe UI Regular 603 | FontSize=9 604 | ClipString=1 605 | InlineSetting=Color | 255,255,255,150 606 | Text="This will cause the visualizer to ignore any sound when the media player is not playing a song or detected." -------------------------------------------------------------------------------- /Settings/mediaplayer.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | Settings 3 | Update=50 4 | AccurateText=1 5 | OnRefreshAction=[!SetOption MeterMediaPlayer InlineSetting "Color | 0,0,0,255"][!SetOption MeterMediaPlayer FontFace "Montserrat SemiBold"][!UpdateMeter MeterMediaPlayer][!Redraw] 6 | 7 | ; Background gradient style 8 | [StyleBG] 9 | BGGradient=45 | 244,107,69,255 ; 0.0 | 237,143,3,255 ; 1.0 10 | 11 | [Metadata] 12 | Name=Monstercat Visualizer for Rainmeter 13 | Author=marcopixel 14 | Version=2.1.0 15 | License=MIT License 16 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 17 | 18 | 19 | [Variables] 20 | SettingHeight=550 21 | ; Includes the variables used for the skin. 22 | @include=#@#variables.ini 23 | 24 | ; Include media player and styling measures. 25 | @include2=#@#include\MeterSettingsMenu.inc 26 | 27 | [MeterTitle] 28 | Meter=String 29 | FontFace=Montserrat Light 30 | FontSize=14 31 | InlineSetting=Color | 255,255,255,255 32 | X=225 33 | Y=25 34 | AntiAlias=1 35 | Text="Choose your mediaplayer" 36 | [MeterSubTitle] 37 | Meter=String 38 | FontFace=Segoe UI Regular 39 | FontSize=9 40 | InlineSetting=Color | 255,255,255,200 41 | X=225 42 | Y=10R 43 | H=20 44 | W=450 45 | ClipString=2 46 | AntiAlias=1 47 | Text="Please pick your media player from where you want to retrieve song information." 48 | [MeterSubTitleSpotify] 49 | Meter=String 50 | FontFace=Segoe UI Regular 51 | FontSize=9 52 | InlineSetting=Color | 255,255,255,200 53 | X=225 54 | Y=2R 55 | H=35 56 | W=450 57 | ClipString=2 58 | AntiAlias=1 59 | Text="Spotify is supported via WebNowPlaying, for more information please click the guide down below:" 60 | InlineSetting2=Weight | 700 61 | InlinePattern2=(Spotify | WebNowPlaying) 62 | InlineSetting3=Color | 255,255,255,230 63 | InlinePattern3=(Spotify | WebNowPlaying) 64 | [MeterURLSpotify] 65 | Meter=String 66 | FontFace=Segoe UI Regular 67 | FontSize=9 68 | InlineSetting=Color | 255,255,255,230 69 | X=225 70 | Y=2R 71 | H=20 72 | W=450 73 | ClipString=2 74 | AntiAlias=1 75 | Text="https://github.com/marcopixel/Monstercat-Visualizer/wiki/WebNowPlaying-Spotify" 76 | LeftMouseUpAction=https://github.com/marcopixel/Monstercat-Visualizer/wiki/WebNowPlaying-Spotify 77 | [MeterButtonBGSelected01] 78 | Meter=Image 79 | SolidColor=0,0,0,200 80 | X=225 81 | Y=150 82 | H=72 83 | W=147 84 | Hidden=1 85 | Group=ButtonBGSelected 86 | [MeterButtonBG01] 87 | Meter=Image 88 | SolidColor=0,0,0,100 89 | X=1r 90 | Y=1r 91 | H=70 92 | W=145 93 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName AIMP "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected01][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 94 | [MeterButtonBGSelected02] 95 | Meter=Image 96 | SolidColor=0,0,0,200 97 | X=9R 98 | Y=150 99 | H=72 100 | W=147 101 | Hidden=1 102 | Group=ButtonBGSelected 103 | [MeterButtonBG02] 104 | Meter=Image 105 | SolidColor=0,0,0,100 106 | X=1r 107 | Y=1r 108 | H=70 109 | W=145 110 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName CAD "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected02][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 111 | [MeterButtonBGSelected03] 112 | Meter=Image 113 | SolidColor=0,0,0,200 114 | X=9R 115 | Y=150 116 | H=72 117 | W=147 118 | Hidden=1 119 | Group=ButtonBGSelected 120 | [MeterButtonBG03] 121 | Meter=Image 122 | SolidColor=0,0,0,100 123 | X=1r 124 | Y=1r 125 | H=70 126 | W=145 127 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName iTunes "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected03][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 128 | [MeterButtonBGSelected04] 129 | Meter=Image 130 | SolidColor=0,0,0,200 131 | X=225 132 | Y=10R 133 | H=72 134 | W=147 135 | Hidden=1 136 | Group=ButtonBGSelected 137 | [MeterButtonBG04] 138 | Meter=Image 139 | SolidColor=0,0,0,100 140 | X=1r 141 | Y=1r 142 | H=70 143 | W=145 144 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName Winamp "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected04][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 145 | [MeterButtonBGSelected05] 146 | Meter=Image 147 | SolidColor=0,0,0,200 148 | X=9R 149 | Y=-1r 150 | H=72 151 | W=147 152 | Hidden=1 153 | Group=ButtonBGSelected 154 | [MeterButtonBG05] 155 | Meter=Image 156 | SolidColor=0,0,0,100 157 | X=1r 158 | Y=1r 159 | H=70 160 | W=145 161 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName CAD "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected05][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 162 | [MeterButtonBGSelected06] 163 | Meter=Image 164 | SolidColor=0,0,0,200 165 | X=9R 166 | Y=-1r 167 | H=72 168 | W=147 169 | Hidden=1 170 | Group=ButtonBGSelected 171 | [MeterButtonBG06] 172 | Meter=Image 173 | SolidColor=0,0,0,100 174 | X=1r 175 | Y=1r 176 | H=70 177 | W=145 178 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName WMP "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected06][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 179 | [MeterButtonBGSelected07] 180 | Meter=Image 181 | SolidColor=0,0,0,200 182 | X=225 183 | Y=10R 184 | H=72 185 | W=147 186 | Hidden=1 187 | Group=ButtonBGSelected 188 | [MeterButtonBG07] 189 | Meter=Image 190 | SolidColor=0,0,0,100 191 | X=1r 192 | Y=1r 193 | H=70 194 | W=145 195 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName MediaMonkey "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected07][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 196 | [MeterButtonBGSelected08] 197 | Meter=Image 198 | SolidColor=0,0,0,200 199 | X=9R 200 | Y=-1r 201 | H=72 202 | W=147 203 | Hidden=1 204 | Group=ButtonBGSelected 205 | [MeterButtonBG08] 206 | Meter=Image 207 | SolidColor=0,0,0,100 208 | X=1r 209 | Y=1r 210 | H=70 211 | W=145 212 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName CAD "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected08][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 213 | [MeterButtonBGSelected09] 214 | Meter=Image 215 | SolidColor=0,0,0,200 216 | X=9R 217 | Y=-1r 218 | H=72 219 | W=147 220 | Hidden=1 221 | Group=ButtonBGSelected 222 | [MeterButtonBG09] 223 | Meter=Image 224 | SolidColor=0,0,0,100 225 | X=1r 226 | Y=1r 227 | H=70 228 | W=145 229 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName CAD "#@#variables.ini"][!WriteKeyValue Variables MPMode NowPlaying "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected09][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 230 | [MeterButtonBGSelected10] 231 | Meter=Image 232 | SolidColor=0,0,0,200 233 | X=225 234 | Y=10R 235 | H=72 236 | W=222 237 | Hidden=1 238 | Group=ButtonBGSelected 239 | [MeterButtonBG10] 240 | Meter=Image 241 | SolidColor=0,0,0,100 242 | X=1r 243 | Y=1r 244 | H=70 245 | W=222 246 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName Web "#@#variables.ini"][!WriteKeyValue Variables MPMode Web "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected10][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 247 | [MeterButtonBGSelected11] 248 | Meter=Image 249 | SolidColor=0,0,0,200 250 | X=9R 251 | Y=-1r 252 | H=72 253 | W=223 254 | Hidden=1 255 | Group=ButtonBGSelected 256 | [MeterButtonBG11] 257 | Meter=Image 258 | SolidColor=0,0,0,100 259 | X=1r 260 | Y=1r 261 | H=70 262 | W=223 263 | LeftMouseDownAction=[!WriteKeyValue Variables PlayerName GPMDP "#@#variables.ini"][!WriteKeyValue Variables MPMode GPMDP "#@#variables.ini"][!HideMeterGroup ButtonBGSelected][!ShowMeter MeterButtonBGSelected11][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"][!Redraw] 264 | 265 | [MeterButtonText01] 266 | Meter=String 267 | FontFace=Montserrat SemiBold 268 | FontSize=12 269 | FontColor=255,255,255,255 270 | X=298 271 | Y=187 272 | StringAlign=CenterCenter 273 | AntiAlias=1 274 | Text="AIMP" 275 | [MeterButtonText02] 276 | Meter=String 277 | FontFace=Montserrat SemiBold 278 | FontSize=12 279 | FontColor=255,255,255,255 280 | X=455 281 | Y=0r 282 | StringAlign=CenterCenter 283 | AntiAlias=1 284 | Text="foobar2000" 285 | [MeterButtonText03] 286 | Meter=String 287 | FontFace=Montserrat SemiBold 288 | FontSize=12 289 | FontColor=255,255,255,255 290 | X=608 291 | Y=0r 292 | StringAlign=CenterCenter 293 | AntiAlias=1 294 | Text="iTunes" 295 | [MeterButtonText04] 296 | Meter=String 297 | FontFace=Montserrat SemiBold 298 | FontSize=12 299 | FontColor=255,255,255,255 300 | X=298 301 | Y=80r 302 | StringAlign=CenterCenter 303 | AntiAlias=1 304 | Text="Winamp" 305 | [MeterButtonText05] 306 | Meter=String 307 | FontFace=Montserrat SemiBold 308 | FontSize=12 309 | FontColor=255,255,255,255 310 | X=455 311 | Y=0r 312 | StringAlign=CenterCenter 313 | AntiAlias=1 314 | Text="CD Art Display" 315 | [MeterButtonText06] 316 | Meter=String 317 | FontFace=Montserrat SemiBold 318 | FontSize=10 319 | FontColor=255,255,255,255 320 | X=608 321 | Y=0r 322 | W=150 323 | H=50 324 | StringAlign=CenterCenter 325 | AntiAlias=1 326 | Text="Windows Media Player" 327 | ClipString=2 328 | [MeterButtonText07] 329 | Meter=String 330 | FontFace=Montserrat SemiBold 331 | FontSize=12 332 | FontColor=255,255,255,255 333 | X=298 334 | Y=80r 335 | StringAlign=CenterCenter 336 | AntiAlias=1 337 | Text="MediaMonkey" 338 | [MeterButtonText08] 339 | Meter=String 340 | FontFace=Montserrat SemiBold 341 | FontSize=12 342 | FontColor=255,255,255,255 343 | X=455 344 | Y=0r 345 | StringAlign=CenterCenter 346 | AntiAlias=1 347 | Text="MusicBee" 348 | [MeterButtonText09] 349 | Meter=String 350 | FontFace=Montserrat SemiBold 351 | FontSize=9 352 | FontColor=255,255,255,255 353 | X=608 354 | Y=0r 355 | W=135 356 | H=50 357 | ClipString=2 358 | StringAlign=CenterCenter 359 | AntiAlias=1 360 | Text="J. River Media Center Media Jukebox" 361 | [MeterButtonWebLogo] 362 | Meter=Image 363 | ImageName=#@#images\WebNowPlaying_logo.png 364 | X=261 365 | Y=62r 366 | H=40 367 | W=150 368 | PreserveAspectRatio=1 369 | [MeterButtonGPMLogo] 370 | Meter=Image 371 | ImageName=#@#images\GPM_logo.png 372 | X=494 373 | Y=r 374 | H=40 375 | W=150 376 | Color=0,0,0 377 | PreserveAspectRatio=1 378 | 379 | [MeterTroubleshoot] 380 | Meter=String 381 | FontFace=Segoe UI Regular 382 | FontSize=9 383 | InlineSetting=Color | 255,255,255,200 384 | X=455 385 | Y=40R 386 | H=40 387 | W=450 388 | ClipString=2 389 | AntiAlias=1 390 | StringAlign=CenterCenter 391 | Text=If you still having issues with one of the media players, please go to 392 | [MeterTroubleshootLink] 393 | Meter=String 394 | FontFace=Segoe UI Regular 395 | FontSize=9 396 | InlineSetting=Color | 255,255,255,255 397 | X=455 398 | Y=18r 399 | H=40 400 | W=450 401 | ClipString=2 402 | AntiAlias=1 403 | InlineSetting=Underline 404 | StringAlign=CenterCenter 405 | Text=https://github.com/marcopixel/Monstercat-Visualizer/wiki/Troubleshooting 406 | LeftMouseUpAction=https://github.com/marcopixel/Monstercat-Visualizer/wiki/Troubleshooting 407 | -------------------------------------------------------------------------------- /Settings/misc/Intro.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Update=-1 3 | 4 | [Metadata] 5 | Name=Monstercat Visualizer for Rainmeter 6 | Author=marcopixel 7 | Version=2.1.0 8 | License=MIT License 9 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 10 | 11 | [Variables] 12 | IntroAction=[!ActivateConfig "#ROOTCONFIG#" "visualizer.ini"][!ActivateConfig "#ROOTCONFIG#\Song Information" "Left.ini"][!ActivateConfig "#ROOTCONFIG#\Song Information\Cover" "Cover.ini"][!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"][!DeactivateConfig] 13 | ; Includes the variables used for the skin. 14 | @include=#@#variables.ini 15 | 16 | [MeterBackground] 17 | Meter=Shape 18 | MeterStyle=StyleBG 19 | Shape=Rectangle 0,0,500,425 | Fill LinearGradient BGGradient | StrokeWidth 0 20 | Shape2=Rectangle 0,425,500,75 | Fill Color 255,255,255,255 | StrokeWidth 0 21 | BGGradient=235 | 52,153,197,255 ; 0.0 | 81,74,157,255 ; 1.0 22 | 23 | [MeterButtonMonstercatLogo] 24 | Meter=Image 25 | ImageName=#@#images\nocover.png 26 | X=150 27 | Y=100 28 | H=200 29 | W=200 30 | LeftMouseDownAction=#IntroAction# 31 | 32 | 33 | [MeterSkinName] 34 | Meter=String 35 | FontFace=Segoe UI Regular 36 | FontSize=10 37 | FontColor=255,255,255,125 38 | X=20 39 | Y=395 40 | AntiAlias=1 41 | Text="Monstercat Visualizer for Rainmeter" 42 | 43 | [MeterVersionNumber] 44 | Meter=String 45 | FontFace=Segoe UI Regular 46 | FontSize=10 47 | FontColor=255,255,255,125 48 | X=480 49 | Y=395 50 | W=280 51 | StringAlign=Right 52 | AntiAlias=1 53 | Text="Version #Version#" 54 | 55 | [MeterButtonArrowNextImage] 56 | Meter=Image 57 | ImageName=#@#images\arrow_right.png 58 | ImageTint=0,0,0,255 59 | X=375 60 | Y=450 61 | H=25 62 | W=25 63 | LeftMouseDownAction=#IntroAction# 64 | [MeterButtonArrowNextText] 65 | Meter=String 66 | FontColor=0,0,0,255 67 | FontFace=Montserrat SemiBold 68 | FontSize=14 69 | X=480 70 | Y=451 71 | StringAlign=Right 72 | AntiAlias=1 73 | Text="Set-up" 74 | LeftMouseDownAction=#IntroAction# -------------------------------------------------------------------------------- /Settings/misc/devicelist/GetAudioDevices.ini: -------------------------------------------------------------------------------- 1 | ; original author alatsombath / Github: alatsombath 2 | ; adjusted to fit to the monstercat visualizer by marcopixel 3 | 4 | [Rainmeter] 5 | Update=-1 6 | OnRefreshAction=[!SkinCustomMenu] 7 | OnUnfocusAction=[!DeactivateConfig] 8 | 9 | ContextTitle=" Default" 10 | ContextAction=[!SetOption - String "(Change)"][!UpdateMeasure -] 11 | 12 | [Metadata] 13 | Name=Monstercat Visualizer for Rainmeter 14 | Author=marcopixel 15 | Version=2.1.0 16 | License=MIT License 17 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 18 | 19 | [Variables] 20 | ; Includes the variables used for the skin. 21 | @include=#@#variables.ini 22 | 23 | [-] 24 | Measure=String 25 | OnChangeAction=[!WriteKeyValue Variables AudioDeviceID "" "#@#variables.ini"][!RefreshGroup Spectrum][!RefreshGroup Spectrum][!RefreshGroup Settings][!DeactivateConfig] 26 | 27 | [MeasureAudio] 28 | Measure=Plugin 29 | Plugin=AudioLevel 30 | Port=Output 31 | [MeasureAudioDeviceList] 32 | Measure=Plugin 33 | Plugin=AudioLevel 34 | Parent=MeasureAudio 35 | Type=DeviceList 36 | 37 | [ParseAudioDeviceList] 38 | Measure=Script 39 | ScriptFile=#@#scripts\AudioDeviceList.lua 40 | 41 | [MeterDummy] 42 | Meter=Image 43 | -------------------------------------------------------------------------------- /Settings/misc/init/InitializeSkin.ini: -------------------------------------------------------------------------------- 1 | ; original author alatsombath / Github: alatsombath 2 | ; adjusted to fit to the monstercat visualizer by marcopixel 3 | 4 | [Rainmeter] 5 | Update=-1 6 | 7 | [Metadata] 8 | Name=Monstercat Visualizer for Rainmeter 9 | Author=marcopixel 10 | Version=2.1.0 11 | License=MIT License 12 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 13 | 14 | [Variables] 15 | ; Includes the variables used for the skin. 16 | @include=#@#variables.ini 17 | 18 | [ScriptInitialize] 19 | Measure=Script 20 | ScriptFile=#@#scripts\Rotate.lua 21 | 22 | [MeterDummy] 23 | Meter=Image 24 | -------------------------------------------------------------------------------- /Settings/misc/update/UpdateInfo.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Update=1000 3 | 4 | [Metadata] 5 | Name=Monstercat Visualizer for Rainmeter 6 | Author=marcopixel & alatsombath 7 | License=MIT License 8 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 9 | 10 | [Variables] 11 | ; Includes the variables used for the skin. 12 | @include=#@#variables.ini 13 | 14 | ; Include update measures 15 | @include2=#@#include\MeasureUpdateChecker.inc 16 | 17 | [MeterBG] 18 | Meter=Shape 19 | Shape=Rectangle 0,0,400,300 | Fill Color 255,255,255,255 | StrokeWidth 0 20 | Shape2=Rectangle 0,100,400,200 | Fill LinearGradient BGGradient | StrokeWidth 0 21 | BGGradient=235 | 52,153,197,255 ; 0.0 | 81,74,157,255 ; 1.0 22 | 23 | [MeterUpdateTitle] 24 | Meter=String 25 | X=200 26 | Y=25 27 | W=350 28 | ClipString=2 29 | StringAlign=Center 30 | FontColor=0,0,0,255 31 | FontFace=Montserrat SemiBold 32 | FontSize=14 33 | AntiAlias=1 34 | Text="Your version of the Monstercat Visualizer is outdated." 35 | 36 | [MeterUpdateCurrentVersion] 37 | Meter=String 38 | MeasureName=MeasureCurrentVersion 39 | X=100 40 | Y=125 41 | StringAlign=Center 42 | FontColor=255,255,255,255 43 | FontFace=Montserrat SemiBold 44 | FontSize=22 45 | AntiAlias=1 46 | [MeterUpdateCurrentVersionSub] 47 | Meter=String 48 | X=100 49 | Y=165 50 | StringAlign=Center 51 | FontColor=255,255,255,255 52 | FontFace=Montserrat Light 53 | FontSize=12 54 | AntiAlias=1 55 | Text="Current" 56 | [MeterImageArrowRight] 57 | Meter=Image 58 | ImageName=#@#images\arrow_right.png 59 | X=180 60 | Y=135 61 | W=40 62 | H=40 63 | [MeterUpdateLatestVersion] 64 | Meter=String 65 | X=300 66 | Y=125 67 | StringAlign=Center 68 | FontColor=255,255,255,255 69 | FontFace=Montserrat SemiBold 70 | FontSize=22 71 | AntiAlias=1 72 | Text=#LatestVersion# 73 | [MeterUpdateLatestVersionSub] 74 | Meter=String 75 | X=300 76 | Y=165 77 | StringAlign=Center 78 | FontColor=255,255,255,255 79 | FontFace=Montserrat Light 80 | FontSize=12 81 | AntiAlias=1 82 | Text="Latest" 83 | 84 | [MeterUpdateDownloadLatest] 85 | Meter=String 86 | X=200 87 | Y=205 88 | W=400 89 | ClipString=2 90 | StringAlign=Center 91 | FontColor=255,255,255,255 92 | FontFace=Montserrat Regular 93 | FontSize=16 94 | AntiAlias=1 95 | Text="Download latest version" 96 | LeftMouseDownAction=https://github.com/MarcoPixel/Monstercat-Visualizer/releases/latest 97 | [MeterUpdateHideUntilRestart] 98 | Meter=String 99 | X=200 100 | Y=245 101 | W=400 102 | ClipString=2 103 | StringAlign=Center 104 | FontColor=255,255,255,150 105 | FontFace=Montserrat Light 106 | FontSize=10 107 | AntiAlias=1 108 | Text="Remind me later" 109 | LeftMouseDownAction=[!DeactivateConfig] 110 | [MeterUpdateHideAll] 111 | Meter=String 112 | X=200 113 | Y=265 114 | W=400 115 | ClipString=2 116 | StringAlign=Center 117 | FontColor=255,255,255,150 118 | FontFace=Montserrat Light 119 | FontSize=10 120 | AntiAlias=1 121 | Text="Hide all future update notifications" 122 | LeftMouseDownAction=[!WriteKeyValue Variables DisableUpdateNag 1 "#@#Variables.ini"][!DeactivateConfig] -------------------------------------------------------------------------------- /Settings/styling.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | Settings 3 | Update=50 4 | AccurateText=1 5 | OnRefreshAction=[!SetOption MeterStyling InlineSetting "Color | 0,0,0,255"][!SetOption MeterStyling FontFace "Montserrat SemiBold"][!UpdateMeter MeterStyling][!Redraw] 6 | 7 | ; Background gradient style 8 | [StyleBG] 9 | BGGradient=225 | 72,85,99,255 ; 0.0 | 41,50,60,255 ; 1.0 10 | 11 | [Metadata] 12 | Name=Monstercat Visualizer for Rainmeter 13 | Author=marcopixel 14 | Version=2.1.0 15 | License=MIT License 16 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 17 | 18 | 19 | [Variables] 20 | SettingHeight=835 21 | ; Includes the variables used for the skin. 22 | @include=#@#variables.ini 23 | 24 | ; Include media player and styling measures. 25 | @include2=#@#include\MeterSettingsMenu.inc 26 | 27 | [MeasureColorRainRGB] 28 | Measure=Plugin 29 | Plugin=RunCommand 30 | Program=""#@#addons\RainRGB4.exe"" 31 | Parameter=""VarName=Color" "FileName=#@#variables.ini" "RefreshConfig=-1"" 32 | OutputType=ANSI 33 | FinishAction=[!Update][!RefreshGroup "SysDash"] 34 | [MeasureTextColorRainRGB] 35 | Measure=Plugin 36 | Plugin=RunCommand 37 | Program=""#@#addons\RainRGB4.exe"" 38 | Parameter=""VarName=TextColor" "FileName=#@#variables.ini" "RefreshConfig=-1"" 39 | OutputType=ANSI 40 | FinishAction=[!Update][!RefreshGroup "SysDash"] 41 | 42 | 43 | [MeterTitleColor] 44 | Meter=String 45 | X=225 46 | Y=15 47 | AntiAlias=1 48 | FontFace=Montserrat Light 49 | FontSize=14 50 | InlineSetting=Color | 255,255,255,255 51 | Text="Skin color" 52 | [MeterColor01] 53 | Meter=Shape 54 | X=225 55 | Y=10R 56 | Shape=Rectangle 0,0,40,40,5 | Fill Color 204,0,40 | StrokeWidth 0 57 | LeftMouseUpAction=[!WriteKeyValue Variables Color 204,0,40 "#@#variables.ini"][!RefreshGroup "Spectrum"] 58 | [MeterColor02] 59 | Meter=Shape 60 | X=10R 61 | Y=0r 62 | Shape=Rectangle 0,0,40,40,5 | Fill Color 216,27,96 | StrokeWidth 0 63 | LeftMouseUpAction=[!WriteKeyValue Variables Color 216,27,96 "#@#variables.ini"][!RefreshGroup "Spectrum"] 64 | [MeterColor03] 65 | Meter=Shape 66 | X=10R 67 | Y=0r 68 | Shape=Rectangle 0,0,40,40,5 | Fill Color 156,39,176 | StrokeWidth 0 69 | LeftMouseUpAction=[!WriteKeyValue Variables Color 156,39,176 "#@#variables.ini"][!RefreshGroup "Spectrum"] 70 | [MeterColor04] 71 | Meter=Shape 72 | X=10R 73 | Y=0r 74 | Shape=Rectangle 0,0,40,40,5 | Fill Color 109,62,196 | StrokeWidth 0 75 | LeftMouseUpAction=[!WriteKeyValue Variables Color 109,62,196 "#@#variables.ini"][!RefreshGroup "Spectrum"] 76 | [MeterColor05] 77 | Meter=Shape 78 | X=10R 79 | Y=0r 80 | Shape=Rectangle 0,0,40,40,5 | Fill Color 63,81,181 | StrokeWidth 0 81 | LeftMouseUpAction=[!WriteKeyValue Variables Color 63,81,181 "#@#variables.ini"][!RefreshGroup "Spectrum"] 82 | [MeterColor06] 83 | Meter=Shape 84 | X=10R 85 | Y=0r 86 | Shape=Rectangle 0,0,40,40,5 | Fill Color 33,150,243 | StrokeWidth 0 87 | LeftMouseUpAction=[!WriteKeyValue Variables Color 33,150,243 "#@#variables.ini"][!RefreshGroup "Spectrum"] 88 | [MeterColor07] 89 | Meter=Shape 90 | X=10R 91 | Y=0r 92 | Shape=Rectangle 0,0,40,40,5 | Fill Color 99,221,237 | StrokeWidth 0 93 | LeftMouseUpAction=[!WriteKeyValue Variables Color 99,221,237 "#@#variables.ini"][!RefreshGroup "Spectrum"] 94 | [MeterColor08] 95 | Meter=Shape 96 | X=10R 97 | Y=0r 98 | Shape=Rectangle 0,0,40,40,5 | Fill Color 72,225,188 | StrokeWidth 0 99 | LeftMouseUpAction=[!WriteKeyValue Variables Color 72,225,188 "#@#variables.ini"][!RefreshGroup "Spectrum"] 100 | [MeterColor09] 101 | Meter=Shape 102 | X=10R 103 | Y=0r 104 | Shape=Rectangle 0,0,40,40,5 | Fill Color 40,199,111 | StrokeWidth 0 105 | LeftMouseUpAction=[!WriteKeyValue Variables Color 40,199,111 "#@#variables.ini"][!RefreshGroup "Spectrum"] 106 | [MeterColor10] 107 | Meter=Shape 108 | X=[MeterColor01:X] 109 | Y=10R 110 | Shape=Rectangle 0,0,40,40,5 | Fill Color 92,204,59 | StrokeWidth 0 111 | LeftMouseUpAction=[!WriteKeyValue Variables Color 92,204,59 "#@#variables.ini"][!RefreshGroup "Spectrum"] 112 | DynamicVariables=1 113 | [MeterColor11] 114 | Meter=Shape 115 | X=10R 116 | Y=0r 117 | Shape=Rectangle 0,0,40,40,5 | Fill Color 205,220,57 | StrokeWidth 0 118 | LeftMouseUpAction=[!WriteKeyValue Variables Color 205,220,57 "#@#variables.ini"][!RefreshGroup "Spectrum"] 119 | [MeterColor12] 120 | Meter=Shape 121 | X=10R 122 | Y=0r 123 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,235,59 | StrokeWidth 0 124 | LeftMouseUpAction=[!WriteKeyValue Variables Color 255,235,59 "#@#variables.ini"][!RefreshGroup "Spectrum"] 125 | [MeterColor13] 126 | Meter=Shape 127 | X=10R 128 | Y=0r 129 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,193,7 | StrokeWidth 0 130 | LeftMouseUpAction=[!WriteKeyValue Variables Color 255,193,7 "#@#variables.ini"][!RefreshGroup "Spectrum"] 131 | [MeterColor14] 132 | Meter=Shape 133 | X=10R 134 | Y=0r 135 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,152,0 | StrokeWidth 0 136 | LeftMouseUpAction=[!WriteKeyValue Variables Color 255,152,0 "#@#variables.ini"][!RefreshGroup "Spectrum"] 137 | [MeterColor15] 138 | Meter=Shape 139 | X=10R 140 | Y=0r 141 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,87,34 | StrokeWidth 0 142 | LeftMouseUpAction=[!WriteKeyValue Variables Color 255,87,34 "#@#variables.ini"][!RefreshGroup "Spectrum"] 143 | [MeterColor16] 144 | Meter=Shape 145 | X=10R 146 | Y=0r 147 | Shape=Rectangle 0,0,40,40,5 | Fill Color 232,47,5 | StrokeWidth 0 148 | LeftMouseUpAction=[!WriteKeyValue Variables Color 232,47,5 "#@#variables.ini"][!RefreshGroup "Spectrum"] 149 | [MeterColor17] 150 | Meter=Shape 151 | X=10R 152 | Y=0r 153 | Shape=Rectangle 0,0,40,40,5 | Fill Color 96,125,139 | StrokeWidth 0 154 | LeftMouseUpAction=[!WriteKeyValue Variables Color 96,125,139 "#@#variables.ini"][!RefreshGroup "Spectrum"] 155 | [MeterColor18] 156 | Meter=Shape 157 | X=10R 158 | Y=0r 159 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,255,255 | StrokeWidth 0 160 | LeftMouseUpAction=[!WriteKeyValue Variables Color 255,255,255 "#@#variables.ini"][!RefreshGroup "Spectrum"] 161 | [MeterColorPicker] 162 | Meter=String 163 | X=[MeterColor01:X]+1 164 | Y=10R 165 | AntiAlias=1 166 | FontFace=Montserrat Light 167 | FontSize=10 168 | InlineSetting=Color | 255,255,255,255 169 | Text="More..." 170 | LeftMouseUpAction=[!CommandMeasure MeasureColorRainRGB "Run"] 171 | 172 | [MeterTitleTextColor] 173 | Meter=String 174 | X=225 175 | Y=15R 176 | AntiAlias=1 177 | FontFace=Montserrat Light 178 | FontSize=14 179 | InlineSetting=Color | 255,255,255,255 180 | Text="Text color" 181 | [MeterTextColor01] 182 | Meter=Shape 183 | X=225 184 | Y=10R 185 | Shape=Rectangle 0,0,40,40,5 | Fill Color 204,0,40 | StrokeWidth 0 186 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 204,0,40 "#@#variables.ini"][!RefreshGroup "SongInfo"] 187 | [MeterTextColor02] 188 | Meter=Shape 189 | X=10R 190 | Y=0r 191 | Shape=Rectangle 0,0,40,40,5 | Fill Color 216,27,96 | StrokeWidth 0 192 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 216,27,96 "#@#variables.ini"][!RefreshGroup "SongInfo"] 193 | [MeterTextColor03] 194 | Meter=Shape 195 | X=10R 196 | Y=0r 197 | Shape=Rectangle 0,0,40,40,5 | Fill Color 156,39,176 | StrokeWidth 0 198 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 156,39,176 "#@#variables.ini"][!RefreshGroup "SongInfo"] 199 | [MeterTextColor04] 200 | Meter=Shape 201 | X=10R 202 | Y=0r 203 | Shape=Rectangle 0,0,40,40,5 | Fill Color 109,62,196 | StrokeWidth 0 204 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 109,62,196 "#@#variables.ini"][!RefreshGroup "SongInfo"] 205 | [MeterTextColor05] 206 | Meter=Shape 207 | X=10R 208 | Y=0r 209 | Shape=Rectangle 0,0,40,40,5 | Fill Color 63,81,181 | StrokeWidth 0 210 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 63,81,181 "#@#variables.ini"][!RefreshGroup "SongInfo"] 211 | [MeterTextColor06] 212 | Meter=Shape 213 | X=10R 214 | Y=0r 215 | Shape=Rectangle 0,0,40,40,5 | Fill Color 33,150,243 | StrokeWidth 0 216 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 33,150,243 "#@#variables.ini"][!RefreshGroup "SongInfo"] 217 | [MeterTextColor07] 218 | Meter=Shape 219 | X=10R 220 | Y=0r 221 | Shape=Rectangle 0,0,40,40,5 | Fill Color 99,221,237 | StrokeWidth 0 222 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 99,221,237 "#@#variables.ini"][!RefreshGroup "SongInfo"] 223 | [MeterTextColor08] 224 | Meter=Shape 225 | X=10R 226 | Y=0r 227 | Shape=Rectangle 0,0,40,40,5 | Fill Color 72,225,188 | StrokeWidth 0 228 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 72,225,188 "#@#variables.ini"][!RefreshGroup "SongInfo"] 229 | [MeterTextColor09] 230 | Meter=Shape 231 | X=10R 232 | Y=0r 233 | Shape=Rectangle 0,0,40,40,5 | Fill Color 40,199,111 | StrokeWidth 0 234 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 40,199,111 "#@#variables.ini"][!RefreshGroup "SongInfo"] 235 | [MeterTextColor10] 236 | Meter=Shape 237 | X=[MeterTextColor01:X] 238 | Y=10R 239 | Shape=Rectangle 0,0,40,40,5 | Fill Color 92,204,59 | StrokeWidth 0 240 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 92,204,59 "#@#variables.ini"][!RefreshGroup "SongInfo"] 241 | DynamicVariables=1 242 | [MeterTextColor11] 243 | Meter=Shape 244 | X=10R 245 | Y=0r 246 | Shape=Rectangle 0,0,40,40,5 | Fill Color 205,220,57 | StrokeWidth 0 247 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 205,220,57 "#@#variables.ini"][!RefreshGroup "SongInfo"] 248 | [MeterTextColor12] 249 | Meter=Shape 250 | X=10R 251 | Y=0r 252 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,235,59 | StrokeWidth 0 253 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 255,235,59 "#@#variables.ini"][!RefreshGroup "SongInfo"] 254 | [MeterTextColor13] 255 | Meter=Shape 256 | X=10R 257 | Y=0r 258 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,193,7 | StrokeWidth 0 259 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 255,193,7 "#@#variables.ini"][!RefreshGroup "SongInfo"] 260 | [MeterTextColor14] 261 | Meter=Shape 262 | X=10R 263 | Y=0r 264 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,152,0 | StrokeWidth 0 265 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 255,152,0 "#@#variables.ini"][!RefreshGroup "SongInfo"] 266 | [MeterTextColor15] 267 | Meter=Shape 268 | X=10R 269 | Y=0r 270 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,87,34 | StrokeWidth 0 271 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 255,87,34 "#@#variables.ini"][!RefreshGroup "SongInfo"] 272 | [MeterTextColor16] 273 | Meter=Shape 274 | X=10R 275 | Y=0r 276 | Shape=Rectangle 0,0,40,40,5 | Fill Color 232,47,5 | StrokeWidth 0 277 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 232,47,5 "#@#variables.ini"][!RefreshGroup "SongInfo"] 278 | [MeterTextColor17] 279 | Meter=Shape 280 | X=10R 281 | Y=0r 282 | Shape=Rectangle 0,0,40,40,5 | Fill Color 0,0,0 | StrokeWidth 0 283 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 0,0,0 "#@#variables.ini"][!RefreshGroup "SongInfo"] 284 | [MeterTextColor18] 285 | Meter=Shape 286 | X=10R 287 | Y=0r 288 | Shape=Rectangle 0,0,40,40,5 | Fill Color 255,255,255 | StrokeWidth 0 289 | LeftMouseUpAction=[!WriteKeyValue Variables TextColor 255,255,255 "#@#variables.ini"][!RefreshGroup "SongInfo"] 290 | [MeterTextColorPicker] 291 | Meter=String 292 | X=[MeterTextColor01:X]+1 293 | Y=10R 294 | AntiAlias=1 295 | FontFace=Montserrat Light 296 | FontSize=10 297 | InlineSetting=Color | 255,255,255,255 298 | Text="More..." 299 | LeftMouseUpAction=[!CommandMeasure MeasureTextColorRainRGB "Run"] 300 | 301 | 302 | [MeasureEnableDynamicColors] 303 | Measure=Calc 304 | Formula=#EnableDynamicColors# 305 | IfConditionMode=1 306 | IfCondition = (#EnableDynamicColors# = 0) 307 | IfTrueAction = [!SetOption MeterEnableDynamicColorsOff FontFace "Montserrat SemiBold"][!SetOption MeterEnableDynamicColorsOff InlineSetting "Color | 255,255,255,255"] 308 | IfCondition2 = (#EnableDynamicColors# = 1) 309 | IfTrueAction2 = [!SetOption MeterEnableDynamicColorsGenre FontFace "Montserrat SemiBold"][!SetOption MeterEnableDynamicColorsGenre InlineSetting "Color | 255,255,255,255"] 310 | IfCondition3 = (#EnableDynamicColors# = 2) 311 | IfTrueAction3 = [!SetOption MeterEnableDynamicColorsCover FontFace "Montserrat SemiBold"][!SetOption MeterEnableDynamicColorsCover InlineSetting "Color | 255,255,255,255"] 312 | IfCondition4 = (#EnableDynamicColors# = 3) 313 | IfTrueAction4 = [!SetOption MeterEnableDynamicColorsWindows FontFace "Montserrat SemiBold"][!SetOption MeterEnableDynamicColorsWindows InlineSetting "Color | 255,255,255,255"] 314 | 315 | [MeterTitleEnableDynamicColors] 316 | Meter=String 317 | X=225 318 | Y=15R 319 | AntiAlias=1 320 | FontFace=Montserrat Light 321 | FontSize=14 322 | InlineSetting=Color | 255,255,255,255 323 | Text="Dynamic coloring" 324 | 325 | [MeterEnableDynamicColorsOff] 326 | Meter=String 327 | X=225 328 | Y=15R 329 | AntiAlias=1 330 | FontFace=Montserrat Light 331 | FontSize=12 332 | InlineSetting=Color | 255,255,255,150 333 | Text="Off" 334 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicColors 0 "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"] 335 | [MeterEnableDynamicColorsGenre] 336 | Meter=String 337 | X=30R 338 | Y=0r 339 | AntiAlias=1 340 | FontFace=Montserrat Light 341 | FontSize=12 342 | InlineSetting=Color | 255,255,255,150 343 | Text="Genre" 344 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicColors 1 "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"] 345 | [MeterEnableDynamicColorsCover] 346 | Meter=String 347 | X=30R 348 | Y=0r 349 | AntiAlias=1 350 | FontFace=Montserrat Light 351 | FontSize=12 352 | InlineSetting=Color | 255,255,255,150 353 | Text="Cover" 354 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicColors 2 "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"] 355 | 356 | [MeterEnableDynamicColorsWindows] 357 | Meter=String 358 | X=30R 359 | Y=0r 360 | AntiAlias=1 361 | FontFace=Montserrat Light 362 | FontSize=12 363 | InlineSetting=Color | 255,255,255,150 364 | Text="Windows" 365 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicColors 3 "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"] 366 | 367 | 368 | [MeterSubTitleEnableDynamicColors] 369 | Meter=String 370 | X=225 371 | Y=10R 372 | H=55 373 | W=450 374 | AntiAlias=1 375 | FontFace=Segoe UI Regular 376 | FontSize=9 377 | ClipString=1 378 | InlineSetting=Color | 255,255,255,150 379 | Text="This setting will enable/disable dynamic coloring based on the setting you have chosen. If you have an old computer or a weak CPU, disable this for better performance." 380 | 381 | [MeterSubLinkEnableDynamicColors] 382 | Meter=String 383 | X=225 384 | Y=5R 385 | W=450 386 | H=25 387 | AntiAlias=1 388 | FontFace=Segoe UI SemiBold 389 | FontSize=9 390 | ClipString=1 391 | InlineSetting=Color | 33,150,243,255 392 | InlineSetting2=Underline 393 | Text="Click here to see the supported media players!" 394 | LeftMouseUpAction=https://github.com/MarcoPixel/Monstercat-Visualizer/wiki/Dynamic-Coloring 395 | 396 | ; -- EnableDynamicFontColors -- ; 397 | 398 | [MeasureCalcEnableDynamicFontColors] 399 | Measure=Calc 400 | Formula=1 401 | UpdateDivider=-1 402 | DynamicVariables=1 403 | IfCondition=#EnableDynamicFontColors# = 1 404 | IfTrueAction=[!ShowMeter MeterCheckboxEnableDynamicFontColors][!HideMeter MeterCheckboxEmptyEnableDynamicFontColors][!Redraw] 405 | IfFalseAction=[!HideMeter MeterCheckboxEnableDynamicFontColors][!ShowMeter MeterCheckboxEmptyEnableDynamicFontColors][!Redraw] 406 | 407 | [MeterCheckboxEmptyEnableDynamicFontColors] 408 | Meter=Image 409 | ImageName=#@#images\checkbox_empty.png 410 | X=225 411 | Y=15R 412 | H=25 413 | W=25 414 | DynamicVariables=1 415 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicFontColors 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyEnableDynamicFontColors][!ShowMeter MeterCheckboxEnableDynamicFontColors][!RefreshGroup "SongInfo"] 416 | [MeterCheckboxEnableDynamicFontColors] 417 | Meter=Image 418 | ImageName=#@#images\checkbox.png 419 | X=0r 420 | Y=0r 421 | H=25 422 | W=25 423 | DynamicVariables=1 424 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDynamicFontColors 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyEnableDynamicFontColors][!HideMeter MeterCheckboxEnableDynamicFontColors][!RefreshGroup "SongInfo"] 425 | 426 | [MeterTitleEnableDynamicFontColors] 427 | Meter=String 428 | X=270 429 | Y=3r 430 | AntiAlias=1 431 | FontFace=Montserrat Light 432 | FontSize=12 433 | InlineSetting=Color | 255,255,255,255 434 | Text="Use dynamic color for song title and artist" 435 | [MeterSubTitleEnableDynamicFontColors] 436 | Meter=String 437 | X=0r 438 | Y=10R 439 | H=20 440 | W=400 441 | AntiAlias=1 442 | FontFace=Segoe UI Regular 443 | FontSize=9 444 | ClipString=1 445 | InlineSetting=Color | 255,255,255,150 446 | Text="Changes the font color to the dynamic color used by the visualizer bars." 447 | 448 | ; -- EnableDropShadow -- ; 449 | 450 | [MeasureCalcEnableDropShadow] 451 | Measure=Calc 452 | Formula=1 453 | UpdateDivider=-1 454 | DynamicVariables=1 455 | IfCondition=#EnableDropShadow# = 1 456 | IfTrueAction=[!ShowMeter MeterCheckboxEnableDropShadow][!HideMeter MeterCheckboxEmptyEnableDropShadow][!Redraw] 457 | IfFalseAction=[!HideMeter MeterCheckboxEnableDropShadow][!ShowMeter MeterCheckboxEmptyEnableDropShadow][!Redraw] 458 | 459 | [MeterCheckboxEmptyEnableDropShadow] 460 | Meter=Image 461 | ImageName=#@#images\checkbox_empty.png 462 | X=225 463 | Y=15R 464 | H=25 465 | W=25 466 | DynamicVariables=1 467 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDropShadow 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyEnableDropShadow][!ShowMeter MeterCheckboxEnableDropShadow][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"] 468 | [MeterCheckboxEnableDropShadow] 469 | Meter=Image 470 | ImageName=#@#images\checkbox.png 471 | X=0r 472 | Y=0r 473 | H=25 474 | W=25 475 | DynamicVariables=1 476 | LeftMouseDownAction=[!WriteKeyValue Variables EnableDropShadow 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyEnableDropShadow][!HideMeter MeterCheckboxEnableDropShadow][!RefreshGroup "Spectrum"][!RefreshGroup "SongInfo"] 477 | 478 | [MeterTitleEnableDropShadow] 479 | Meter=String 480 | X=270 481 | Y=3r 482 | AntiAlias=1 483 | FontFace=Montserrat Light 484 | FontSize=12 485 | InlineSetting=Color | 255,255,255,255 486 | Text="Enable drop shadow" 487 | [MeterSubTitleEnableDropShadow] 488 | Meter=String 489 | X=0r 490 | Y=10R 491 | H=20 492 | W=400 493 | AntiAlias=1 494 | FontFace=Segoe UI Regular 495 | FontSize=9 496 | ClipString=1 497 | InlineSetting=Color | 255,255,255,150 498 | Text="This will add a drop shadow below the visualizer and song information." 499 | 500 | ; -- ShowMonstercatCover -- ; 501 | 502 | [MeasureCalcShowMonstercatCover] 503 | Measure=Calc 504 | Formula=1 505 | UpdateDivider=-1 506 | DynamicVariables=1 507 | IfCondition=#ShowMonstercatCover# = 1 508 | IfTrueAction=[!ShowMeter MeterCheckboxShowMonstercatCover][!HideMeter MeterCheckboxEmptyShowMonstercatCover][!Redraw] 509 | IfFalseAction=[!HideMeter MeterCheckboxShowMonstercatCover][!ShowMeter MeterCheckboxEmptyShowMonstercatCover][!Redraw] 510 | 511 | [MeterCheckboxEmptyShowMonstercatCover] 512 | Meter=Image 513 | ImageName=#@#images\checkbox_empty.png 514 | X=225 515 | Y=15R 516 | H=25 517 | W=25 518 | DynamicVariables=1 519 | LeftMouseDownAction=[!WriteKeyValue Variables ShowMonstercatCover 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyShowMonstercatCover][!ShowMeter MeterCheckboxShowMonstercatCover][!RefreshGroup "SongInfo"] 520 | [MeterCheckboxShowMonstercatCover] 521 | Meter=Image 522 | ImageName=#@#images\checkbox.png 523 | X=0r 524 | Y=0r 525 | H=25 526 | W=25 527 | DynamicVariables=1 528 | LeftMouseDownAction=[!WriteKeyValue Variables ShowMonstercatCover 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyShowMonstercatCover][!HideMeter MeterCheckboxShowMonstercatCover][!RefreshGroup "SongInfo"] 529 | 530 | [MeterTitleShowMonstercatCover] 531 | Meter=String 532 | X=270 533 | Y=3r 534 | AntiAlias=1 535 | FontFace=Montserrat Light 536 | FontSize=12 537 | InlineSetting=Color | 255,255,255,255 538 | Text="Replace album art with Monstercat logo" 539 | [MeterSubTitleShowMonstercatCover] 540 | Meter=String 541 | X=0r 542 | Y=10R 543 | H=40 544 | W=400 545 | AntiAlias=1 546 | FontFace=Segoe UI Regular 547 | FontSize=9 548 | ClipString=1 549 | InlineSetting=Color | 255,255,255,150 550 | Text="This will replace the album cover with an white monstercat logo and it will use the skin color as background." 551 | 552 | ; -- EnableTextBorder -- ; 553 | 554 | [MeasureCalcEnableTextBorder] 555 | Measure=Calc 556 | Formula=1 557 | UpdateDivider=-1 558 | DynamicVariables=1 559 | IfCondition=#EnableTextBorder# = 1 560 | IfTrueAction=[!ShowMeter MeterCheckboxEnableTextBorder][!HideMeter MeterCheckboxEmptyEnableTextBorder][!Redraw] 561 | IfFalseAction=[!HideMeter MeterCheckboxEnableTextBorder][!ShowMeter MeterCheckboxEmptyEnableTextBorder][!Redraw] 562 | 563 | [MeterCheckboxEmptyEnableTextBorder] 564 | Meter=Image 565 | ImageName=#@#images\checkbox_empty.png 566 | X=225 567 | Y=10R 568 | H=25 569 | W=25 570 | DynamicVariables=1 571 | LeftMouseDownAction=[!WriteKeyValue Variables EnableTextBorder 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyEnableTextBorder][!ShowMeter MeterCheckboxEnableTextBorder][!RefreshGroup "SongInfo"] 572 | [MeterCheckboxEnableTextBorder] 573 | Meter=Image 574 | ImageName=#@#images\checkbox.png 575 | X=0r 576 | Y=0r 577 | H=25 578 | W=25 579 | DynamicVariables=1 580 | LeftMouseDownAction=[!WriteKeyValue Variables EnableTextBorder 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyEnableTextBorder][!HideMeter MeterCheckboxEnableTextBorder][!RefreshGroup "SongInfo"] 581 | 582 | [MeterTitleEnableTextBorder] 583 | Meter=String 584 | X=270 585 | Y=3r 586 | AntiAlias=1 587 | FontFace=Montserrat Light 588 | FontSize=12 589 | InlineSetting=Color | 255,255,255,255 590 | Text="Add text border to song title and artist" 591 | [MeterSubTitleEnableTextBorder] 592 | Meter=String 593 | X=0r 594 | Y=10R 595 | H=40 596 | W=400 597 | AntiAlias=1 598 | FontFace=Segoe UI Regular 599 | FontSize=9 600 | ClipString=1 601 | InlineSetting=Color | 255,255,255,150 602 | Text="This will add a small border to the song title and artist name to make it easier to read on brighter wallpapers." 603 | -------------------------------------------------------------------------------- /Settings/visualizer.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | Settings 3 | Update=50 4 | AccurateText=1 5 | OnRefreshAction=[!SetOption MeterVisualizer InlineSetting "Color | 0,0,0,255"][!SetOption MeterVisualizer FontFace "Montserrat SemiBold"][!UpdateMeter MeterVisualizer][!Redraw] 6 | 7 | ; Background gradient style 8 | [StyleBG] 9 | BGGradient=65 | 29,151,108,255 ; 0.0 | 2,190,152,255 ; 1.0 10 | 11 | [Metadata] 12 | Name=Monstercat Visualizer for Rainmeter 13 | Author=marcopixel 14 | Version=2.1.0 15 | License=MIT License 16 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 17 | 18 | 19 | [Variables] 20 | @include=#@#variables.ini 21 | SettingHeight=645 22 | IsMouseDown=0 23 | IsMouseOver=0 24 | CurrentMouseSetting=-1 25 | 26 | ; Include settings menu meters 27 | @include2=#@#include\MeterSettingsMenu.inc 28 | 29 | ; Measure to theck if Mouse button is clicked 30 | [MeasureCalcIfMouseDownDisable] 31 | Measure=Calc 32 | Formula=#IsMouseDown# 33 | UpdateDivider=-1 34 | DynamicVariables=1 35 | IfConditionMode=1 36 | IfCondition = (MeasureCalcIfMouseDownDisable = 0) && (#IsMouseOver# = 0) 37 | IfTrueAction = [!DisableMeasureGroup MouseMeasureGroup] 38 | IfCondition2 = (MeasureCalcIfMouseDownDisable = 0) && (#IsMouseOver# = 1) 39 | IfTrueAction2 = [!DisableMeasureGroup MouseMeasureGroup][!UpdateMeasure MeasureCalcIfMouseDownEnable] 40 | [MeasureCalcIfMouseDownEnable] 41 | Measure=Calc 42 | Formula=#IsMouseDown# 43 | UpdateDivider=-1 44 | DynamicVariables=1 45 | IfConditionMode=1 46 | IfCondition = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 0) 47 | IfTrueAction = [!EnableMeasure MeasureMouseBarWidth][!UpdateMeasure MeasureMouseBarWidth] 48 | IfCondition2 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 1) 49 | IfTrueAction2 = [!EnableMeasure MeasureMouseBarGap][!UpdateMeasure MeasureMouseBarGap] 50 | IfCondition3 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 2) 51 | IfTrueAction3 = [!EnableMeasure MeasureMouseBarCount][!UpdateMeasure MeasureMouseBarCount] 52 | IfCondition4 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 3) 53 | IfTrueAction4 = [!EnableMeasure MeasureMouseSensitivity][!UpdateMeasure MeasureMouseSensitivity] 54 | IfCondition5 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 4) 55 | IfTrueAction5 = [!EnableMeasure MeasureMouseAverageSize][!UpdateMeasure MeasureMouseAverageSize] 56 | IfCondition6 = (#IsMouseDown# = 0) && (#CurrentMouseSetting# = 5) 57 | IfTrueAction6 = [!EnableMeasure MeasureMouseMultiplier][!UpdateMeasure MeasureMouseMultiplier] 58 | 59 | ; --- BarWidth --- ; 60 | 61 | [MeasureMouseBarWidth] 62 | Measure=Plugin 63 | Plugin=Mouse 64 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 65 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables BarWidth "(Round((Clamp(($MouseX$-[MeterSliderBarWidth:X])/[MeterSliderBarWidth:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarWidth "(Round((Clamp(($MouseX$-[MeterSliderBarWidth:X])/[MeterSliderBarWidth:W],0,1)*100),0))"][!Redraw] 66 | LeftMouseDragAction=[!WriteKeyValue Variables BarWidth "(Round((Clamp(($MouseX$-[MeterSliderBarWidth:X])/[MeterSliderBarWidth:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarWidth "(Round((Clamp(($MouseX$-[MeterSliderBarWidth:X])/[MeterSliderBarWidth:W],0,1)*100),0))"][!Redraw] 67 | UpdateRate=20 68 | Disabled=1 69 | DynamicVariables=1 70 | Group = MouseMeasureGroup 71 | [MeasureCalcBarWidth] 72 | Measure=Calc 73 | Formula=#BarWidth# 74 | MinValue=0 75 | MaxValue=100 76 | DynamicVariables=1 77 | [MeterTitleBarWidth] 78 | Meter=String 79 | X=225 80 | Y=25 81 | AntiAlias=1 82 | FontFace=Montserrat Light 83 | FontSize=14 84 | InlineSetting=Color | 255,255,255,255 85 | Text="Bar width" 86 | [MeterValueBarWidth] 87 | Meter=String 88 | MeasureName=MeasureCalcBarWidth 89 | X=([MeterTitleBarWidth:X]+240) 90 | Y=([MeterTitleBarWidth:Y]+3) 91 | AntiAlias=1 92 | FontFace=Segoe UI Regular 93 | FontSize=10 94 | InlineSetting=Color | 255,255,255,150 95 | StringAlign=Right 96 | Text=%1px 97 | DynamicVariables=1 98 | LeftMouseUpAction=[!CommandMeasure MeasureInputBarWidth "ExecuteBatch ALL"] 99 | [MeasureInputBarWidth] 100 | Measure=Plugin 101 | Plugin=InputText 102 | X=([MeterTitleBarWidth:X]+204) 103 | Y=([MeterTitleBarWidth:Y]+4) 104 | H=17 105 | W=40 106 | FontSize=10 107 | FontColor=255,255,255 108 | SolidColor=0,0,0,255 109 | AntiAlias=1 110 | FocusDismiss=1 111 | DefaultValue=#BarWidth# 112 | Command1=[!WriteKeyValue Variables BarWidth "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 113 | DynamicVariables=1 114 | 115 | [MeterSliderBarWidth] 116 | Meter=Shape 117 | X=([MeterTitleBarWidth:X]+260) 118 | Y=([MeterTitleBarWidth:Y]+11) 119 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 120 | Shape2=Rectangle 0,0,(189*([MeasureCalcBarWidth:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 121 | Shape3=Ellipse (189*([MeasureCalcBarWidth:%]/100)),(4/2),8 | StrokeWidth 0 122 | DynamicVariables=1 123 | MouseScrollUpAction=[!WriteKeyValue Variables BarWidth "(Round((Clamp(#BarWidth#+1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarWidth "(Round((Clamp(#BarWidth#+1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarWidth"][!UpdateMeter "MeterSliderBarWidth"][!RefreshGroup "MonstercatVisualizer"] 124 | MouseScrollDownAction=[!WriteKeyValue Variables BarWidth "(Round((Clamp(#BarWidth#-1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarWidth "(Round((Clamp(#BarWidth#-1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarWidth"][!UpdateMeter "MeterSliderBarWidth"][!RefreshGroup "MonstercatVisualizer"] 125 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseBarWidth] 126 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 127 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 0][!UpdateMeasure MeasureCalcIfMouseDownEnable] 128 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 129 | 130 | ; --- BarGap --- ; 131 | 132 | [MeasureMouseBarGap] 133 | Measure=Plugin 134 | Plugin=Mouse 135 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 136 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables BarGap "(Round((Clamp(($MouseX$-[MeterSliderBarGap:X])/[MeterSliderBarGap:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarGap "(Round((Clamp(($MouseX$-[MeterSliderBarGap:X])/[MeterSliderBarGap:W],0,1)*100),0))"][!Redraw] 137 | LeftMouseDragAction=[!WriteKeyValue Variables BarGap "(Round((Clamp(($MouseX$-[MeterSliderBarGap:X])/[MeterSliderBarGap:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarGap "(Round((Clamp(($MouseX$-[MeterSliderBarGap:X])/[MeterSliderBarGap:W],0,1)*100),0))"][!Redraw] 138 | UpdateRate=20 139 | Disabled=1 140 | DynamicVariables=1 141 | Group = MouseMeasureGroup 142 | [MeasureCalcBarGap] 143 | Measure=Calc 144 | Formula=#BarGap# 145 | MinValue=0 146 | MaxValue=100 147 | DynamicVariables=1 148 | [MeterTitleBarGap] 149 | Meter=String 150 | X=225 151 | Y=15R 152 | AntiAlias=1 153 | FontFace=Montserrat Light 154 | FontSize=14 155 | InlineSetting=Color | 255,255,255,255 156 | Text="Bar gap" 157 | [MeterValueBarGap] 158 | Meter=String 159 | MeasureName=MeasureCalcBarGap 160 | X=([MeterTitleBarGap:X]+240) 161 | Y=([MeterTitleBarGap:Y]+3) 162 | AntiAlias=1 163 | FontFace=Segoe UI Regular 164 | FontSize=10 165 | InlineSetting=Color | 255,255,255,150 166 | StringAlign=Right 167 | Text=%1px 168 | DynamicVariables=1 169 | LeftMouseUpAction=[!CommandMeasure MeasureInputBarGap "ExecuteBatch ALL"] 170 | [MeasureInputBarGap] 171 | Measure=Plugin 172 | Plugin=InputText 173 | X=([MeterTitleBarGap:X]+204) 174 | Y=([MeterTitleBarGap:Y]+4) 175 | H=17 176 | W=40 177 | FontSize=10 178 | FontColor=255,255,255 179 | SolidColor=0,0,0,255 180 | AntiAlias=1 181 | FocusDismiss=1 182 | DefaultValue=#BarGap# 183 | Command1=[!WriteKeyValue Variables BarGap "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 184 | DynamicVariables=1 185 | 186 | [MeterSliderBarGap] 187 | Meter=Shape 188 | X=([MeterTitleBarGap:X]+260) 189 | Y=([MeterTitleBarGap:Y]+11) 190 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 191 | Shape2=Rectangle 0,0,(189*([MeasureCalcBarGap:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 192 | Shape3=Ellipse (189*([MeasureCalcBarGap:%]/100)),(4/2),8 | StrokeWidth 0 193 | DynamicVariables=1 194 | MouseScrollUpAction=[!WriteKeyValue Variables BarGap "(Round((Clamp(#BarGap#+1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarGap "(Round((Clamp(#BarGap#+1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarGap"][!UpdateMeter "MeterSliderBarGap"][!RefreshGroup "MonstercatVisualizer"] 195 | MouseScrollDownAction=[!WriteKeyValue Variables BarGap "(Round((Clamp(#BarGap#-1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarGap "(Round((Clamp(#BarGap#-1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarGap"][!UpdateMeter "MeterSliderBarGap"][!RefreshGroup "MonstercatVisualizer"] 196 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseBarGap] 197 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 198 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 1][!UpdateMeasure MeasureCalcIfMouseDownEnable] 199 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 200 | 201 | ; --- BarCount --- ; 202 | 203 | [MeasureMouseBarCount] 204 | Measure=Plugin 205 | Plugin=Mouse 206 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 207 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables BarCount "(Round((Clamp(($MouseX$-[MeterSliderBarCount:X])/[MeterSliderBarCount:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarCount "(Round((Clamp(($MouseX$-[MeterSliderBarCount:X])/[MeterSliderBarCount:W],0,1)*100),0))"][!Redraw] 208 | LeftMouseDragAction=[!WriteKeyValue Variables BarCount "(Round((Clamp(($MouseX$-[MeterSliderBarCount:X])/[MeterSliderBarCount:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable BarCount "(Round((Clamp(($MouseX$-[MeterSliderBarCount:X])/[MeterSliderBarCount:W],0,1)*100),0))"][!Redraw] 209 | UpdateRate=20 210 | Disabled=1 211 | DynamicVariables=1 212 | Group = MouseMeasureGroup 213 | [MeasureCalcBarCount] 214 | Measure=Calc 215 | Formula=#BarCount# 216 | MinValue=0 217 | MaxValue=100 218 | DynamicVariables=1 219 | [MeterTitleBarCount] 220 | Meter=String 221 | X=225 222 | Y=15R 223 | AntiAlias=1 224 | FontFace=Montserrat Light 225 | FontSize=14 226 | InlineSetting=Color | 255,255,255,255 227 | Text="Bar count" 228 | [MeterValueBarCount] 229 | Meter=String 230 | MeasureName=MeasureCalcBarCount 231 | X=([MeterTitleBarCount:X]+240) 232 | Y=([MeterTitleBarCount:Y]+3) 233 | AntiAlias=1 234 | FontFace=Segoe UI Regular 235 | FontSize=10 236 | InlineSetting=Color | 255,255,255,150 237 | StringAlign=Right 238 | Text=%1 239 | DynamicVariables=1 240 | LeftMouseUpAction=[!CommandMeasure MeasureInputBarCount "ExecuteBatch ALL"] 241 | [MeasureInputBarCount] 242 | Measure=Plugin 243 | Plugin=InputText 244 | X=([MeterTitleBarCount:X]+204) 245 | Y=([MeterTitleBarCount:Y]+4) 246 | H=17 247 | W=40 248 | FontSize=10 249 | FontColor=255,255,255 250 | SolidColor=0,0,0,255 251 | AntiAlias=1 252 | FocusDismiss=1 253 | DefaultValue=#BarCount# 254 | Command1=[!WriteKeyValue Variables BarCount "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 255 | DynamicVariables=1 256 | 257 | [MeterSliderBarCount] 258 | Meter=Shape 259 | X=([MeterTitleBarCount:X]+260) 260 | Y=([MeterTitleBarCount:Y]+11) 261 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 262 | Shape2=Rectangle 0,0,(189*([MeasureCalcBarCount:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 263 | Shape3=Ellipse (189*([MeasureCalcBarCount:%]/100)),(4/2),8 | StrokeWidth 0 264 | DynamicVariables=1 265 | MouseScrollUpAction=[!WriteKeyValue Variables BarCount "(Round((Clamp(#BarCount#+1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarCount "(Round((Clamp(#BarCount#+1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarCount"][!UpdateMeter "MeterSliderBarCount"][!RefreshGroup "MonstercatVisualizer"] 266 | MouseScrollDownAction=[!WriteKeyValue Variables BarCount "(Round((Clamp(#BarCount#-1, 0, 100)),0))" "#@#variables.ini"][!SetVariable BarCount "(Round((Clamp(#BarCount#-1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcBarCount"][!UpdateMeter "MeterSliderBarCount"][!RefreshGroup "MonstercatVisualizer"] 267 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseBarCount] 268 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 269 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 2][!UpdateMeasure MeasureCalcIfMouseDownEnable] 270 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 271 | 272 | ; --- Sensitivity --- ; 273 | 274 | [MeasureMouseSensitivity] 275 | Measure=Plugin 276 | Plugin=Mouse 277 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 278 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables Sensitivity "(Round((Clamp(($MouseX$-[MeterSliderSensitivity:X])/[MeterSliderSensitivity:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable Sensitivity "(Round((Clamp(($MouseX$-[MeterSliderSensitivity:X])/[MeterSliderSensitivity:W],0,1)*100),0))"][!Redraw] 279 | LeftMouseDragAction=[!WriteKeyValue Variables Sensitivity "(Round((Clamp(($MouseX$-[MeterSliderSensitivity:X])/[MeterSliderSensitivity:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable Sensitivity "(Round((Clamp(($MouseX$-[MeterSliderSensitivity:X])/[MeterSliderSensitivity:W],0,1)*100),0))"][!Redraw] 280 | UpdateRate=20 281 | Disabled=1 282 | DynamicVariables=1 283 | Group = MouseMeasureGroup 284 | [MeasureCalcSensitivity] 285 | Measure=Calc 286 | Formula=#Sensitivity# 287 | MinValue=0 288 | MaxValue=100 289 | DynamicVariables=1 290 | [MeterTitleSensitivity] 291 | Meter=String 292 | X=225 293 | Y=15R 294 | AntiAlias=1 295 | FontFace=Montserrat Light 296 | FontSize=14 297 | InlineSetting=Color | 255,255,255,255 298 | Text="Sensitivity" 299 | [MeterValueSensitivity] 300 | Meter=String 301 | MeasureName=MeasureCalcSensitivity 302 | X=([MeterTitleSensitivity:X]+240) 303 | Y=([MeterTitleSensitivity:Y]+3) 304 | AntiAlias=1 305 | FontFace=Segoe UI Regular 306 | FontSize=10 307 | InlineSetting=Color | 255,255,255,150 308 | StringAlign=Right 309 | Text=%1db 310 | DynamicVariables=1 311 | LeftMouseUpAction=[!CommandMeasure MeasureInputSensitivity "ExecuteBatch ALL"] 312 | [MeasureInputSensitivity] 313 | Measure=Plugin 314 | Plugin=InputText 315 | X=([MeterTitleSensitivity:X]+204) 316 | Y=([MeterTitleSensitivity:Y]+4) 317 | H=17 318 | W=40 319 | FontSize=10 320 | FontColor=255,255,255 321 | SolidColor=0,0,0,255 322 | AntiAlias=1 323 | FocusDismiss=1 324 | DefaultValue=#Sensitivity# 325 | Command1=[!WriteKeyValue Variables Sensitivity "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 326 | DynamicVariables=1 327 | 328 | [MeterSliderSensitivity] 329 | Meter=Shape 330 | X=([MeterTitleSensitivity:X]+260) 331 | Y=([MeterTitleSensitivity:Y]+11) 332 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 333 | Shape2=Rectangle 0,0,(189*([MeasureCalcSensitivity:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 334 | Shape3=Ellipse (189*([MeasureCalcSensitivity:%]/100)),(4/2),8 | StrokeWidth 0 335 | DynamicVariables=1 336 | MouseScrollUpAction=[!WriteKeyValue Variables Sensitivity "(Round((Clamp(#Sensitivity#+1, 0, 100)),0))" "#@#variables.ini"][!SetVariable Sensitivity "(Round((Clamp(#Sensitivity#+1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcSensitivity"][!UpdateMeter "MeterSliderSensitivity"][!RefreshGroup "MonstercatVisualizer"] 337 | MouseScrollDownAction=[!WriteKeyValue Variables Sensitivity "(Round((Clamp(#Sensitivity#-1, 0, 100)),0))" "#@#variables.ini"][!SetVariable Sensitivity "(Round((Clamp(#Sensitivity#-1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcSensitivity"][!UpdateMeter "MeterSliderSensitivity"][!RefreshGroup "MonstercatVisualizer"] 338 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseSensitivity] 339 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 340 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 3][!UpdateMeasure MeasureCalcIfMouseDownEnable] 341 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 342 | 343 | [MeterSubTitleSensitivity] 344 | Meter=String 345 | X=225 346 | Y=15R 347 | H=60 348 | W=450 349 | AntiAlias=1 350 | FontFace=Segoe UI Regular 351 | FontSize=9 352 | ClipString=1 353 | InlineSetting=Color | 255,255,255,150 354 | Text="A number specifying in what dB range the visualizer will show data. #CRLF#Increasing this value will make the visualizer respond to more sounds and make the graph bigger, decreasing it will only show louder sounds and makes it smaller." 355 | 356 | ; --- AverageSize --- ; 357 | 358 | [MeasureMouseAverageSize] 359 | Measure=Plugin 360 | Plugin=Mouse 361 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 362 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables AverageSize "(Round((Clamp(($MouseX$-[MeterSliderAverageSize:X])/[MeterSliderAverageSize:W],0,1)*10),0))" "#@#variables.ini"][!SetVariable AverageSize "(Round((Clamp(($MouseX$-[MeterSliderAverageSize:X])/[MeterSliderAverageSize:W],0,1)*10),0))"][!Redraw] 363 | LeftMouseDragAction=[!WriteKeyValue Variables AverageSize "(Round((Clamp(($MouseX$-[MeterSliderAverageSize:X])/[MeterSliderAverageSize:W],0,1)*10),0))" "#@#variables.ini"][!SetVariable AverageSize "(Round((Clamp(($MouseX$-[MeterSliderAverageSize:X])/[MeterSliderAverageSize:W],0,1)*10),0))"][!Redraw] 364 | UpdateRate=20 365 | Disabled=1 366 | DynamicVariables=1 367 | Group = MouseMeasureGroup 368 | [MeasureCalcAverageSize] 369 | Measure=Calc 370 | Formula=#AverageSize# 371 | MinValue=0 372 | MaxValue=10 373 | DynamicVariables=1 374 | [MeterTitleAverageSize] 375 | Meter=String 376 | X=225 377 | Y=15R 378 | AntiAlias=1 379 | FontFace=Montserrat Light 380 | FontSize=14 381 | InlineSetting=Color | 255,255,255,255 382 | Text="Smoothing level" 383 | [MeterValueAverageSize] 384 | Meter=String 385 | MeasureName=MeasureCalcAverageSize 386 | X=([MeterTitleAverageSize:X]+240) 387 | Y=([MeterTitleAverageSize:Y]+3) 388 | AntiAlias=1 389 | FontFace=Segoe UI Regular 390 | FontSize=10 391 | InlineSetting=Color | 255,255,255,150 392 | StringAlign=Right 393 | Text=%1 394 | DynamicVariables=1 395 | LeftMouseUpAction=[!CommandMeasure MeasureInputAverageSize "ExecuteBatch ALL"] 396 | [MeasureInputAverageSize] 397 | Measure=Plugin 398 | Plugin=InputText 399 | X=([MeterTitleAverageSize:X]+204) 400 | Y=([MeterTitleAverageSize:Y]+4) 401 | H=17 402 | W=40 403 | FontSize=10 404 | FontColor=255,255,255 405 | SolidColor=0,0,0,255 406 | AntiAlias=1 407 | FocusDismiss=1 408 | DefaultValue=#AverageSize# 409 | Command1=[!WriteKeyValue Variables AverageSize "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 410 | DynamicVariables=1 411 | 412 | [MeterSliderAverageSize] 413 | Meter=Shape 414 | X=([MeterTitleAverageSize:X]+260) 415 | Y=([MeterTitleAverageSize:Y]+11) 416 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 417 | Shape2=Rectangle 0,0,(189*([MeasureCalcAverageSize:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 418 | Shape3=Ellipse (189*([MeasureCalcAverageSize:%]/100)),(4/2),8 | StrokeWidth 0 419 | DynamicVariables=1 420 | MouseScrollUpAction=[!WriteKeyValue Variables AverageSize "(Round((Clamp(#AverageSize#+1, 0, 10)),0))" "#@#variables.ini"][!SetVariable AverageSize "(Round((Clamp(#AverageSize#+1, 0, 10)),0))"][!UpdateMeasure "MeasureCalcAverageSize"][!UpdateMeter "MeterSliderAverageSize"][!RefreshGroup "MonstercatVisualizer"] 421 | MouseScrollDownAction=[!WriteKeyValue Variables AverageSize "(Round((Clamp(#AverageSize#-1, 0, 10)),0))" "#@#variables.ini"][!SetVariable AverageSize "(Round((Clamp(#AverageSize#-1, 0, 10)),0))"][!UpdateMeasure "MeasureCalcAverageSize"][!UpdateMeter "MeterSliderAverageSize"][!RefreshGroup "MonstercatVisualizer"] 422 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseAverageSize] 423 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 424 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 4][!UpdateMeasure MeasureCalcIfMouseDownEnable] 425 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 426 | 427 | [MeterSubTitleAverageSize] 428 | Meter=String 429 | X=225 430 | Y=15R 431 | H=40 432 | W=450 433 | AntiAlias=1 434 | FontFace=Segoe UI Regular 435 | FontSize=9 436 | ClipString=1 437 | InlineSetting=Color | 255,255,255,150 438 | Text="Bigger numbers increase the smoothness and fluidity, lower numbers increase the reaction time." 439 | 440 | ; --- Multiplier --- ; 441 | 442 | [MeasureMouseMultiplier] 443 | Measure=Plugin 444 | Plugin=Mouse 445 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable][!RefreshGroup "MonstercatVisualizer"] 446 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!WriteKeyValue Variables Multiplier "(Round((Clamp(($MouseX$-[MeterSliderMultiplier:X])/[MeterSliderMultiplier:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable Multiplier "(Round((Clamp(($MouseX$-[MeterSliderMultiplier:X])/[MeterSliderMultiplier:W],0,1)*100),0))"][!Redraw] 447 | LeftMouseDragAction=[!WriteKeyValue Variables Multiplier "(Round((Clamp(($MouseX$-[MeterSliderMultiplier:X])/[MeterSliderMultiplier:W],0,1)*100),0))" "#@#variables.ini"][!SetVariable Multiplier "(Round((Clamp(($MouseX$-[MeterSliderMultiplier:X])/[MeterSliderMultiplier:W],0,1)*100),0))"][!Redraw] 448 | UpdateRate=20 449 | Disabled=1 450 | DynamicVariables=1 451 | Group = MouseMeasureGroup 452 | [MeasureCalcMultiplier] 453 | Measure=Calc 454 | Formula=#Multiplier# 455 | MinValue=0 456 | MaxValue=100 457 | DynamicVariables=1 458 | [MeterTitleMultiplier] 459 | Meter=String 460 | X=225 461 | Y=15R 462 | AntiAlias=1 463 | FontFace=Montserrat Light 464 | FontSize=14 465 | InlineSetting=Color | 255,255,255,255 466 | Text="Multiplier" 467 | [MeterValueMultiplier] 468 | Meter=String 469 | MeasureName=MeasureCalcMultiplier 470 | X=([MeterTitleMultiplier:X]+240) 471 | Y=([MeterTitleMultiplier:Y]+3) 472 | AntiAlias=1 473 | FontFace=Segoe UI Regular 474 | FontSize=10 475 | InlineSetting=Color | 255,255,255,150 476 | StringAlign=Right 477 | Text=%1 478 | DynamicVariables=1 479 | LeftMouseUpAction=[!CommandMeasure MeasureInputMultiplier "ExecuteBatch ALL"] 480 | [MeasureInputMultiplier] 481 | Measure=Plugin 482 | Plugin=InputText 483 | X=([MeterTitleMultiplier:X]+204) 484 | Y=([MeterTitleMultiplier:Y]+4) 485 | H=17 486 | W=40 487 | FontSize=10 488 | FontColor=255,255,255 489 | SolidColor=0,0,0,255 490 | AntiAlias=1 491 | FocusDismiss=1 492 | DefaultValue=#Multiplier# 493 | Command1=[!WriteKeyValue Variables Multiplier "$UserInput$" "#@#variables.ini"][!RefreshGroup "MonstercatVisualizer"][!Refresh] 494 | DynamicVariables=1 495 | 496 | [MeterSliderMultiplier] 497 | Meter=Shape 498 | X=([MeterTitleMultiplier:X]+260) 499 | Y=([MeterTitleMultiplier:Y]+11) 500 | Shape=Rectangle 0,0,189,4,(4/2) | Fill Color 255,225,255,100 | StrokeWidth 0 501 | Shape2=Rectangle 0,0,(189*([MeasureCalcMultiplier:%]/100)),4,(4/2) | Fill Color 255,255,255,245 | StrokeWidth 0 502 | Shape3=Ellipse (189*([MeasureCalcMultiplier:%]/100)),(4/2),8 | StrokeWidth 0 503 | DynamicVariables=1 504 | MouseScrollUpAction=[!WriteKeyValue Variables Multiplier "(Round((Clamp(#Multiplier#+1, 0, 100)),0))" "#@#variables.ini"][!SetVariable Multiplier "(Round((Clamp(#Multiplier#+1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcMultiplier"][!UpdateMeter "MeterSliderMultiplier"][!RefreshGroup "MonstercatVisualizer"] 505 | MouseScrollDownAction=[!WriteKeyValue Variables Multiplier "(Round((Clamp(#Multiplier#-1, 0, 100)),0))" "#@#variables.ini"][!SetVariable Multiplier "(Round((Clamp(#Multiplier#-1, 0, 100)),0))"][!UpdateMeasure "MeasureCalcMultiplier"][!UpdateMeter "MeterSliderMultiplier"][!RefreshGroup "MonstercatVisualizer"] 506 | LeftMouseDownAction=[!UpdateMeasure MeasureCalcIfMouseDownDisable][!SetVariable IsMouseDown 1][!EnableMeasure MeasureMouseMultiplier] 507 | LeftMouseUpAction=[!SetVariable IsMouseDown 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 508 | MouseOverAction=[!SetVariable IsMouseOver 1][!SetVariable CurrentMouseSetting 5][!UpdateMeasure MeasureCalcIfMouseDownEnable] 509 | MouseLeaveAction=[!SetVariable IsMouseOver 0][!UpdateMeasure MeasureCalcIfMouseDownDisable] 510 | 511 | [MeterSubTitleMultiplier] 512 | Meter=String 513 | X=225 514 | Y=15R 515 | H=40 516 | W=450 517 | AntiAlias=1 518 | FontFace=Segoe UI Regular 519 | FontSize=9 520 | ClipString=1 521 | InlineSetting=Color | 255,255,255,150 522 | Text="Logarithmic multiplier for the audio output. Increasing this value will make the visualizer bars bigger and more distinct." 523 | 524 | ; --- FFTSize --- ; 525 | 526 | [MeterTitleFFTSize] 527 | Meter=String 528 | X=225 529 | Y=15R 530 | AntiAlias=1 531 | FontFace=Montserrat Light 532 | FontSize=14 533 | InlineSetting=Color | 255,255,255,255 534 | Text="Sound resolution" 535 | [MeterInputFFTSize] 536 | Meter=String 537 | X=625 538 | Y=([MeterTitleFFTSize:Y]-2) 539 | H=20 540 | W=80 541 | Padding=10,5,8,5 542 | FontFace=Montserrat Light 543 | FontSize=12 544 | InlineSetting=Color | 255,255,255,255 545 | SolidColor=0,0,0,150 546 | StringAlign=Center 547 | Text=#FFTSize# 548 | AntiAlias=1 549 | DynamicVariables=1 550 | LeftMouseUpAction=[!CommandMeasure MeasureInputFFTSize "ExecuteBatch ALL"] 551 | [MeasureInputFFTSize] 552 | Measure=Plugin 553 | Plugin=InputText 554 | X=([MeterInputFFTSize:X]+5) 555 | Y=([MeterInputFFTSize:Y]+5) 556 | H=20 557 | W=90 558 | FontSize=10 559 | FontColor=255,255,255 560 | SolidColor=26,26,26 561 | AntiAlias=1 562 | FocusDismiss=1 563 | DefaultValue=#FFTSize# 564 | Command1=[!WriteKeyValue Variables FFTSize "$UserInput$" "#@#variables.ini"][!RefreshGroup "Clock"][!Refresh] 565 | DynamicVariables=1 566 | 567 | [MeterSubTitleFFTSize] 568 | Meter=String 569 | X=225 570 | Y=5R 571 | H=60 572 | W=450 573 | AntiAlias=1 574 | FontFace=Segoe UI Regular 575 | FontSize=9 576 | ClipString=1 577 | InlineSetting=Color | 255,255,255,150 578 | Text="A number value for the frequency resolution of the output data. Increasing this value will add more CPU load, but the visualizer will show more details when playing. If you have a slower PC change the value to 1024 or 512." 579 | 580 | ; -- InvertVisualizer -- ; 581 | 582 | [MeasureCalcInvertVisualizer] 583 | Measure=Calc 584 | Formula=1 585 | UpdateDivider=-1 586 | DynamicVariables=1 587 | IfCondition=#InvertVisualizer# = 1 588 | IfTrueAction=[!ShowMeter MeterCheckboxInvertVisualizer][!HideMeter MeterCheckboxEmptyInvertVisualizer][!Redraw] 589 | IfFalseAction=[!HideMeter MeterCheckboxInvertVisualizer][!ShowMeter MeterCheckboxEmptyInvertVisualizer][!Redraw] 590 | 591 | [MeterCheckboxEmptyInvertVisualizer] 592 | Meter=Image 593 | ImageName=#@#images\checkbox_empty.png 594 | X=225 595 | Y=15R 596 | H=25 597 | W=25 598 | DynamicVariables=1 599 | LeftMouseDownAction=[!WriteKeyValue Variables InvertVisualizer 1 "#@#variables.ini"][!HideMeter MeterCheckboxEmptyInvertVisualizer][!ShowMeter MeterCheckboxInvertVisualizer][!RefreshGroup "Spectrum"] 600 | [MeterCheckboxInvertVisualizer] 601 | Meter=Image 602 | ImageName=#@#images\checkbox.png 603 | X=0r 604 | Y=0r 605 | H=25 606 | W=25 607 | DynamicVariables=1 608 | LeftMouseDownAction=[!WriteKeyValue Variables InvertVisualizer 0 "#@#variables.ini"][!ShowMeter MeterCheckboxEmptyInvertVisualizer][!HideMeter MeterCheckboxInvertVisualizer][!RefreshGroup "Spectrum"] 609 | 610 | [MeterTitleInvertVisualizer] 611 | Meter=String 612 | X=270 613 | Y=3r 614 | AntiAlias=1 615 | FontFace=Montserrat Light 616 | FontSize=12 617 | InlineSetting=Color | 255,255,255,255 618 | Text="Invert audio spectrum" 619 | [MeterSubTitleInvertVisualizer] 620 | Meter=String 621 | X=0r 622 | Y=10R 623 | H=60 624 | W=400 625 | AntiAlias=1 626 | FontFace=Segoe UI Regular 627 | FontSize=9 628 | ClipString=1 629 | InlineSetting=Color | 255,255,255,150 630 | Text="This will invert the visualizer bars so the lower frequencies are on the right and the higher frequencies on the left. Useful for flipping the visualizer with the angle setting." 631 | -------------------------------------------------------------------------------- /Song Information/Cover/Cover.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | SongInfo 3 | Update=200 4 | BackgroundMode=2 5 | SolidColor=0,0,0,1 6 | 7 | ; = IMPORTANT = 8 | ; = For configuring the rainmeter skin, right-click the visualizer and click on "Open settings". 9 | ; = You can also open the variables.ini file located in: 10 | ; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources" 11 | 12 | ; Small context menu when you right-click the skin 13 | ContextTitle=" Open settings" 14 | ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"] 15 | ContextTitle2=" Open variables file" 16 | ContextAction2=["#@#variables.ini"] 17 | ContextTitle3=" Toggle background" 18 | ContextAction3=[!ToggleConfig "#ROOTCONFIG#\Background" "Background.ini"] 19 | 20 | OnRefreshAction=[!DisableMeasure "MeasureTrack"][!DisableMeasure "MeasureArtist"][!DisableMeasure "MeasureProgress"] 21 | 22 | [Metadata] 23 | Name=Monstercat Visualizer for Rainmeter 24 | Author=marcopixel 25 | Version=2.1.0 26 | License=MIT License 27 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 28 | 29 | [Variables] 30 | ; Include main variables file 31 | @include=#@#variables.ini 32 | 33 | ; Include styling & media player measures 34 | @include2=#@#include\MeasureMedia#MPMode#.inc 35 | @include3=#@#include\MeasureStyling.inc 36 | 37 | ; Shadow meter + background layer 38 | [MeterCoverShadow] 39 | Meter=Image 40 | X=(11*#ScaleSongInformation#) 41 | Y=(4*#ScaleSongInformation#) 42 | W=(#CoverSize#*#ScaleSongInformation#) 43 | H=(#CoverSize#*#ScaleSongInformation#) 44 | SolidColor=#DropShadowColor# 45 | Hidden=(#EnableDropShadow# > 0 ? 0 : 1) 46 | [MeterCoverBackground] 47 | Meter=Image 48 | X=(7*#ScaleSongInformation#) 49 | Y=0 50 | W=(#CoverSize#*#ScaleSongInformation#) 51 | H=(#CoverSize#*#ScaleSongInformation#) 52 | SolidColor=#Color# 53 | Group=GroupDynamicColors 54 | 55 | ; Monstercat cover - between background and album cover layer 56 | [MeterMonstercatCover] 57 | Meter=Image 58 | ImageName=#@#images\nocover.png 59 | X=(7*#ScaleSongInformation#) 60 | Y=0 61 | W=(#CoverSize#*#ScaleSongInformation#) 62 | H=(#CoverSize#*#ScaleSongInformation#) 63 | PreserveAspectRatio=2 64 | MouseOverAction=[!ShowMeterGroup "MediaControls"] 65 | MouseLeaveAction=[!HideMeterGroup "MediaControls"] 66 | 67 | ; Album cover - shows the album cover 68 | [MeterCover] 69 | Meter=Image 70 | MeasureName=MeasureCover 71 | X=(7*#ScaleSongInformation#) 72 | Y=0 73 | W=(#CoverSize#*#ScaleSongInformation#) 74 | H=(#CoverSize#*#ScaleSongInformation#) 75 | PreserveAspectRatio=2 76 | MouseOverAction=[!ShowMeterGroup "MediaControls"] 77 | MouseLeaveAction=[!HideMeterGroup "MediaControls"] 78 | Hidden=#ShowMonstercatCover# 79 | 80 | ; Media controls 81 | [MeterControlsOverlay] 82 | Meter=Image 83 | X=(7*#ScaleSongInformation#) 84 | Y=0 85 | W=(#CoverSize#*#ScaleSongInformation#) 86 | H=(#CoverSize#*#ScaleSongInformation#) 87 | SolidColor=0,0,0,200 88 | Hidden=1 89 | Group=MediaControls 90 | [MeterPrevious] 91 | Meter=Image 92 | ImageName=#@#images\previous.png 93 | X=(7*#ScaleSongInformation#)+(#CoverSize#*0.070)*#ScaleSongInformation# 94 | Y=(#CoverSize#*0.35)*#ScaleSongInformation#r 95 | W=(#CoverSize#*0.25)*#ScaleSongInformation# 96 | H=(#CoverSize#*0.25)*#ScaleSongInformation# 97 | LeftMouseUpAction=[!CommandMeasure MeasureState "Previous"] 98 | Hidden=1 99 | Group=MediaControls 100 | [MeterPlayPause] 101 | Meter=Image 102 | X=(#CoverSize#*0.055)*#ScaleSongInformation#R 103 | Y=0r 104 | W=(#CoverSize#*0.25)*#ScaleSongInformation# 105 | H=(#CoverSize#*0.25)*#ScaleSongInformation# 106 | LeftMouseUpAction=[!CommandMeasure MeasureState "PlayPause"] 107 | ImageName=#@#images\[MeasureStateButton].png 108 | DynamicVariables=1 109 | Hidden=1 110 | Group=MediaControls 111 | [MeterNext] 112 | Meter=IMAGE 113 | ImageName=#@#images\Next.png 114 | X=(#CoverSize#*0.055)*#ScaleSongInformation#R 115 | Y=0r 116 | W=(#CoverSize#*0.25)*#ScaleSongInformation# 117 | H=(#CoverSize#*0.25)*#ScaleSongInformation# 118 | LeftMouseUpAction=[!CommandMeasure MeasureState "Next"] 119 | Hidden=1 120 | Group=MediaControls 121 | [MeterPosition] 122 | Meter=String 123 | MeasureName=MeasurePosition 124 | X=((7*#ScaleSongInformation#)+(#CoverSize#*0.10)*#ScaleSongInformation#) 125 | Y=(#CoverSize#*0.80)*#ScaleSongInformation# 126 | FontFace=#Font1# 127 | FontSize=(#CoverSize#*0.08)*#ScaleSongInformation# 128 | FontColor=255,255,255,255 129 | AntiAlias=1 130 | ClipString=1 131 | StringAlign=Left 132 | Hidden=1 133 | Group=MediaControls 134 | [MeterDuration] 135 | Meter=STRING 136 | MeterStyle=MeterPosition 137 | MeasureName=MeasureDuration 138 | X=((7*#ScaleSongInformation#)+(#CoverSize#*0.90)*#ScaleSongInformation#) 139 | Y=0r 140 | Hidden=1 141 | StringAlign=Right 142 | Group=MediaControls 143 | 144 | ; Include update checker 145 | @include4=#@#include\MeasureUpdateChecker.inc -------------------------------------------------------------------------------- /Song Information/Left.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | SongInfo 3 | Update=200 4 | DynamicWindowSize=1 5 | AccurateText=1 6 | 7 | ; = IMPORTANT = 8 | ; = For configuring the rainmeter skin, right-click the visualizer and click on "Open settings". 9 | ; = You can also open the variables.ini file located in: 10 | ; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources" 11 | 12 | ; Small context menu when you right-click the skin 13 | ContextTitle=" Open settings" 14 | ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"] 15 | ContextTitle2=" Open variables file" 16 | ContextAction2=["#@#variables.ini"] 17 | ContextTitle3=" Toggle background" 18 | ContextAction3=[!ToggleConfig "#ROOTCONFIG#\Background" "Background.ini"] 19 | 20 | OnRefreshAction=[!DisableMeasure "MeasurePosition"][!DisableMeasure "MeasureDuration"][!DisableMeasure "MeasureProgress"] 21 | 22 | [Metadata] 23 | Name=Monstercat Visualizer for Rainmeter 24 | Author=marcopixel 25 | Version=2.1.0 26 | License=MIT License 27 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 28 | 29 | [Variables] 30 | ; Include main variables file 31 | @include=#@#variables.ini 32 | 33 | ; Include styling & media player measures 34 | @include2=#@#include\MeasureMedia#MPMode#.inc 35 | @include3=#@#include\MeasureStyling.inc 36 | 37 | [MeasureClipSongInformation] 38 | Measure=Calc 39 | Formula=#ClipSongInformation# 40 | IfEqualValue=1 41 | IfEqualAction=[!SetOption MeterArtist W "#SkinWidth#"][!SetOption MeterTrack W "#SkinWidth#"] 42 | IfBelowValue=1 43 | IfBelowAction=[!SetOption MeterArtist ClipString 2] 44 | UpdateDivider=-1 45 | 46 | [MeasureEnableTextBorder] 47 | Measure=Calc 48 | Formula=#EnableTextBorder# 49 | IfEqualValue=1 50 | IfEqualAction=[!SetOption MeterArtist StringEffect "Border"][!SetOption MeterTrack StringEffect "Border"] 51 | UpdateDivider=-1 52 | 53 | [MeasureEnableDropShadow] 54 | Measure=Calc 55 | Formula=#EnableDropShadow# 56 | IfEqualValue=1 57 | IfEqualAction=[!SetOption MeterArtist InlineSetting3 "Shadow | 4 | 4 | 0 | #*DropShadowColor*#"][!SetOption MeterTrack InlineSetting3 "Shadow | 4 | 4 | 0 | #*DropShadowColor*#"] 58 | UpdateDivider=-1 59 | 60 | [MeterArtist] 61 | Meter=String 62 | MeasureName=MeasureArtist 63 | X=0 64 | Y=(30*#ScaleSongInformation#) 65 | FontFace=#Font1# 66 | FontSize=(#FontSize1#*#ScaleSongInformation#) 67 | FontEffectColor=#BorderColor# 68 | InlineSetting=Color | #TextColor# 69 | InlineSetting2=Case | Upper 70 | AntiAlias=1 71 | ClipString=1 72 | ClipStringH=(130*#ScaleSongInformation#) 73 | StringAlign=Left 74 | Group=GroupDynamicColors | GroupShadowMeters 75 | 76 | [MeterTrack] 77 | Meter=String 78 | MeasureName=MeasureTrack 79 | X=0 80 | Y=(-20*#ScaleSongInformation#)R 81 | FontFace=#Font2# 82 | FontSize=(#FontSize2#*#ScaleSongInformation#) 83 | FontEffectColor=#BorderColor# 84 | InlineSetting=Color | #TextColor# 85 | InlineSetting2=Case | Upper 86 | AntiAlias=1 87 | ClipString=2 88 | ClipStringH=(100*#ScaleSongInformation#) 89 | StringAlign=Left 90 | Group=GroupDynamicColors | GroupShadowMeters 91 | 92 | ; Include update checker 93 | @include4=#@#include\MeasureUpdateChecker.inc 94 | -------------------------------------------------------------------------------- /Song Information/Right.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | SongInfo 3 | Update=100 4 | DynamicWindowSize=1 5 | AccurateText=1 6 | 7 | ; = IMPORTANT = 8 | ; = For configuring the rainmeter skin, right-click the visualizer and click on "Open settings". 9 | ; = You can also open the variables.ini file located in: 10 | ; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources" 11 | 12 | ; Small context menu when you right-click the skin 13 | ContextTitle=" Open settings" 14 | ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"] 15 | ContextTitle2=" Open variables file" 16 | ContextAction2=["#@#variables.ini"] 17 | ContextTitle3=" Toggle background" 18 | ContextAction3=[!ToggleConfig "#ROOTCONFIG#\Background" "Background.ini"] 19 | 20 | OnRefreshAction=[!DisableMeasure "MeasurePosition"][!DisableMeasure "MeasureDuration"][!DisableMeasure "MeasureProgress"] 21 | 22 | [Metadata] 23 | Name=Monstercat Visualizer for Rainmeter 24 | Author=marcopixel 25 | Version=2.1.0 26 | License=MIT License 27 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 28 | 29 | [Variables] 30 | ; Include main variables file 31 | @include=#@#variables.ini 32 | 33 | ; Include styling & media player measures 34 | @include2=#@#include\MeasureMedia#MPMode#.inc 35 | @include3=#@#include\MeasureStyling.inc 36 | 37 | [MeasureClipSongInformation] 38 | Measure=Calc 39 | Formula=#ClipSongInformation# 40 | IfEqualValue=1 41 | IfEqualAction=[!SetOption MeterArtist W "#SkinWidth#"][!SetOption MeterTrack W "#SkinWidth#"] 42 | IfBelowValue=1 43 | IfBelowAction=[!SetOption MeterArtist ClipString 2] 44 | UpdateDivider=-1 45 | 46 | [MeasureEnableTextBorder] 47 | Measure=Calc 48 | Formula=#EnableTextBorder# 49 | IfEqualValue=1 50 | IfEqualAction=[!SetOption MeterArtist StringEffect "Border"][!SetOption MeterTrack StringEffect "Border"] 51 | UpdateDivider=-1 52 | 53 | [MeasureEnableDropShadow] 54 | Measure=Calc 55 | Formula=#EnableDropShadow# 56 | IfEqualValue=1 57 | IfEqualAction=[!SetOption MeterArtist InlineSetting3 "Shadow | 4 | 4 | 0 | #*DropShadowColor*#"][!SetOption MeterTrack InlineSetting3 "Shadow | 4 | 4 | 0 | #*DropShadowColor*#"] 58 | UpdateDivider=-1 59 | 60 | [MeterArtist] 61 | Meter=String 62 | MeasureName=MeasureArtist 63 | X=#SkinWidth# 64 | Y=(30*#ScaleSongInformation#) 65 | FontFace=#Font1# 66 | FontSize=(#FontSize1#*#ScaleSongInformation#) 67 | FontEffectColor=#BorderColor# 68 | InlineSetting=Color | #TextColor# 69 | InlineSetting2=Case | Upper 70 | AntiAlias=1 71 | ClipString=1 72 | ClipStringH=(130*#ScaleSongInformation#) 73 | StringAlign=Right 74 | Group=GroupDynamicColors | GroupShadowMeters 75 | 76 | [MeterTrack] 77 | Meter=String 78 | MeasureName=MeasureTrack 79 | X=#SkinWidth# 80 | Y=(-20*#ScaleSongInformation#)R 81 | FontFace=#Font2# 82 | FontSize=(#FontSize2#*#ScaleSongInformation#) 83 | FontEffectColor=#BorderColor# 84 | InlineSetting=Color | #TextColor# 85 | InlineSetting2=Case | Upper 86 | AntiAlias=1 87 | ClipString=2 88 | ClipStringH=(100*#ScaleSongInformation#) 89 | StringAlign=Right 90 | Group=GroupDynamicColors | GroupShadowMeters 91 | 92 | ; Include update checker 93 | @include4=#@#include\MeasureUpdateChecker.inc 94 | -------------------------------------------------------------------------------- /visualizer.ini: -------------------------------------------------------------------------------- 1 | [Rainmeter] 2 | Group=MonstercatVisualizer | Spectrum 3 | Update=10 4 | BackgroundMode=2 5 | SolidColor=0,0,0,1 6 | 7 | ; = IMPORTANT = 8 | ; = For configuring the rainmeter skin, right-click the visualizer and click on "Open settings". 9 | ; = You can also open the variables.ini file located in: 10 | ; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources" 11 | 12 | ; Small context menu when you right-click the skin 13 | ContextTitle=" Open settings" 14 | ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"] 15 | ContextTitle2=" Open variables file" 16 | ContextAction2=["#@#variables.ini"] 17 | ContextTitle3=" Toggle background" 18 | ContextAction3=[!ToggleConfig "#ROOTCONFIG#\Background" "Background.ini"] 19 | 20 | OnRefreshAction=[!WriteKeyValue Variables Config "#CURRENTCONFIG#" "#@#Variables.ini"][!ActivateConfig "#ROOTCONFIG#\Settings\misc\init" "InitializeSkin.ini"][!DisableMeasure "MeasureTrack"][!DisableMeasure "MeasureArtist"][!DisableMeasure "MeasurePosition"][!DisableMeasure "MeasureDuration"] 21 | 22 | [Metadata] 23 | Name=Monstercat Visualizer for Rainmeter 24 | Author=marcopixel 25 | Version=2.1.0 26 | License=MIT License 27 | Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos. 28 | 29 | [Variables] 30 | ; Include main variables file 31 | @include=#@#variables.ini 32 | 33 | ; Include styling & media player measures 34 | @include2=#@#include\MeasureMedia#MPMode#.inc 35 | @include3=#@#include\MeasureStyling.inc 36 | 37 | ; Measure AudioDevice - gets the name of the current device 38 | [MeasureWin7Audio] 39 | Measure=Plugin 40 | Plugin=Win7AudioPlugin 41 | OnChangeAction=[!SetOption MeasureAudioDevice DynamicVariables 0][!UpdateMeasure MeasureAudioDevice] 42 | UpdateDivider=1000 43 | [MeasureAudioDevice] 44 | Measure=String 45 | String=[MeasureWin7Audio] 46 | OnChangeAction=[!UpdateMeasure MeasureAudio][!RefreshGroup "Spectrum"] 47 | UpdateDivider=1000 48 | 49 | ; Measure InvertVisualizer - changes the values to invert the audio spectrum 50 | [MeasureInvertVisualizer] 51 | Measure=Calc 52 | Formula=#InvertVisualizer# 53 | IfEqualValue=1 54 | IfEqualAction=[!SetOption ScriptFactoryBars Value3 "MeasureAudioSmoothed{#BarCount# - %% - 1}"][!SetOption ScriptFactoryShadowBars Value3 "MeasureAudioSmoothed{#BarCount# - %% - 1}"][!UpdateMeasure "ScriptFactoryBars"][!CommandMeasure "ScriptFactoryBars" "Initialize()"][!UpdateMeasure "ScriptFactoryShadowBars"][!CommandMeasure "ScriptFactoryShadowBars" "Initialize()"] 55 | IfBelowValue=1 56 | IfBelowAction=[!SetOption ScriptFactoryBars Value3 "MeasureAudioSmoothed{%%}"][!SetOption ScriptFactoryShadowBars Value3 "MeasureAudioSmoothed{%%}"][!UpdateMeasure "ScriptFactoryBars"][!UpdateMeasure "ScriptFactoryShadowBars"][!CommandMeasure "ScriptFactoryBars" "Initialize()"][!CommandMeasure "ScriptFactoryShadowBars" "Initialize()"] 57 | UpdateDivider=-1 58 | 59 | ; Measure AudioLevel - captures audio stream from windows and outputs fft 60 | [MeasureAudio] 61 | Measure=Plugin 62 | Plugin=AudioLevel 63 | Port=Output 64 | FFTSize=#FFTSize# 65 | FFTOverlap=(#FFTSize#/2) 66 | FFTAttack=#FFTAttack# 67 | FFTDecay=#FFTDecay# 68 | Bands=#BarCount# 69 | FreqMin=#FreqMin# 70 | FreqMax=#FreqMax# 71 | Sensitivity=#Sensitivity# 72 | ID=#AudioDeviceID# 73 | PeakAttack=0 74 | PeakDecay=0 75 | PeakGain=#PeakGain# 76 | 77 | ; Script Factory - generates the bars for the visualizer 78 | [ScriptFactoryBars] 79 | Measure=Script 80 | ScriptFile=#@#scripts\Factory.lua 81 | IncFile=#@#include\MeterBars.inc 82 | Number=#BarCount# 83 | SectionName=MeterBar%% 84 | Option0=Meter 85 | Value0=BAR 86 | Option1=BarColor 87 | Value1=#*Color*# 88 | Option2=Group 89 | Value2=GroupBars 90 | Option3=MeasureName 91 | Value3=MeasureAudioSmoothed{%%} 92 | Option4=TransformationMatrix 93 | Value4=[*Matrix*] 94 | UpdateDivider=-1 95 | [ScriptFactoryShadowBars] 96 | Measure=Script 97 | ScriptFile=#@#scripts\Factory.lua 98 | IncFile=#@#include\MeterShadowBars.inc 99 | Number=#BarCount# 100 | SectionName=MeterShadowBar%% 101 | Option0=Meter 102 | Value0=BAR 103 | Option1=BarColor 104 | Value1=#*DropShadowColor*# 105 | Option2=Group 106 | Value2=GroupBars | GroupShadowBars 107 | Option3=MeasureName 108 | Value3=MeasureAudioSmoothed{%%} 109 | Option4=TransformationMatrix 110 | Value4=[*Matrix*] 111 | Option5=Hidden 112 | Value5=(#EnableDropShadow# > 0 ? 0 : 1) 113 | UpdateDivider=-1 114 | 115 | ; Script Refresher - required for the factory script, refreshes the skin to apply 116 | [ScriptRefresher] 117 | Measure=Script 118 | ScriptFile=#@#scripts\Refresher.lua 119 | UpdateDivider=-1 120 | Refreshed=0 121 | 122 | ; Include rotation measures 123 | @include4=#@#include\MeasureRotate.inc 124 | 125 | ; Include bar meters 126 | @include5=#@#include\MeterShadowBars.inc 127 | @include6=#@#include\MeterBars.inc 128 | 129 | ; Include audio band measures 130 | @include7=#@#include\MeasureBands.inc 131 | @include8=#@#include\MeasureBandsSmoothed.inc 132 | 133 | ; Include progress bar 134 | @include9=#@#include\MeterProgressBar.inc 135 | 136 | ; Include update checker 137 | @include10=#@#include\MeasureUpdateChecker.inc 138 | --------------------------------------------------------------------------------