Se Connecter:     


Forum: VirtualDJ Plugins

Sujet: Telly Media - Reborn Plugin Problem
i'm developing a video effect plugin (Advanced Slideshow) that needs to programmatically activate VDJ's built-in visualizations/shaders and pass through their video output.

Plugin flag: VDJFLAG_VIDEO_MASTERONLY
In OnDraw(), I call GetTexture() then DrawDeck() to pass through deck video
I'm sending SendCommand("video_source_select \"shader\"") which returns S_OK
Problem:
GetTexture() returns my plugin's own texture, not the deck's shader video. The shader doesn't appear to activate on any deck.
Questions:
What's the correct VDJ script command to activate a specific shader by its fileId (e.g., v_0bqF) or prettyname (e.g., "90s Retro Music Dream")?
Do I need to target a specific deck? (e.g., deck 1 video_source_select "shader")
Should I use VDJFLAG_VIDEO_VISUALISATION instead of MASTERONLY to enable shader pass-through?
Is there a different API method besides GetTexture()/DrawDeck() to render VDJ's shader output?
Goal: When my plugin is active and sends a command, I want VDJ's shader to render and my
DrawDeck() call to display it.

images are working fine shaders are not

Im using Latest Early access Beta Virtual DJ 2026 Build

Thanks for any guidance!






Log file




22:22:41.541] [-----] ----------------------------------------------------------------
[22:22:41.543] [INFO ] TellyMedia Logger started
[22:22:41.543] [INFO ] Log file: C:\Users\michael\AppData\Local\VirtualDJ\Plugins64\VideoEffect\TellyMedia_log.txt
[22:22:41.543] [INFO ] Build: Mar 2 2026 22:22:32
[22:22:41.543] [-----] ----------------------------------------------------------------
[22:22:41.543] [INFO ] DLL_PROCESS_ATTACH hModule=00007FFCDC630000
[22:22:41.545] [INFO ] TellyMediaPlugin v6.0 constructed @ 000001E151D9BC30
[22:22:41.545] [-----] ----------------------------------------------------------------
[22:22:41.545] [INFO ] OnLoad() called
[22:22:41.546] [INFO ] Parameters declared
[22:22:41.548] [INFO ] DIB frame created: m_hDIB=00000000320522B3 m_pDIBPixels=000001E12BB50000
[22:22:42.653] [-----] ----------------------------------------------------------------
[22:22:42.660] [INFO ] OnDeviceInit() - output size 958x538
[22:22:42.660] [INFO ] GetDevice(DX11) -> OK (0x00000000)
[22:22:42.661] [INFO ] D3D11 device=000001E16D23A020 context=000001E11F69AB18
[22:22:42.662] [INFO ] VS compiled OK (716 bytes)
[22:22:42.663] [INFO ] CreateVertexShader -> OK (0x00000000)
[22:22:42.664] [INFO ] PS compiled OK (768 bytes)
[22:22:42.664] [INFO ] CreatePixelShader -> OK (0x00000000)
[22:22:42.665] [INFO ] CreateSamplerState -> OK (0x00000000)
[22:22:42.665] [INFO ] CreateBuffer(AlphaCB) -> OK (0x00000000)
[22:22:42.665] [INFO ] CreateBuffer(ShaderCB) -> OK (0x00000000)
[22:22:42.666] [INFO ] CreateBlendState -> OK (0x00000000)
[22:22:42.666] [INFO ] CreateTexture2D(Frame) -> OK (0x00000000)
[22:22:42.667] [INFO ] CreateShaderResourceView -> OK (0x00000000)
[22:22:42.667] [INFO ] OnDeviceInit() complete — D3DReady=YES VS=000001E148830F38 PS=000001E1488310B8 Tex=000001E16089F460 SRV=000001E1600B1C68
[22:22:42.667] [INFO ] OnStart() - file=''
[22:22:42.684] [INFO ] OnDraw frame 1 — no content, DrawDeck() pass-through
[22:22:43.045] [INFO ] DPI scale: 1.00
[22:22:43.098] [INFO ] ======== LoadSlotFile START ========
[22:22:43.098] [INFO ] LoadSlotFile: path='C:\Users\michael\Pictures\Screenshots\Screenshot 2026-03-02 004104.png'
[22:22:43.099] [INFO ] LoadSlotFile: path length=70 first='C' last='g'
[22:22:43.099] [INFO ] LoadSlotFile: calling GetFileAttributesW...
[22:22:43.099] [INFO ] LoadSlotFile: file attributes=0x00000020
[22:22:43.099] [INFO ] LoadSlotFile: copying file path...
[22:22:43.101] [INFO ] LoadSlotFile: extracting filename...
[22:22:43.101] [INFO ] LoadSlotFile: extracting extension...
[22:22:43.101] [INFO ] LoadSlotFile: calculating thumbnail size...
[22:22:43.101] [INFO ] LoadSlotFile: extension='PNG' tw=120 th=96
[22:22:43.102] [INFO ] LoadSlotFile: IMAGE detected, calling CreateThumb...
[22:22:43.102] [INFO ] CreateThumb: START path='C:\Users\michael\Pictures\Screenshots\Screenshot 2026-03-02 004104.png' tw=120 th=96
[22:22:43.102] [INFO ] CreateThumb: GetFileAttributesW returned 0x00000020
[22:22:43.102] [INFO ] CreateThumb: file attributes OK (0x00000020)
[22:22:43.102] [INFO ] CreateThumb: Creating GDI+ Image object...
[22:22:43.105] [INFO ] CreateThumb: Image object created, checking status...
[22:22:43.105] [INFO ] CreateThumb: GDI+ Image status = 0 (0=Ok)
[22:22:43.105] [INFO ] CreateThumb: Image dimensions: 1657x669
[22:22:43.116] [INFO ] CreateThumb: SUCCESS - thumbnail created 120x96
[22:22:43.116] [INFO ] LoadSlotFile: CreateThumb SUCCESS
[22:22:43.116] [INFO ] LoadSlotFile: SUCCESS - hasFile=true hThumb=FFFFFFFFA80513D1
[22:22:43.116] [INFO ] ======== LoadSlotFile END ========
[22:22:43.117] [INFO ] ======== LoadSlotFile START ========
[22:22:43.117] [INFO ] LoadSlotFile: path='C:\Users\michael\Pictures\Screenshots\Screenshot 2026-03-02 110449.png'
[22:22:43.118] [INFO ] LoadSlotFile: path length=70 first='C' last='g'
[22:22:43.118] [INFO ] LoadSlotFile: calling GetFileAttributesW...
[22:22:43.119] [INFO ] LoadSlotFile: file attributes=0x00000020
[22:22:43.119] [INFO ] LoadSlotFile: copying file path...
[22:22:43.120] [INFO ] LoadSlotFile: extracting filename...
[22:22:43.120] [INFO ] LoadSlotFile: extracting extension...
[22:22:43.120] [INFO ] LoadSlotFile: calculating thumbnail size...
[22:22:43.121] [INFO ] LoadSlotFile: extension='PNG' tw=120 th=96
[22:22:43.121] [INFO ] LoadSlotFile: IMAGE detected, calling CreateThumb...
[22:22:43.121] [INFO ] CreateThumb: START path='C:\Users\michael\Pictures\Screenshots\Screenshot 2026-03-02 110449.png' tw=120 th=96
[22:22:43.122] [INFO ] CreateThumb: GetFileAttributesW returned 0x00000020
[22:22:43.122] [INFO ] CreateThumb: file attributes OK (0x00000020)
[22:22:43.122] [INFO ] CreateThumb: Creating GDI+ Image object...
[22:22:43.123] [INFO ] CreateThumb: Image object created, checking status...
[22:22:43.123] [INFO ] CreateThumb: GDI+ Image status = 0 (0=Ok)
[22:22:43.123] [INFO ] CreateThumb: Image dimensions: 2554x1430
[22:22:43.152] [INFO ] CreateThumb: SUCCESS - thumbnail created 120x96
[22:22:43.152] [INFO ] LoadSlotFile: CreateThumb SUCCESS
[22:22:43.154] [INFO ] LoadSlotFile: SUCCESS - hasFile=true hThumb=FFFFFFFFE00521A3
[22:22:43.154] [INFO ] ======== LoadSlotFile END ========
[22:22:43.155] [INFO ] Loaded state from C:\Users\michael\AppData\Roaming\TellyMedia_State.txt
[22:22:43.170] [INFO ] Logo image loaded successfully
[22:22:43.170] [INFO ] TellyMediaUI::Create() hWnd=00000000005B0568
[22:22:52.145] [INFO ] OnDraw frame 301 — no content, DrawDeck() pass-through
[22:23:01.593] [INFO ] OnDraw frame 601 — no content, DrawDeck() pass-through
[22:23:03.415] [INFO ] UIPlayShader: 'Laser Grid' (index 10)
[22:23:03.427] [INFO ] CreatePixelShader(ShaderFX) -> OK (0x00000000)
[22:23:04.852] [INFO ] UIPlayShader: 'Kaleidoscope' (index 6)
[22:23:04.864] [INFO ] CreatePixelShader(ShaderFX) -> OK (0x00000000)
[22:23:05.878] [INFO ] UIPlayShader: 'Fire Storm' (index 4)
[22:23:05.894] [INFO ] CreatePixelShader(ShaderFX) -> OK (0x00000000)
[22:23:07.621] [INFO ] UIPlayShader: 'Vortex Spiral' (index 13)
[22:23:07.635] [INFO ] CreatePixelShader(ShaderFX) -> OK (0x00000000)
[22:23:11.014] [INFO ] OnDraw frame 900 — shader 'Vortex Spiral' time=3.4s
[22:23:11.020] [INFO ] OnDraw frame 901 — playing=YES file='' alpha=1.00
[22:23:11.044] [INFO ] Map(FrameTexture) -> OK (0x00000000)
[22:23:11.842] [INFO ] UIStopShader
[22:23:20.463] [INFO ] OnDraw frame 1201 — no content, DrawDeck() pass-through
[22:23:29.934] [INFO ] OnDraw frame 1501 — no content, DrawDeck() pass-through
[22:23:39.387] [INFO ] OnDraw frame 1801 — no content, DrawDeck() pass-through
[22:23:48.833] [INFO ] OnDraw frame 2101 — no content, DrawDeck() pass-through
[22:23:58.290] [INFO ] OnDraw frame 2401 — no content, DrawDeck() pass-through
[22:24:07.758] [INFO ] OnDraw frame 2701 — no content, DrawDeck() pass-through
[22:24:17.223] [INFO ] OnDraw frame 3001 — no content, DrawDeck() pass-through
[22:24:26.691] [INFO ] OnDraw frame 3301 — no content, DrawDeck() pass-through
[22:24:36.148] [INFO ] OnDraw frame 3601 — no content, DrawDeck() pass-through
[22:24:45.611] [INFO ] OnDraw frame 3901 — no content, DrawDeck() pass-through
[22:24:55.080] [INFO ] OnDraw frame 4201 — no content, DrawDeck() pass-through
[22:25:04.549] [INFO ] OnDraw frame 4501 — no content, DrawDeck() pass-through
[22:25:14.008] [INFO ] OnDraw frame 4801 — no content, DrawDeck() pass-through
[22:25:23.455] [INFO ] OnDraw frame 5101 — no content, DrawDeck() pass-through
[22:25:32.899] [INFO ] OnDraw frame 5401 — no content, DrawDeck() pass-through
[22:25:42.359] [INFO ] OnDraw frame 5701 — no content, DrawDeck() pass-through
[22:25:50.174] [INFO ] OnDeviceClose()
[22:25:50.174] [INFO ] ReleaseD3D11Resources()
[22:25:50.699] [-----] ----------------------------------------------------------------
[22:25:50.705] [INFO ] OnDeviceInit() - output size 958x538
[22:25:50.705] [INFO ] GetDevice(DX11) -> OK (0x00000000)
[22:25:50.705] [INFO ] D3D11 device=000001E1B8F003C0 context=000001E11F69A7D8
[22:25:50.706] [INFO ] VS compiled OK (716 bytes)
[22:25:50.706] [INFO ] CreateVertexShader -> OK (0x00000000)
[22:25:50.708] [INFO ] PS compiled OK (768 bytes)
[22:25:50.709] [INFO ] CreatePixelShader -> OK (0x00000000)
[22:25:50.709] [INFO ] CreateSamplerState -> OK (0x00000000)
[22:25:50.709] [INFO ] CreateBuffer(AlphaCB) -> OK (0x00000000)
[22:25:50.709] [INFO ] CreateBuffer(ShaderCB) -> OK (0x00000000)
[22:25:50.709] [INFO ] CreateBlendState -> OK (0x00000000)
[22:25:50.711] [INFO ] CreateTexture2D(Frame) -> OK (0x00000000)
[22:25:50.711] [INFO ] CreateShaderResourceView -> OK (0x00000000)
[22:25:50.712] [INFO ] OnDeviceInit() complete — D3DReady=YES VS=000001E18B058BB8 PS=000001E18B058D78 Tex=000001E1BBB34E20 SRV=000001E1600AEB68
[22:25:52.339] [INFO ] OnDraw frame 6001 — no content, DrawDeck() pass-through
[22:26:01.808] [INFO ] OnDraw frame 6301 — no content, DrawDeck() pass-through
[22:26:06.827] [INFO ] Slot click: slotIdx=2 fileExt='VIZ' licensed=1
[22:26:06.834] [INFO ] Slot click: VIZ detected - calling UISetSlotEffect with vizMode=true
[22:26:06.834] [INFO ] UISetSlotEffect: VIZ mode — cleared image for full pass-through
[22:26:06.834] [INFO ] UISetSlotEffect: VIZ slot selected - fileId='s_nnfH' prettyName='Pride Beat Glow Grid'
[22:26:06.834] [INFO ] UISetSlotEffect: Plugin in pass-through mode - VDJ visualizations must be activated manually in VDJ UI
[22:26:06.835] [INFO ] UISetSlotEffect: builtinFx=0 vizMode=YES passthrough=YES
[22:26:07.144] [INFO ] Slot click: slotIdx=1 fileExt='PNG' licensed=1
[22:26:07.145] [INFO ] UILoadSlotImage() path='C:\Users\michael\Pictures\Screenshots\Screenshot 2026-03-02 110449.png' trans=0 fade=500ms
[22:26:07.146] [INFO ] UILoadSlotImage: image loaded 2554x1430
[22:26:07.146] [INFO ] UISetSlotEffect: revert to default hr=0x00000000
[22:26:07.147] [INFO ] UISetSlotEffect: builtinFx=0 vizMode=NO passthrough=NO
[22:26:07.649] [INFO ] Slot click: slotIdx=2 fileExt='VIZ' licensed=1
[22:26:07.651] [INFO ] Slot click: VIZ detected - calling UISetSlotEffect with vizMode=true
[22:26:07.651] [INFO ] UISetSlotEffect: VIZ mode — cleared image for full pass-through
[22:26:07.652] [INFO ] UISetSlotEffect: VIZ slot selected - fileId='s_nnfH' prettyName='Pride Beat Glow Grid'
[22:26:07.652] [INFO ] UISetSlotEffect: Plugin in pass-through mode - VDJ visualizations must be activated manually in VDJ UI
[22:26:07.652] [INFO ] UISetSlotEffect: builtinFx=0 vizMode=YES passthrough=YES
[22:26:11.269] [INFO ] OnDraw frame 6601 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:26:20.720] [INFO ] OnDraw frame 6901 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:26:30.189] [INFO ] OnDraw frame 7201 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:26:39.630] [INFO ] OnDraw frame 7501 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:26:49.082] [INFO ] OnDraw frame 7801 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:26:58.536] [INFO ] OnDraw frame 8101 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:07.989] [INFO ] OnDraw frame 8401 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:17.456] [INFO ] OnDraw frame 8701 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:26.923] [INFO ] OnDraw frame 9001 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:36.380] [INFO ] OnDraw frame 9301 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:45.835] [INFO ] OnDraw frame 9601 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:27:55.289] [INFO ] OnDraw frame 9901 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:28:04.742] [INFO ] OnDraw frame 10201 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:28:14.197] [INFO ] OnDraw frame 10501 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
[22:28:23.648] [INFO ] OnDraw frame 10801 — VIZ pass-through GetTex=0x00000000 DrawDeck=0x00000000 srv=000001E1600B1028
 

Posté 7 hours ago