Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Octave client-api #98

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

Conversation

oheim
Copy link

@oheim oheim commented Nov 12, 2015

This is a new client API for Octave, the client API is licensed under GPLv3 (in agreement with Octave).

The current state is a working solution which is compatible with the MATLAB client API. More functions from the C++ client API will be added soon.

How Tos:

  • Create an Octave package release: make -C client-api/Octave
  • Installation in Octave: pkg install vibes-0.2.0.tar.gz
  • Usage in Octave
pkg load vibes
vibes.beginDrawing
vibes.drawBox (0, 1, 0, 1)
pkg load interval
x = infsupdec (0, 3)
y = sin (x) + 42
vibes.drawBox (x, y, "blue")

Open issues:

@dvinc
Copy link
Contributor

dvinc commented Nov 13, 2015

Thanks for the great work @oheim. We need to provide a GPLv3 compatible license to VIBes C++ API before merging. I think there won't be any issues with the contributors to concess a GPLv3 license. We'll discuss this in #93.

@dvinc dvinc mentioned this pull request Nov 13, 2015
@oheim oheim force-pushed the octave-api branch 2 times, most recently from d5ddc0c to 0353c7a Compare November 13, 2015 19:39
@oheim
Copy link
Author

oheim commented Nov 13, 2015

I have tried to compile the Octave client-api on the Travis/Mac machines.

brew tap homebrew/science
brew install octave --without-java

There is no bottle for octave, so this would build Octave from source. After 10 minutes of compiling Octave, the Travis job times out and gets canceled. For now we can't compile this client-api for Mac in Travis. Efforts to release an Octave binary for Mac are on their way in the Octave community.

* Use version number from C++ api
* Use current date for release date
* Shortened package description
@oheim
Copy link
Author

oheim commented Nov 13, 2015

Please consider adding the generated Client API Documentation to the webpage. You can create it with make -C client-api/Octave html (need to have Octave installed).

@oheim
Copy link
Author

oheim commented Nov 14, 2015

Before merging this, we should consider the following option: We could host this client-api at Octave-Forge and integrate it as a submodule into this repository. This would allow users to use the pkg install -forge vibes inside Octave.

@dvinc, @nicolaje, what do you think?

@nicolaje
Copy link
Member

@oheim I generally have a mitigated experience with Git submodules, it is particularly derouting for people unexperienced with git.
However, most user won't have to use Git even if they want to build VIBes from source, as they can download a Zip package of the sources from GitHub. So if it makes it easier for Octave users, I would go for your solution.

@oheim
Copy link
Author

oheim commented Nov 19, 2015

@nicolaje, It is also possible to not use a submodule and do the development here at the VIBes project. This is certainly easier.

The downstream repository at Octave-Forge would simply pull any changes at release time and then be synchronized.

@oheim
Copy link
Author

oheim commented Nov 19, 2015

Now there is a clone of the repository at https://sourceforge.net/p/octave/vibes/
This fulfills the requirements to also publish the octave client-api at Octave-Forge. Please merge as soon as you seem fit.

@oheim
Copy link
Author

oheim commented Jun 22, 2016

@dvinc I guess it is save to merge now. I will prepare a release at Octave Forge as soon as possible.

https://sourceforge.net/p/octave/package-releases/258/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants