Useful source links for maintaining this repo's VirtualDJ skin, pad, effect, and scripting notes.
- Prefer current VirtualDJ manual and VDJPedia pages for syntax and supported behavior.
- Treat VirtualDJ forum posts as official only when the answer is from VirtualDJ staff, Development Manager, CTO, or Support staff.
- Treat Adion/CTO posts as high-authority implementation notes for scripting, audio-engine, and feature-behavior questions. VirtualDJ forum badges identify Adion as CTO, and Atomix's press archive confirms Atomix Productions acquired AdionSoft in 2011.
- Treat community skins, forum replies, Reddit posts, and GitHub snippets as examples to verify locally, not as authority.
- Treat working public skins as valuable provenance for discovery and searchability; record the exact skin, path, and line references before inferring semantics.
- Keep local conclusions labeled as
Inferencewhen they combine official docs with repo testing.
- VirtualDJ Manual - Current user manual.
- VDJPedia - Wiki-style documentation and SDK pages.
- Developer SDK - Entry point for skin, plugin, controller, and tool development.
- Skin SDK - Official skin package and element overview.
- Skin Browser -
<browser>element reference. - Custom Browser - Official decomposition of the default browser into custom skin elements.
- Split Panel -
<split>layout panels. - Skin Element Properties - Common element attributes including
visibility="",os="", andpanel="". - Skin Button - Button actions, mouse handlers, and state graphics.
- Skin Define - Class definitions, placeholders, class decks, and color defines.
- Skin SDK Dropzone - Drag/drop target element.
- Skin Panel - Query-driven and named panels.
- Skin Default Colors - Static and dynamic color handling.
- Skin SDK Visual - Dynamic visuals, including color visuals.
- VDJScript - Language overview.
- VDJScript Verbs - Current verb reference.
- VDJScript Examples - Official example scripts.
- Deck Effects Manual - Current deck FX layouts, including FX x6, stems FX, and effect-list behavior.
- Options List - Settings/options appendix.
- Lyrics Editor - AI-generated lyric editing, re-analysis, and censoring UI.
- Stems Help - Official stems overview, stem controls, preparation behavior, and five-stem terminology.
- VDJPedia Lists - XML list and virtual folder structure for VirtualDJ 2024 and onwards.
- Native Effects - Built-in effect reference.
- Pads Manual - Pad pages and pad behavior.
- Sampler Manual - Sampler sideview, banks, pages, and drag/drop behavior.
- How to Install Plugins and Addons - Official support article for extensions.
- Network Control Plugin - Official page for the HTTP control interface (
/query//execute, bearer auth, install/config). Discovered viaGET /on the running interface; see HTTP Control Interface.md.
- VirtualDJ Skins forum - Best place to search for skin engine behavior, staff clarifications, and examples.
- VirtualDJ Technical Support forum - Good for scripting, browser, sampler, and effect behavior questions.
- Atomix Productions acquires AdionSoft - Atomix press archive context for why Adion/CTO forum replies are treated as close implementation authority.
- VirtualDJ 2020 - Additions in Skin Engine - Staff-maintained thread for skin engine additions.
- Plugin interface Type VDJINTERFACE_SKIN and new additions in skin engine - Senior staff clarification that
conditionis evaluated on skin load/reload, whilevisibility/ panelvisibleupdate dynamically. - Asking for a skin development advice - Staff guidance on choosing
conditionfor infrequent structural choices versusvisiblefor performance-time switching. - Lightweight skin design rules? - Moderator guidance on reducing repeated visibility predicates and using conditions for load-time structure.
- How can one set both, Visibility and Transparency of a skin button - Staff note that
visibility=""can be boolean or numeric opacity, withconstantneeded in ternaries that return numbers. - Border Color using placeholder - Staff clarification that dynamic button border colors are not supported.
- Skin text action; visibility or visual? - Staff guidance for dynamic skin text color.
- On the use of colour defines - Staff clarification that defined skin colors work in direct color fields but not inside VDJScript color actions.
- effect_colorfx & effect_stems_color ? - Staff discussion of extra ColorFX controls.
- BUILD 7403 - Multiple stems fx can be used at the same time? - Adion/CTO guidance that stem FX targets can be treated as separate slots for
effect_*actions. - Default filter and color fx filter - Staff guidance on filter and ColorFX behavior.
- Aditional xml for Skins - Staff/forum context for runtime XML includes versus build-time composition.
- Virtual DJ 2026 - Staff launch-thread guidance on AI lyrics, prepared stems, re-analysis, and long-track limits.
- How Lyrics are analyzed??? - Staff explanation of lyric audio signatures, stems requirement, server cache, and local edits.
- Lyrics issues with stems VDJ 2026 - Early lyric/stems behavior reports and censor matching discussion.
- Stems 2.0 - Forum guidance around the Stems 2.0 requirement message for lyric extraction.
- Where can I find the database.xml file on MacOS? - CTO reply plus user-confirmed macOS
database.xmlpath under~/Library/Application Support/VirtualDJ. - Machine specific settings.xml and licence.dat? - Staff explanation of the VirtualDJ home folder, master database, and per-drive local databases.
- XML Variables in Skin and Database - Staff clarification that local and global variables are separate names, and global variables must be queried with the
$prefix. - Sending MIDI CC Commands - Staff clarification that device definitions do not evaluate VDJScript; dynamic behavior belongs in mapper actions.
- Script/Param/Variable Maths - Adion/CTO clarification that
pitchaccepts beats parameters such aspitch 128btto match a target BPM, plus a moderator example usingparam_multiplyandparam_cast 'beats'. - Bug in Instant Filters > Has Lyrics - Forum workaround for "Has Lyrics" filter state matching.
- Undocumented scripts - Staff clarification of old
effect X activeandvar 'name' Xsyntax. - VDJ Script Verbs update - Staff clarification that skins and controllers share verbs, with the in-app editor as a discovery source.
- Where can I find a VDJ script reference? - Staff/community discussion of VDJScript's intentionally concise reference style and debugging approaches.
- How to map specific Fx? - Moderator examples for
padfx ... 'stemfx:vocal'andeffect_show_gui vocals echo. - Legacy Echo's Name? - Community/staff troubleshooting examples for stem-slot effect sliders and effect-name ambiguity.
- Mix Assist in other skins - Staff/community context for Mix FX, including the crossfader-linked effect behavior.
- Saving 'PluginPage' Settings between sessions - Community/moderator Mix FX scripting examples, including
effect_mixfx_select,effect_mixfx_activate, and indirectparam_equalquery patterns. - How to find the scripts behind a skin? - Forum thread identifying the Mix FX verb family used by skins.
- DDJ-FLX2 Advanced Setup - Official hardware manual note that Mix FX can be selected from Starter/Essentials skins or assigned with
effect_mixfx_select. - DDJ-REV5 Effects - Official hardware manual language for six VirtualDJ FX slots and selecting multiple slots.
- DJM-S5 Effects - Official hardware manual language for the 6 FX Slots layout and bank controls.
- VirtualDJ Extensions - Officially hosted but community-contributed skins, effects, pads, samples, and mappings. Useful for studying patterns; verify syntax before copying.
- set local variable on init - Community/moderator discussion of setting local variables during controller init and why numbered decks are safer than logical
deck leftfor this job. - VirtualDJ Skins forum, non-staff posts - Useful examples and troubleshooting, but source-label as
Communityunless staff confirms the behavior. - r/virtualdj - Broad community troubleshooting. Useful for symptoms and user workflows, low authority for SDK details.
- GitHub code search: VirtualDJ skin XML - Occasional public examples and tooling. Check licenses and verify against current official docs.
- Matroska Stem Files Internet-Draft - External container-format context for multi-track stem files.
- VirtualDJ Reference - Source-backed overview and preferred local patterns.
- Lyrics AI and Skins - AI lyrics, skin styling surface, filters, and useful script quirks.
- Application Internals - Low-level macOS paths, file formats, databases, stem sidecars, and shell examples.
- Skin SDK - Local skin SDK reference.
- Built-in skins - App-bundle skin XML and assets used as semi-official executable examples.
- VDJScript Verbs - Curated verb notes.
- Official VDJScript Coverage Audit - Names-only comparison against the live official VDJScript appendix.
- Built-in pad pages - App-bundle
pads_*.xmlcopies used as semi-official executable examples. - Published Skin Findings - Provenance log for commands and patterns mined from working public skins.
- Filter Syntax - Browser filter notes.
- Example Skin XML Objects - Local skin XML examples.
- GraveRaver build demo - Minimal XInclude source tree for the build workflow; not a polished skin reference.
- GraveRaver build file - Build-time XInclude workflow.
- ModularSkeleton build skin - Minimal modular skin scaffold output.