HakenMidi.h version/location

HakenMidi.h was included with the User Guides in the 10.38 Haken Editor package, but it’s not included in the released 10.40 package.

Are there any changes since 10.38? If it has changed, do I need to open a support request to get an updated header?

2 Likes

I emailed @Anckorage about this yesterday, it was there in 10.39, but gone in 10.40.

he was going to check if this was an oversight or there was another reason.

I’ve also repeated my request that the header file is place into a (GitHub) public repo, so that we can track changes and also include (via submodule) into our own repos.

my understanding is its the same as the one included in 10.39, with a few minor additions… I can check this later today.


@Anckorage - could you check with Lippold if it’s fine to now share this file in public.

Id prefer ONE location to get the header from… rather than sharing it, but whilst we dont have that , we could throw it up here as a post.

anyway, important for us to understand what Lippold wants to do in this area.

1 Like

It was a mistake
It’s back in now just download again the 1040 and you will get it together with all the documentations

3 Likes

For the GitHub, That’s a little more work, but I don’t see anything against it. Just need to check everything with Lippold.

3 Likes

Thanks!

I’d be happy to host this on my personal github account. I’d maintain a separate repo for just the header and supporting documentation such as a license, usage guidance, and support policy.

I have started working on a portable library for working with the EM. it will be shared with a number of projects I’m (slowly) working on. I intend to make the library open source for anyone to use. Having permission to use this file directly and include it in my repo would make the shared library much easier to maintain.

Looking forward to hear what Lipppold has in mind.

1 Like

Im fine with it being in the release (though would prefer an official GitHub repo, def not a 3rd party), and then I’ll copy it to my projects.

however, as Ive mentioned before we need (at least) a GPL compatible license on it.

currently its only has

// Haken Audio Midi Protocol by Lippold Haken, (C) Copyright 1999-2024.

so arguably you cannot include in your own projects, as there is no such right granted in the header file etc.

this in turn, would mean your project could not be GPL , as if you don’t include the header, then the build is not complete (a requirement of GPL3 etc)

personally, it seems MIT would be fine…
the header file does not contain code, rather just definitions…which define a wire protocol.

1 Like

Excellent points all. I wouldn’t do anything without permission. What I did previously was rewrite everything that I needed, using information from the 10.09 header file, and Lippold told me he was fine with that.

My main point is that I’m willing to do whatever GitHub work is required on a volunteer basis.

Ideally Haken Audio could create an official organizational account that a few contributors could be given permissions to work in.

3 Likes

yeah, so my understanding is…

this header file comes (directly) from the haken firmware repo, which is private (understandably) - its then copied (now) into the release.
that repo will not be made public, so it comes does to how do you share one file.

what Ive suggested to Christophe (to request to Lippold) is.
create a new github public repo (Haken API), containing just this file (and a license !).
then Lippold can include this public repo into the firmware repo via GitHub submodule.

this is what I do with these kind of interfaces, as it creates a nice separation for the public interface.

that said, I completely understand why it was done as-is, there’s going to be very few of us that use this header file, so doesn’t make a lot of sense to spend a lot of time on this.
and if you are not familiar with things like GitHub submodules it might seem like quite a faff for a couple of devs. ofc, those of us that use it, know its very quick/easy to do.

ofc, there are other options, e.g. using GitHub workflows to publish the api to a specific location or another repo.

all that said, Ive not spoken to Lippold about this header file.
so its possible, there may be non-logistical/technical reasons to not do the above.
e.g. intellectual property, control/support of 3rd party devs etc.

anyway, lots of options, hopefully we will be sorted soon

my main concern is the license side at the moment, as I do stuff under GPL.

1 Like

Lippold has agreed to make the firmware open source? If you make the header open source you might infer the entire firmware is. I see no need for github unless Lippold wants the entire thing to be open source. And who maintains it in github? How many people will use this? Very very few as 99% of what anyone needs to create normal overlays is in the official documentation.

Is the new editor going to be Open Source? If so perhaps that’s where this file should be if that is using github?

1 Like

no no, absolutely not ! … that would be only the HakenMidi.h file that could be made available in suche a Github… but I haven’t discuss this with Lippold yet (to many things ongoing with the release, and no emergency about it). What we are discussing here is just the most convenient way for developers to access the very specific single file.

2 Likes

that’s not true at all… (not sure why you would think that?)
the header files is simply a set of definitions, it does not contain any code.
it solely provides definitions for those values - nothing more, nor less.

those definitions can then be used by 3rd party developers to implement the wire protocol.

I’ll repeat, Im not so much worried about distribution of the file , that is a ‘nice to have’.
rather the license/copyright included in the header file.

it currently, contains no definition of usage / license - this is problematic for those of us who want to make our source code open source (or use GPL projects)

note: the license for the header file should be chosen carefully.
Id recommend something like MIT, as this will not prevent non-GPL developments.
GPL3 would potentially mean on GPL3 projects could use it.

ok… I know Haken are not going to enforce this, it’d be rather counterproductive,
also, given it contains no code, Im not 100% sure if licence is required, since when you include the file, you do not actually include any haken audio code into your projects.
(the compile will substitute literals)
but still given its release - its a good time to ‘get it right’ :wink:


the new editor is not part of the discussion, that’ll be complete up to haken audio if they want to make it open source or not. license of header file makes no difference, as haken own the code anyway.

1 Like