Hier mein problem mit welchen wünschen die ankommen.
Zitat:
Hey,
I hate to do this but upon further investigation into my code I will need a little more than to be able to just set the HDC.
Here is how my code must work. The callback function shown below is continually called by a third party video engine I use. I am only allowed to modify the HDC in this procedure and I must release the HDC immediately after use in this callback. So I will need to be able to control the rendering of the visualization from here like the old BASSVis did before. I also need to be able to update two HDC's at the same time as shown below, so only being able to provide one
handle in the BASSVIS_Exec wont be enough for me.
Is this functionality that would be possible for you to add for me?
Code:
void CALLBACK VidUpdateProc(DWORD dwProcUser)
{
if (VIDJ_LayerGetDC (hVisLayer, dwMasterDevice, &hDC))
{
BASS_SONIQUEVIS_Render2(m_hVis, data, fft, hDC, BASS_SAMPLE_FLOAT, dwMilliseconds);
VIDJ_LayerReleaseDC (hVisLayer, dwMasterDevice, hDC);
}
if (dwMasterDevice != dwPreviewDevice && VIDJ_LayerGetDC (hVisLayer, dwPreviewDevice, &hDC))
{
BASS_SONIQUEVIS_Render2(m_hVis, data, fft, hDC, BASS_SAMPLE_FLOAT, dwMilliseconds);
VIDJ_LayerReleaseDC (hVisLayer, dwPreviewDevice, hDC);
}
}
Zitat:
just had an idea, iv got a similar need to render to a hdc.
in windows there is a function to hook and override functions for a thread or
dll
if bassfan you can create a little
api function setgetdc callback which we can pass in our own function pointer we could get any visulisation to render to a hdc!
do you know about windows hooks bassfan
Wie soll das noch vernünftig laufen wenn die in den RenderThread patchen ?
Nur eins ist klar das HDC muss ich irgendwie innerhalb der
DLL erkennen können.
Aber über die Ausführende Exe sollte es so bleiben wie es ist also einmal übergeben und fertig.
Nur das will irgendwie nicht wenn das
Handle nicht von einem Fenster (Panel)
ec.. kommt.
Hätte da noch jemand eine Idee ?
Ich müßte da erkennen können wann das HDC sich ändert und gegebenfalls anpassen.
gruss Emil