github.com ETCLabs - sACN

Hello dear ETC community,

i hava a few questions about the nice open source sACN library published by ETC here:

https://github.com/ETCLabs/sACN

I
s this the correct place for questions about the API usage? I did not find a dedicated developer forum, and i do not want to pollute the github repo with my user questions =)

Best wishes
Heiner

Parents
  • Hello Heiner,

    This is probably as good a place as any.. I can help relay questions to the developers if needed. Could you describe what you're trying to do with the library and where you are getting stuck?

    Cheers,

    Tom

  • Hi Tom, cool!

    i am using the lib to receive DMX universes, and to my surprise in one of my customers setups (theatre, they have a ETC console) no 'Sources' show up. But i can receive all 'Merged' universes. So i have two questions,

    - is it normal / by design that there are no sources visible (or, more accurate, my callback (below) does not get called)

    	void HandleSourceUpdated(sacn::RemoteSourceHandle handle, const etcpal::Uuid& cid, const std::string& name,
    		const std::vector<uint16_t>& sourced_universes) override
    	{
            ...
    	}

    - is it possible to retrieve the owner names (of the merged universes) names through the  owners handles provided in the SacnRecvMergedData struct?

    	void HandleMergedData(sacn::MergeReceiver::Handle handle, const SacnRecvMergedData& merged_data) override
    	{
            ...
    	}

    Best wishes,
    Heiner

  • OK, very good. I can answer the first part:

    HandleSourceUpdated is part of the SourceDetector module. That deals with an *extension* to the sACN standard that allows sources to send a list of what universes they are controlling. Unfortunately that extension is optional, so you can't assume that all sources support it - and ETC family consoles in fact, don't support it yet. I would say it will sadly be some time before you could expect all sources to support source detection.

    On the second part - I'll check with the developers if/how you can get from a handle to a name - I will advise shortly.

  • And the second part:

    Yes, you can pass the handle into GetSource() which will then return a structure including the source info such as the name

  • Great, ok, i will consider that in the configuration setup. Is this 'extension' rather specific or is it expected to become a part of a future standard?

  • About the second part: to use the call to GetSource() i need a MergeReceiver instance pointer. The callback gives me a handle. Is there a library function that makes a lookup with a handle and returns the associated MergeReceiver? Or do i have to keep track between handles and Mergereceivers myself (,too)?  

Reply
  • About the second part: to use the call to GetSource() i need a MergeReceiver instance pointer. The callback gives me a handle. Is there a library function that makes a lookup with a handle and returns the associated MergeReceiver? Or do i have to keep track between handles and Mergereceivers myself (,too)?  

Children
No Data
Related