It appears receiving RGBA is not working the same as BGRA
Posted Fri 08 Jan 21 @ 1:59 am
Don - I will see if I can reproduce this and track it down. I have just updated GitHub source and a binary to try - version 2.05. So try that to see whether the problem remains.
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
Nicotux - your new GitHub repo is very useful.
I notice differences in the name generation code to that in the sender. Should the sender plugin be updated?
I have included the new code in the receiver. As I understand it, this will prevent receiving from a sender plugin if it is loaded on the same deck or on the master deck, but will allow receiving from sender plugins on other decks.
I can't find "DeclareParameterPosition" in the latest VDJ header files, so I assume this is a modification that you have made. It's no trouble to add. But if there is ever a problem with the plugin, I don't know enough about it to help.
Probably the best solution is for you to create an independent plugin specifically to do what you want and then you are in control. Maybe use a different plugin class name and dll name so there is no confusion.
What are you receiving from to see the difference between RGBA / BGRA?
Scott - yes NestDrop is fantastic and I hope it works out for people who want to use it.
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
Nicotux - your new GitHub repo is very useful.
I notice differences in the name generation code to that in the sender. Should the sender plugin be updated?
I have included the new code in the receiver. As I understand it, this will prevent receiving from a sender plugin if it is loaded on the same deck or on the master deck, but will allow receiving from sender plugins on other decks.
I can't find "DeclareParameterPosition" in the latest VDJ header files, so I assume this is a modification that you have made. It's no trouble to add. But if there is ever a problem with the plugin, I don't know enough about it to help.
Probably the best solution is for you to create an independent plugin specifically to do what you want and then you are in control. Maybe use a different plugin class name and dll name so there is no confusion.
What are you receiving from to see the difference between RGBA / BGRA?
Scott - yes NestDrop is fantastic and I hope it works out for people who want to use it.
Posted Fri 08 Jan 21 @ 2:53 am
I found that after click on the main deck window to turn it off, OnDeviceClose is called, so everything is released. OnDeviceInit is not called again if the window is toggled on again. But Onstart is, so I have worked around it and set up again if OnDeviceClose was called. I think we had this problem some time back and simply did nothing in OnDeviceClose but that solution doesn't work any more.
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
The RGBA/BGRA problem needs some thought to retain compatibility with DirectX 9 (NestDrop).
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
The RGBA/BGRA problem needs some thought to retain compatibility with DirectX 9 (NestDrop).
Posted Fri 08 Jan 21 @ 5:21 am
Could not reproduce here. OnDeviceInit is always called again when video output opened again.
Posted Fri 08 Jan 21 @ 5:41 am
@Leadingedge - Sorry, I should have mentioned that I was using the 2.006 Spout VDJ Receiver. I downloaded it again this morning per your direction, and I still see the same issue.
I also do think you are correct. I vaguely remember finding this year's ago in testing. It's not really an action that I do when connected to a big system, but I was investigating something. I have to go to work, but I will show you what I am talking about ASAP
I also do think you are correct. I vaguely remember finding this year's ago in testing. It's not really an action that I do when connected to a big system, but I was investigating something. I have to go to work, but I will show you what I am talking about ASAP
Posted Fri 08 Jan 21 @ 11:33 am
Thanks Adion,
I am not sure what's going on because when I tested again just now, OnDeviceClose/OnDeviceInit were called as expected with click off and on. OnStart and OnStop were not called. This happens whether a video is already playing or not (on the left deck). I have not turned the computer off and there has been no notice to upgrade.
I definitely could reproduce Don Houde's findings and got OnStart instead of OnDeviceInit repeatedly when I was working on it. But I have since made changes for RGBA/DirectX9 texture format compatibility, so something might have changed that caused this previously.
It doesn't matter to the plugin now because whatever happens it will reset everything, but I will keep an eye on it.
I have updated for RGBA/DX9 formats :
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
Edit:
Don, try this version and see what happens. I do recall the same problem some years back.
I am not sure what's going on because when I tested again just now, OnDeviceClose/OnDeviceInit were called as expected with click off and on. OnStart and OnStop were not called. This happens whether a video is already playing or not (on the left deck). I have not turned the computer off and there has been no notice to upgrade.
I definitely could reproduce Don Houde's findings and got OnStart instead of OnDeviceInit repeatedly when I was working on it. But I have since made changes for RGBA/DirectX9 texture format compatibility, so something might have changed that caused this previously.
It doesn't matter to the plugin now because whatever happens it will reset everything, but I will keep an eye on it.
I have updated for RGBA/DX9 formats :
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutReceiver64.dll
Edit:
Don, try this version and see what happens. I do recall the same problem some years back.
Posted Fri 08 Jan 21 @ 12:22 pm
DeclareParameterPosition is one of the multiple features "not yet exposed" in SDK8 (but was explain some time ago - by Adion if I remenber correctly - as well as some other) It is used by some internal plugins such as "cover"
All render issues seem VDJ related, and need a good knowledge in DX and VDJ - SBDJ only have both
The difference between RGBA / BGRA ?
tested with WinSpoutDX.exe (Koala) and SpoutSender.exe (Videpo cube) and Tutorial04.exe when some are in use, some disapear from the list of available senders in spoutpanel... often BGRA one (looks like RGBA takes preference)
In fact RGBA does not always render (still images) and BGRA disappears when format is specified in CreateDX11Texture depending on static images/video (something is not updating when restarting ?)
if (format != 0) texformat = format;
looks like the "format" is altered in some way even all calls use DXGI_FORMAT_B8G8R8A8_UNORM for it
There are issues receiving from different senders at the same time
and Overlay on a deck disapears when a track is loaded
You are right, Sending/receiving from decks to decks using SPOUT is not a good idea
(better use a native plugin for that) so that you are right better not receive from VDJ
All render issues seem VDJ related, and need a good knowledge in DX and VDJ - SBDJ only have both
The difference between RGBA / BGRA ?
tested with WinSpoutDX.exe (Koala) and SpoutSender.exe (Videpo cube) and Tutorial04.exe when some are in use, some disapear from the list of available senders in spoutpanel... often BGRA one (looks like RGBA takes preference)
In fact RGBA does not always render (still images) and BGRA disappears when format is specified in CreateDX11Texture depending on static images/video (something is not updating when restarting ?)
if (format != 0) texformat = format;
looks like the "format" is altered in some way even all calls use DXGI_FORMAT_B8G8R8A8_UNORM for it
There are issues receiving from different senders at the same time
and Overlay on a deck disapears when a track is loaded
You are right, Sending/receiving from decks to decks using SPOUT is not a good idea
(better use a native plugin for that) so that you are right better not receive from VDJ
Posted Fri 08 Jan 21 @ 3:27 pm
sorry for the previous post comming late.. was pending... written before a 8H internet blakout
Posted Fri 08 Jan 21 @ 3:37 pm
Does not refresh the sender when format differs but size are the same
VDJSpoutReceiver64_Overlay updated:
Updated to match Latest Leadedge's fixes
Added fix for sender with same size but not same format (not sure all case are handled)
Dll can now rename and take care of correct refused senders (with Release bus as well )
Decks can overlay one sender while master overlay another one with different formats
VDJSpoutReceiver64_Overlay updated:
Updated to match Latest Leadedge's fixes
Added fix for sender with same size but not same format (not sure all case are handled)
Dll can now rename and take care of correct refused senders (with Release bus as well )
Decks can overlay one sender while master overlay another one with different formats
Posted Fri 08 Jan 21 @ 8:20 pm
Strange some format display only when no track is loaded (koala from WindowsSender aka WindowSpoutDX) while other do (colorized cube from Direct3D 11 Tutorial 4) and other senders disapear from spoutpanel (spout DX11 sender) when a sender use these format :/
and there is already cases where render need to restart plugin to display (or reset)
not yet stable :\
EDIIT:
- added some extra DX9formats and it seems to work better (but with track loaded)
- Senders that do not in panel can be specified "manually" in text area and can be used ok
and there is already cases where render need to restart plugin to display (or reset)
not yet stable :\
EDIIT:
- added some extra DX9formats and it seems to work better (but with track loaded)
- Senders that do not in panel can be specified "manually" in text area and can be used ok
Posted Fri 08 Jan 21 @ 11:17 pm
@Lynn, Yup, the updated Receiver fixed the Main deck screen click issue I was having. Everything as expected now!
Great work to all! This is getting good!
Great work to all! This is getting good!
Posted Sat 09 Jan 21 @ 12:27 am
OK thanks Nicotux - now I understand about the experimental header files. I was not aware of these. I assume that if I use them it will not affect anything that isn't using the undocumented functions. I will have a look at the changes you have made and work on formats a little more.
Posted Sat 09 Jan 21 @ 12:28 am
In fact it only looks like "koala" like image format only do not show when a track was loaded on deck
other tested formats showing correctly
https://ibb.co/t855zGZ
(the deck2 spout receiving from spoutsender64 on deck 4)
about "undocumented" functions...
They are only "new functions" added since latest official SDK release
(only additions that were explain in some threads, no existing feature have been touched)
there is a comment for each about status "official" and "testing"
Existing but not explain are not set
other tested formats showing correctly
https://ibb.co/t855zGZ
(the deck2 spout receiving from spoutsender64 on deck 4)
about "undocumented" functions...
They are only "new functions" added since latest official SDK release
(only additions that were explain in some threads, no existing feature have been touched)
there is a comment for each about status "official" and "testing"
Existing but not explain are not set
Posted Sat 09 Jan 21 @ 1:05 am
Ok I will use these header files. The koala sender gives me something to look at.
I am also trying to test your position control but it's not working. I get a position control OK which is a rectangle under the main deck window. When I move over it, the cursor changes to a cross. Single click doesn't appear to do anything. If I hold it down, the sender selection dialog pops up. After that, the dialog pops up by just moving over the control.
What should I be doing and what should happen?
I am also trying to test your position control but it's not working. I get a position control OK which is a rectangle under the main deck window. When I move over it, the cursor changes to a cross. Single click doesn't appear to do anything. If I hold it down, the sender selection dialog pops up. After that, the dialog pops up by just moving over the control.
What should I be doing and what should happen?
Posted Sat 09 Jan 21 @ 1:36 am
lol, that's the OnParameter() ... you missed it
only open when button 1 is pressed not button 2
// Activate SpoutPanel to select a sender
if (ParamID == 1)
OpenSpoutPanel();
...
The position is working the same as cover one: resize by moving edges(double arrows), position by dragging (cross)
by the way, to fine adjust yoy can resize the dialog box
only open when button 1 is pressed not button 2
// Activate SpoutPanel to select a sender
if (ParamID == 1)
OpenSpoutPanel();
...
The position is working the same as cover one: resize by moving edges(double arrows), position by dragging (cross)
by the way, to fine adjust yoy can resize the dialog box
Posted Sat 09 Jan 21 @ 1:45 am
OK I got it. I don't use this software by the way.
Posted Sat 09 Jan 21 @ 1:56 am
I have uploaded a preliminary binary of the plugin with your changes for an overlay to try.
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutOverlay64.dll
The Koala sender works OK for me. It's BGRA so should not cause any problems. Is it all black or reversed colours, or something else?
https://github.com/leadedge/SpoutVDJ/raw/beta/Source/x64/Binaries/VDJSpoutOverlay64.dll
The Koala sender works OK for me. It's BGRA so should not cause any problems. Is it all black or reversed colours, or something else?
Posted Sat 09 Jan 21 @ 2:06 am
it works fine on a deck as long no track was loaded
(looks like video display on top)
as soon as track unloads it shows
same for master, it disappears as soon as a deck shows something
(videos does not experience this)
maybe still images are not updating on top of video ?
(tested with your last version as well ;)
(looks like video display on top)
as soon as track unloads it shows
same for master, it disappears as soon as a deck shows something
(videos does not experience this)
maybe still images are not updating on top of video ?
(tested with your last version as well ;)
Posted Sat 09 Jan 21 @ 2:13 am
As well switching from a sender to another with other format needs to apply twice before it shows
I experience this with all version when compiled as overlay
I experience this with all version when compiled as overlay
Posted Sat 09 Jan 21 @ 2:47 am
I have included an optional #define in the header file to build as an Overlay with your modifications. Otherwise the project will build as a receiver as usual. Hopefully you will able able to copy the entire project and work from there. If not, I will try to make it compatible. Also I have included the revised VirtualDJ header files.
I think the problem with the Koala image sender is with the sender code rather than the Receiver plugin. I am not sure what the problem is. I have confirmed that it's not because the image is static or that a new frame is not signaled. I will look further into it later. Meanwhile if any other senders show the same problem I will move this forwards.
The problem of missing senders in the list is probably with "SpoutPanel.exe". I have uploaded the latest version 2.36 with the dll binaries. Copy it somewhere convenient and run it once. Thereafter you should see 2.36 at lower left.
I can't reproduce the select twice problem when changing formats.
The receiver should be close. I can't see any reason why the overlay should not work the same.
Edit: I noticed a mistake with "infos->PluginName" for the overlay. I will fix it next time round.
I think the problem with the Koala image sender is with the sender code rather than the Receiver plugin. I am not sure what the problem is. I have confirmed that it's not because the image is static or that a new frame is not signaled. I will look further into it later. Meanwhile if any other senders show the same problem I will move this forwards.
The problem of missing senders in the list is probably with "SpoutPanel.exe". I have uploaded the latest version 2.36 with the dll binaries. Copy it somewhere convenient and run it once. Thereafter you should see 2.36 at lower left.
I can't reproduce the select twice problem when changing formats.
The receiver should be close. I can't see any reason why the overlay should not work the same.
Edit: I noticed a mistake with "infos->PluginName" for the overlay. I will fix it next time round.
Posted Sat 09 Jan 21 @ 4:50 am