How can I get this to work?

How can I get this to work?

Postby arakula » 08 Mar 2012, 09:53

Hi,

I've already registered as a Freeware developer quite some time ago; finally, I've found some free time to play with CopperLan. But... I'm stuck. I downloaded the Windows Freeware SDK from your developer pages, plus the SDK documentation, after having had a funny time finding the Files section there. It's pretty well hidden. In fact, I can't even find it again now 8-)
[Edit:] ah, I found the "Files" section again. Gonna put it into my bookmarks now 8-)

OK, so I expanded the files
CopperLanFreewareSDKDoc[20120113_1.0(6)].zip
CopperLanFreewareSDKWindows[20120113_1.0(6)].zip
on my development machine and started to read the documentation.

First thing I noticed immediately - the SDK doesn't contain the include files that should be necessary, according to the documentation. Where can I find them?
The Mac OSX SDK contains them, BTW. Are they identical?
[Edit:] I found the includes in CopperLanFreewareSDKWindows[20111011_1.0(4)].zip now. Am I right in assuming that the includes didn't change since then?

The next question that will arise, once this has been settled, will be:

I'd like to load the CHAI DLL dynamically; it should be an optional item, not a prerequisite to running my application. Is this possible?

You're probably deep in preparations for Frankfurt, but I'd really appreciate it if you could find the time to get me running into the right direction 8-)

Thank you,

Hermann
arakula
 
Posts: 29
Joined: 07 Mar 2012, 19:57

Re: How can I get this to work?

Postby CopperPhil » 08 Mar 2012, 10:51

Hi Hermann,

Yes indeed, it may be not so easy to find the right files... We have added a link on the Wiki Home pointing to the SDK download page.

The header files are well missing. I've just uploaded an updated version of the SDK, please download thesefiles:
- CopperLanFreewareSDKWindows[20120308_1.0(7)].zip
- CopperLanFreewareSDKDoc[20120308_1.0(7)].zip

Be careful, headers are not totally similar between Mac and Windows versions. There are a few differences due to the platform headers.

The documentation is still in progress (huge work) but do not hesitate to post any question on the SDK forum, or if you need very accurate advise, send me an email (philippe.cailleau@ict7.com).

About loading dynamically the DLL, I have no immediate answer, we have to check the feasability. So I'll keep you informed here ASAP, but we are rushing to present a very exciting new feature at the Musikmesse :oops:

Let me know if you come in Frankfurt, I'll be glad to meet you and have some tech discussion :-)

/Phil
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How can I get this to work?

Postby arakula » 08 Mar 2012, 12:07

CopperPhil wrote:The header files are well missing. I've just uploaded an updated version of the SDK, please download thesefiles:
- CopperLanFreewareSDKWindows[20120308_1.0(7)].zip

No 64bit DLLs in this one; no changes?
BTW, the 32bit DLL is older than the one in 1.0(6)...

CopperPhil wrote:Let me know if you come in Frankfurt, I'll be glad to meet you and have some tech discussion :-)

I don't know yet, but if I come, I'll tell you.
arakula
 
Posts: 29
Joined: 07 Mar 2012, 19:57

Re: How can I get this to work?

Postby CopperPhil » 08 Mar 2012, 12:25

Ooops... sorry :oops:

Fixed, the right zip is on line. Same name (CopperLanFreewareSDKWindows[20120308_1.0(7)].zip) but not same content.
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How can I get this to work?

Postby arakula » 08 Mar 2012, 17:01

arakula wrote:I'd like to load the CHAI DLL dynamically; it should be an optional item, not a prerequisite to running my application. Is this possible?

To answer my own question: not bloody likely.

Getting a pointer to the CHAI is easy enough, but ze big problem is in the various data classes (like CPT::DeviceID or CPT::Utf8String, for example). Non-virtual destructors, non-virtual methods, and static data members make this next to impossible. Plus, the whole thing is tightly tied to Microsoft's ABI this way, which would presumably make trying something like MinGW an unpleasant adventure.

Since I don't think that changing the API's foundations to true, COM-compatible interfaces (like the Steinberg VST SDK 3 has, for example) is an option, the easiest way I can see is to create a layer on top of CHAI with the functionality I need, and load that dynamically.
Apart from the additional work that's necessary, fine with me - the additional abstraction layer makes it easier to switch to the commercial model if I should need that.
arakula
 
Posts: 29
Joined: 07 Mar 2012, 19:57

Re: How can I get this to work?

Postby CopperPhil » 08 Mar 2012, 17:58

Well, I would like to ensure that you got the complete information about SDK distributions and CopperLan licencing.

- The Freeware SDK must be used for cost free applications only. It is published as a DLL (or dylib for MacOS). No CopperLan licence fee.
- Paid application must use the Manufacturer SDK, available as a static lib to be linked with the application code. Small CopperLan licence fee per unit/bundle sold.

So, anyway, if you plan to sell your application, it would not be possible to dynamically load the CopperLan stuff...

I'm not sure what is your commercial model, do you want to be able to provide your application with or without CopperLan?

- If you need to switch on/off CopperLan dynamically, you can always create CopperLan objects or connect to the network only when needed, but the code will be there in the application.
- If you want to provide your application with or without CopperLan, it seems to me more easy to build two different executables thanks to some compiler/linker directives...

I made/participate to several CopperLan adaptation of existing software. It is usually not so invasive and easy to circumscribe the CopperLan stuff in a piece of code that can be out of compilation/link thanks to some #define and #ifdef. But it implies to make different executables...
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How can I get this to work?

Postby arakula » 08 Mar 2012, 18:37

CopperPhil wrote:I'm not sure what is your commercial model, do you want to be able to provide your application with or without CopperLan?

Freeware.

VSTHost / SAVIHost, to be precise. I know you know these, since Ive seen you using them last year in Frankfurt, and SAVIHost is clearly visible in the video featured on your web site 8-). My idea is to make both the applications remote-controllable through CopperLan, and to provide bidirectional access to the loaded PlugIns' parameters.

And both of them run on anything >= Windows 98... yes, there are still people using this... but CopperLan support doesn't make sense on Windows 98, ME, and NT4. Windows 2000 I don't know, since the driver model should be very similar to XP, but on the older systems it's definitely unsupported. Have you ever tried to load your Freeware DLL in one of these ancient operating systems? I haven't yet, but I have strong doubts that it would work, so I would like to make the DLL an optional item.

There might be other products in the future which would require a commercial license, but this is another story altogether. At the moment, I'm only trying to get into the matter.

CopperPhil wrote:- If you want to provide your application with or without CopperLan, it seems to me more easy to build two different executables thanks to some compiler/linker directives...

True, but I'm already building 6 different VSTHost and 8 SAVIHost versions. Creating and maintaining yet another duplicate set isn't appealing.
arakula
 
Posts: 29
Joined: 07 Mar 2012, 19:57

Win2000 and Win98 ?

Postby Copperhead » 08 Mar 2012, 19:22

Regarding the older OSes:
We currently support 8 implementations: 5 versions of Windows, the MAC, embedded Linux and embedded on FreeRTOS.
On windows, it implies that we support two sets of drivers (NDIS 5.1 and 6).
Going to Windows 2000 and before would imply writing more drivers for environments that are no more supported by MS.
In the music domain, Windows XP enjoyed a particularly long life given its benefits against Vista.
But with Win7 being finally accepted by musicians, versions older than XP are quickly fading out.
From the feedback we get, we don't see enough interest to justify supporting these oldies when new OSes for MAC and Win are just behind the door.
User avatar
Copperhead
Site Admin
 
Posts: 70
Joined: 16 Apr 2011, 11:43
Location: Belgium

Re: How can I get this to work?

Postby CopperPhil » 08 Mar 2012, 19:52

My idea is to make both the applications remote-controllable through CopperLan, and to provide bidirectional access to the loaded PlugIns' parameters.


It is definitely a VERY GOOD IDEA!!! :D Allowing to control standard (not modified) plugins from anywhere is something expected by many users!

In addition, making your application sensible to the CopperLan's Snapshot feature would be great too! So the user can save/restore the plugins set hosted by your host at the same time he save/restore the whole connection set, in a single click!

I'll be happy to provide you with any support needed!

Just to make your mouth water: we'll show a new demo in Frankfurt, a hardware controller (keyboard + knobs panel) with automatic connection/configuration depending on the selected target. Imagine multiple *Hosts running on multiple computers, all of them controlled from a single hardware controller without needing to handle connection from the CopperLan Manager... More to come next week ;)
CopperPhil
 
Posts: 480
Joined: 30 Mar 2011, 15:02
Location: Brussels

Re: How can I get this to work?

Postby animated » 07 Feb 2013, 16:21

Hi Guys

I just tried using CopperLan with Windows 2000, as I'm playing around with the Windows version of SoundDiver, which was never officially supported on XP and beyond. It works generally on XP but with a few bugs here and there, hence trying 2000.

CopperLan doesn't pick up the network, and reading this thread I now see why. Could be worth supporting 2000 for the sake of bringing SoundDiver back to life for those people that own it. It's the best general synth editor by far IMHO.

Cheers

Lee
animated
 
Posts: 7
Joined: 31 Jan 2013, 16:30

Next

Return to Generalities

cron