Extempore 0.7 release

293 views
Skip to first unread message

Ben Swift

unread,
Apr 18, 2016, 3:10:21 AM4/18/16
to extemp...@googlegroups.com
Hi folks

Those of you who have been github-stalking Andy and I recently will know
that we've been preparing a new 0.7 release. Here's a brief overview of
the changes:

- everything.

That's a *small* exaggeration, but it's true that there have been heaps
of changes in the ~600 commits since 0.6.0.

From a user's perspective, one of the biggest changes is that we've got
binary releases for all platforms available on GH:

https://github.com/digego/extempore/releases/tag/0.7.0

Binary releases are something that we've been asked about for a while
now, and will hopefully make it even easier to get up and running even
than things like homebrew.

If that's not your cup of tea, then the cmake-powered build-from-source
process is easier than it's ever been, check out
http://digego.github.io/extempore/install.html for details.

We've done our best to make sure the binaries will work everywhere, but
if you have issues then let us know. We'll be revealing more about the
changes to the language etc. in future mailing list posts, but as usual
if you get stuck then fire an email to the mailing list and we'll do our
best to help out.

Finally, there's a new documentation website up online at

http://digego.github.io/extempore/

It's automatically generated from the files in the extempore `docs/`
subfolder, which means that if you find something that's wrong or have
an idea to improve the docs, you can just edit those files and let us
know through a GitHub pull request. You don't need to be a command-line
ninja to do that - the GitHub web interface lets you edit the files
in your web browser:

https://github.com/digego/extempore/tree/master/docs

Love youse all,
Ben

Emmanuel Oga

unread,
Apr 19, 2016, 4:07:14 AM4/19/16
to Extempore, b...@benswift.me


On Monday, April 18, 2016 at 12:10:21 AM UTC-7, Ben Swift wrote:
Hi folks

Those of you who have been github-stalking Andy and I recently will know
that we've been preparing a new 0.7 release.  Here's a brief overview of
the changes:

- everything.

Wow this release looks fantastic! Congrats!
 

That's a *small* exaggeration, but it's true that there have been heaps
of changes in the ~600 commits since 0.6.0.

From a user's perspective, one of the biggest changes is that we've got
binary releases for all platforms available on GH:

https://github.com/digego/extempore/releases/tag/0.7.0

Binary releases are something that we've been asked about for a while
now, and will hopefully make it even easier to get up and running even
than things like homebrew.

If that's not your cup of tea, then the cmake-powered build-from-source
process is easier than it's ever been, check out
http://digego.github.io/extempore/install.html for details.

We've done our best to make sure the binaries will work everywhere, but
if you have issues then let us know. We'll be revealing more about the
changes to the language etc. in future mailing list posts, but as usual
if you get stuck then fire an email to the mailing list and we'll do our
best to help out.

Finally, there's a new documentation website up online at

http://digego.github.io/extempore/

I saw that there's some overlap with the documentation at http://benswift.me/extempore-docs/, should we consider this latter location (@benswift.me) "deprecated" ?
 

It's automatically generated from the files in the extempore `docs/`
subfolder, which means that if you find something that's wrong or have
an idea to improve the docs, you can just edit those files and let us
know through a GitHub pull request.  You don't need to be a command-line
ninja to do that - the GitHub web interface lets you edit the files
in your web browser:

https://github.com/digego/extempore/tree/master/docs

Love youse all,
Ben

Cheers

Ben Swift

unread,
Apr 19, 2016, 6:57:59 AM4/19/16
to Extempore
>> Finally, there's a new documentation website up online at
>>
>> http://digego.github.io/extempore/
>>
>
> I saw that there's some overlap with the documentation
> at http://benswift.me/extempore-docs/, should we consider this latter
> location (@benswift.me) "deprecated" ?
>

Yep, that's correct. I've put a note in at the top of all my blog posts.

Circu Virtu

unread,
Apr 19, 2016, 9:58:47 AM4/19/16
to Extempore, b...@benswift.me
Tnx a lot for this new release. I'm on Win7 right now so I appreciate to have the new executable.
I did run  some of the examples and most of the work out of the box. Great !!
Nevertheless I'm havinh soem issues when trying interactive mode in Atom and Emacs editor.
After starting extempore in terminal buffer, connecting and trying to evaluate the first line of an example (loading a library) I get

Loading xtmbase library... eval: unbound variable: xtlang_expression_adhoc_W2k4Kl0
Trace: xtlang_expression <- impc:ti:get-expression-type <- sys:load

I use term3 package for Atom

When I run extempore in a cmd terminal on windows and connect than everything works fine.

Looks like there si a difference when trying to run extempore in a editor buffer.

A difference I noticed is that when starting extempore in an cmd terminal I get an extra line:
Loading xtmbase library... done in 4.040272 seconds

which i do not get when running it in the editor buffer

With emacs I get the same behavior:

------------- Extempore --------------
Andrew Sorensen (c) 2010-2015
@digego

ARCH           : x86_64-pc-windows-msvc-elf
LLVM           : 3.7.0 MCJIT
Output Device  : Primary Sound Driver
Input Device   :
SampleRate     : 44100
Channels Out   : 2
Channels In    : 0
Frames         : 128
Latency        : 0.24 sec
---------------------------------------
Allocated: 1 Cell Segements For A Total Of 0,  Free Cells = 0

Starting utility process
Trying to connect to 'localhost' on port 7098
New client connection
Successfully connected to remote process
Allocated: 1 Cell Segements For A Total Of 0,  Free Cells = 0

Starting primary process
Trying to connect to 'localhost' on port 7099
New client connection
Successfully connected to remote process
New client connection
Loading xtmbase library... eval: unbound variable: xtlang_expression_adhoc_W2k4Kl0
Trace: xtlang_expression <- impc:ti:get-expression-type <- sys:load


Any idea what might cause that problem and how to solve it?

thx
-cv

Ben Swift

unread,
Apr 19, 2016, 6:26:20 PM4/19/16
to Circu Virtu, Extempore
Hi cv

The base library should be loaded at startup - otherwise xtlang won't
work. So perhaps the atom package or the term3 thing is adding a
--nobase flag somewhere?

Cheers,
Ben

Circu Virtu

unread,
Apr 20, 2016, 3:30:52 AM4/20/16
to Extempore, circu...@gmail.com, b...@benswift.me
Hi Ben,

figured out some more details.
term3 uses Win powershell. When I try powershell outside atom, bas lib want load either.
So that seems a problem with powersehl and not atom.
Unfortunaley term and term2 will not install inside atom.


For emacs  when I use switch-to-extempore  the lib will not load.
When I use M-x shell and then start extempore by hand, the lib loads and everything works great.
At least that is a workaround. But I would love to have the switch-to-extempore shortcut working.
Any idea where I have to look and maybe can fix that?

-cv

Ben Swift

unread,
Apr 20, 2016, 4:27:59 AM4/20/16
to Extempore
What's in your *Messages* buffer when you try to do a
switch-to-extempore?

Circu Virtu <circu...@gmail.com> writes:

> Hi Ben,
>
> figured out some more details.
> term3 uses Win powershell. When I try powershell outside atom, bas lib want
> load either.
> So that seems a problem with powersehl and not atom.
> Unfortunaley term and term2 will not install inside atom.
>
>
> For emacs when I use switch-to-extempore the lib will not load.
> When I use M-x shell and then start extempore by hand, the lib loads and
> everything works great.
> At least that is a workaround. But I would love to have the
> switch-to-extempore shortcut working.
> Any idea where I have to look and maybe can fix that?
>
> -cv
>
>
> Am Mittwoch, 20. April 2016 00:26:20 UTC+2 schrieb Ben Swift:
>>
>> Hi cv
>>
>> The base library should be loaded at startup - otherwise xtlang won't
>> work. So perhaps the atom package or the term3 thing is adding a
>> --nobase flag somewhere?
>>
>> Cheers,
>> Ben
>>

Circu Virtu

unread,
Apr 21, 2016, 2:12:26 PM4/21/16
to Extempore, b...@benswift.me
*Messages* has just

Running extempore with: extempore

no further error message or such

-cv

Ben Swift

unread,
Apr 25, 2016, 2:01:30 AM4/25/16
to Extempore
Hi cv

Are you getting extempore-mode from MELPA[1]? Or from
extras/extempore-emacs-mode ?

https://github.com/extemporelang/extempore-emacs-mode

We recently split it into it's own repo (the former option). I probably
should put a deprecation message in the latter .el file.

Cheers,
Ben

Circu Virtu <circu...@gmail.com> writes:

> *Messages* has just
>
> Running extempore with: extempore
>
> no further error message or such
>
> -cv
>
>
> Am Mittwoch, 20. April 2016 10:27:59 UTC+2 schrieb Ben Swift:
>>
>> What's in your *Messages* buffer when you try to do a
>> switch-to-extempore?
>>

Circu Virtu

unread,
Apr 25, 2016, 2:28:40 PM4/25/16
to Extempore, b...@benswift.me

I'm using extrempore.el from extempore/extras
and calling it from .emacs

Just modified the path to pint to the new version.
Don't wanted to mess up with .emacs in a way I don't understand.

-cv

Ben Swift

unread,
Apr 25, 2016, 7:02:40 PM4/25/16
to Extempore
Circu Virtu <circu...@gmail.com> writes:

> I'm using extrempore.el from extempore/extras
> and calling it from .emacs

I think that's the reason switch-to-extempore isn't working on
Windows - there was a bug which was fixed in

https://github.com/extemporelang/extempore-emacs-mode/commit/8ad23e030c1bc96520b6fde79d7b0c0045a7c6ab

So if you use *that* version of extempore-mode.el (either through
package-install or just downloading it and loading it in your .emacs -
see instructions in readme) then it should work again on Windows.

Cheers
Ben


> Just modified the path to pint to the new version.
> Don't wanted to mess up with .emacs in a way I don't understand.
>
> -cv
>
>
> Am Montag, 25. April 2016 08:01:30 UTC+2 schrieb Ben Swift:
>>
>> Hi cv
>>
>> Are you getting extempore-mode from MELPA[1]? Or from
>> extras/extempore-emacs-mode ?
>>
>> https://github.com/extemporelang/extempore-emacs-mode
>>
>> We recently split it into it's own repo (the former option). I probably
>> should put a deprecation message in the latter .el file.
>>
>> Cheers,
>> Ben
>>

Circu Virtu

unread,
Apr 27, 2016, 5:11:41 AM4/27/16
to Extempore, b...@benswift.me
tnx a lot. Now it's working nicely.

Are there other files I have to update? When I read it right that error was fixed in January
and was still not in the current (April) release of extempore. Maybe other files are not up
to date as well.

-cv

Ben Swift

unread,
Apr 27, 2016, 6:34:18 PM4/27/16
to extemp...@googlegroups.com
That's the only file. The reason it was moved into a separate repo is
that it has to be in it's own repo to be available through the emacs
packaging system. And trying to keep things in sync manually between
repos is pretty fragile - so I'm not keen to do it. Going forward, if
you don't want to use the package manager, then the best thing to do is
clone the extempore-emacs-mode repo, and point your .emacs to look there
for the extempore-mode.el file.

Cheers
Ben

Circu Virtu <circu...@gmail.com> writes:

> tnx a lot. Now it's working nicely.
>
> Are there other files I have to update? When I read it right that error was
> fixed in January
> and was still not in the current (April) release of extempore. Maybe other
> files are not up
> to date as well.
>
> -cv
>
> Am Dienstag, 26. April 2016 01:02:40 UTC+2 schrieb Ben Swift:
>>

Circu Virtu

unread,
Apr 28, 2016, 2:43:05 PM4/28/16
to Extempore, b...@benswift.me
good to know. Next time I make a new install I'll use a packet manager.
I plan to go go through the doc's and example file now to learn more about extempore.
What is the best way to report error like:

In the doc's (audio signal processing part)

(bind-func dsp
  (lambda (in:SAMPLE time:i64 chan:i64 data:SAMPLE*)
    (* 0.1 (convert (random) SAMPLE))))

results in

Could not resolve types!::dsp
ambiguous: random##9
(0) [double]*
(1) [float]*
------------------------


Trying to run examples/core/gui.xtm

extempore crashed without any error message
on evaluating line

 (gui_init 800 600)

I'm on win7

tnx

-cv

Ben Swift

unread,
Apr 29, 2016, 10:13:09 PM4/29/16
to extemp...@googlegroups.com
Hi cv

That's an error in the docs - that code is a bit out of date. It should
be

(bind-func dsp:DSP
(lambda (in time chan dat)
(* 0.1 (random))))

Note that the signature of the dsp closure is set explicitly with the
`DSP` alias (from `libs/base/base.xtm`)

(bind-alias DSP [SAMPLE,SAMPLE,i64,i64,SAMPLE*]* "audio output callback type")

The error message you see (could not resolve types) is trying to be
helpful - saying that the `convert` call can't figure out which `random`
closure to use (since `random` is actually poly'd over by several
different closures with different types/arities).

How do you feel about fixing up the docs (feel free to add in anything
which makes it clearer as well) and submitting a pull request? There are
instructions in `docs/about-this-documentation.rst`. I reckon you'll do
a great job :)

Cheers,
Ben

Suk-Jun Kim

unread,
Sep 26, 2016, 6:23:52 AM9/26/16
to Extempore, b...@benswift.me
Hi Ben,

I tried to install the newest version from the source as explained from http://digego.github.io/extempore/install.html
When I ran cmake.. && make install, it threw this error. Any help? I am on the most up-to-dated version (10.12): 

[  1%] Performing configure step for 'portmidi'
-- The C compiler identification is AppleClang 8.0.0.8000038
-- The CXX compiler identification is AppleClang 8.0.0.8000038
CMake Error at /usr/local/Cellar/cmake/3.6.2/share/cmake/Modules/Platform/Darwin.cmake:76 (message):
  CMAKE_OSX_DEPLOYMENT_TARGET is '10.9' but CMAKE_OSX_SYSROOT:

   "macosx"

  is not set to a MacOSX SDK with a recognized version.  Either set
  CMAKE_OSX_SYSROOT to a valid SDK or set CMAKE_OSX_DEPLOYMENT_TARGET to
  empty.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.6.2/share/cmake/Modules/CMakeSystemSpecificInformation.cmake:36 (include)
  CMakeLists.txt


-- Configuring incomplete, errors occurred!
See also "/Users/SJK/extempore/cmake-build/portmidi/src/portmidi-build/CMakeFiles/CMakeOutput.log".
make[2]: *** [portmidi/src/portmidi-stamp/portmidi-configure] Error 1
make[1]: *** [CMakeFiles/portmidi.dir/all] Error 2
make: *** [all] Error 2 


---
Jun

Suk-Jun Kim

unread,
Sep 26, 2016, 8:49:41 AM9/26/16
to Extempore, b...@benswift.me
Hi Ben, 

(See my previous question in relation to my failed installation of the most recent version of extempore...)

Failing to install extempore from the source, I resorted to the home-brew installation, but even that caused the issue: 

brew install extempore --with-extended
==> Installing extempore from benswift/extempore
Error: No available formula with the name "extempore-llvm" (dependency of benswift/extempore/extempore)
==> Searching for similarly named formulae...
Warning: Calling Formula.sha1 is deprecated!
Use Formula.sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

Warning: Calling SoftwareSpec#sha1 is deprecated!
Use SoftwareSpec#sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

Warning: Calling Resource#sha1 is deprecated!
Use Resource#sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

This similarly named formula was found:
benswift/extempore/extempore-llvm341 ✔
To install it, run:
  brew install benswift/extempore/extempore-llvm341 ✔
==> Searching taps...
Error: No formulae found in taps.
==> You haven't updated Homebrew in a while.
A formula for extempore-llvm might have been added recently.
Run `brew update` to get the latest Homebrew updates!


--- so when I did "brew doctor", it reported that extempore-llvm was unlinked. so ran "brew link extempore-llvm" and reran "brew install extempore --with-extended", but the same error. I also tried "brew install benswift/extempore/extempore-llvm341" as well. But the same error again... Any help would be much appreciated!

Jun

On Monday, April 18, 2016 at 8:10:21 AM UTC+1, Ben Swift wrote:

Ben Swift

unread,
Sep 26, 2016, 9:06:46 PM9/26/16
to Suk-Jun Kim, Extempore
Hi Jun

I've not tried it on sierra yet. What version of CMake are you running?


Have you got the command line tools installed? You may have to re-install them?

http://stackoverflow.com/questions/39484218/command-line-tools-bash-git-not-working-macos-sierra-final-release-candidate/39577622

Cheers,
Ben
>> <http://www.google.com/url?q=http%3A%2F%2Fdigego.github.io%2Fextempore%2Finstall.html&sa=D&sntz=1&usg=AFQjCNGpgZ1iCrcsI2Oe6jFhaTTJ97O9KQ>

SUK-JUN KIM

unread,
Sep 27, 2016, 3:43:49 AM9/27/16
to Ben Swift, Extempore
Hi Ben

It looks like it is cmake 3.6.2. I did reinstall the command line tools, but the same error. I also changed the setting in CMakeLists.txt to target both CMAKE_OSX_DEPLOYMENT_TARGET and CMAKE_OSX_SYSROOT to the correct SDK (10.12), which can be found inside Xcode.app. Still giving me the same error.

On the other hand, trying to the “home-brew” installation gave me a different kind of error (I did brew update/doctor/upgrade a few times to make sure that brew is up-to-date): 

==> Installing extempore from benswift/extempore
Error: No available formula with the name "extempore-llvm" (dependency of benswift/extempore/extempore)
==> Searching for similarly named formulae...
Warning: Calling Formula.sha1 is deprecated!
Use Formula.sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

Warning: Calling SoftwareSpec#sha1 is deprecated!
Use SoftwareSpec#sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

Warning: Calling Resource#sha1 is deprecated!
Use Resource#sha256 instead.
/usr/local/Homebrew/Library/Taps/benswift/homebrew-extempore/extempore-llvm341.rb:6:in `<class:ExtemporeLlvm341>'
Please report this to the benswift/extempore tap!

This similarly named formula was found:
benswift/extempore/extempore-llvm341 ✔
To install it, run:
  brew install benswift/extempore/extempore-llvm341 ✔
==> Searching taps...
Error: No formulae found in taps.
==> You haven't updated Homebrew in a while.
A formula for extempore-llvm might have been added recently.
Run `brew update` to get the latest Homebrew updates!

——

Ben Swift

unread,
Sep 27, 2016, 3:56:20 AM9/27/16
to extemp...@googlegroups.com
The homebrew thing is really even more broken than is indicated here[0],
I probably should remove it. So I'm not sure that's the answer, I'm afraid.

Can you send through a log of the cmake build process (from scratch)?

Cheers,
Ben

[0] http://digego.github.io/extempore/install.html#install-through-homebrew-osx-only

SUK-JUN KIM

unread,
Sep 27, 2016, 4:05:09 AM9/27/16
to extemp...@googlegroups.com, Ben Swift

Thanks Ben,


Here is the complete build-process (I also attached the CMakeOutput.log and CMakeCache.txt inside portmidi, if those are of any help….)  :


SJK@SUK-JUNs-MBP$ ~: git clone https://github.com/digego/extempore --branch 0.7.0 && mkdir extempore/cmake-build && cd extempore/cmake-build && cmake .. && make install

Cloning into 'extempore'...

remote: Counting objects: 24659, done.

remote: Compressing objects: 100% (4/4), done.

remote: Total 24659 (delta 2), reused 1 (delta 1), pack-reused 24654

Receiving objects: 100% (24659/24659), 23.43 MiB | 1.91 MiB/s, done.

Resolving deltas: 100% (16666/16666), done.

Note: checking out '2a6633e70389add04fbae54262c521addfa8d3b1'.


You are in 'detached HEAD' state. You can look around, make experimental

changes and commit them, and you can discard any commits you make in this

state without impacting any branches by performing another checkout.


If you want to create a new branch to retain commits you create, you may

do so (now or later) by using -b with the checkout command again. Example:


  git checkout -b <new-branch-name>


-- The C compiler identification is AppleClang 8.0.0.8000038

-- The CXX compiler identification is AppleClang 8.0.0.8000038

-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc

-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++

-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- Building 'Release' configuration

-- Configuring done

-- Generating done

-- Build files have been written to: /Users/SJK/extempore/cmake-build

Scanning dependencies of target portmidi

[  1%] Creating directories for 'portmidi'

[  2%] Performing download step (download, verify and extract) for 'portmidi'

-- downloading...

       src='https://github.com/extemporelang/portmidi/archive/217.zip'

       dst='/Users/SJK/extempore/cmake-build/portmidi/src/217.zip'

       timeout='none'

-- Downloading... done

-- extracting...

     src='/Users/SJK/extempore/cmake-build/portmidi/src/217.zip'

     dst='/Users/SJK/extempore/cmake-build/portmidi/src/portmidi'

-- extracting... [tar xfz]

-- extracting... [analysis]

-- extracting... [rename]

-- extracting... [clean up]

-- extracting... done

[  3%] No patch step for 'portmidi'

[  4%] No update step for 'portmidi'

[  5%] Performing configure step for 'portmidi'

--
You received this message because you are subscribed to a topic in the Google Groups "Extempore" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/extemporelang/Y-T6BfTNjZ8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to extemporelan...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
CMakeCache.txt
CMakeOutput.log

Ben Swift

unread,
Sep 30, 2016, 3:12:30 AM9/30/16
to SUK-JUN KIM, extemp...@googlegroups.com
Hi Jun

Sorry about my delayed reply. So it does look suspiciously like a sierra
problem, but now that it's officially released I suspect they're working
hard to get things up to speed. Like I said, I don't have a sierra box
atm (and I won't be upgrading till 10.12.1, probably) so it's a bit of
guesswork on my end.

This issue

https://gitlab.kitware.com/cmake/cmake/issues/16325

and a quick poke around the CMake sources suggests that it might not
support sierra yet - perhaps if you set them to 10.11 manually you can
trick it?

Cheers,
Ben

SUK-JUN KIM

unread,
Oct 2, 2016, 2:22:54 PM10/2/16
to Ben Swift, extemp...@googlegroups.com

Hi Ben,


Thanks—I did some more jugging and was able to get the compiling going (I had to reinstall Xcode Command Line Tools and reset the directory path), but the compiling produced another error, which may or may not be related to Sierra:


Evaluating expression: (impc:aot:compile-xtm-file "libs/external/nanovg.xtm" #t #t)


Started compiling: "libs/external/nanovg.xtm"


Loading xtmbase library... done in 0.000000 seconds

sys:load notification base already loaded

Loading xtmglcore-directbind library... done in 0.000000 seconds

sys:load notification gl already loaded

Lib Load:  libnanovg dynamic library loaded from /Users/SJK/extempore/libs/platform-shlibs/libnanovg.dylib

SetAlias:  NVGcontext >>> i8

DataType:  NVGcolor >>> <float,float,float,float>

Compiled:  print >>> [void,NVGcolor*]*

Compiled:  NVGcolor_hex >>> [NVGcolor*,i64]*

DataType:  NVGpaint >>> <|6,float|,|2,float|,float,float,NVGcolor,NVGcolor,i32>

Compiled:  print >>> [void,NVGpaint*]*

SetAlias:  NVGwinding >>> i32

SetValue:  NVG_CCW >>> i32

SetValue:  NVG_CW >>> i32

SetAlias:  NVGsolidity >>> i32

SetValue:  NVG_SOLID >>> i32

SetValue:  NVG_HOLE >>> i32

SetAlias:  NVGlineCap >>> i32

SetValue:  NVG_BUTT >>> i32

SetValue:  NVG_ROUND >>> i32

SetValue:  NVG_SQUARE >>> i32

SetValue:  NVG_BEVEL >>> i32

SetValue:  NVG_MITER >>> i32

SetAlias:  NVGalign >>> i32

SetValue:  NVG_ALIGN_LEFT >>> i32

SetValue:  NVG_ALIGN_CENTER >>> i32

SetValue:  NVG_ALIGN_RIGHT >>> i32

SetValue:  NVG_ALIGN_TOP >>> i32

SetValue:  NVG_ALIGN_MIDDLE >>> i32

SetValue:  NVG_ALIGN_BOTTOM >>> i32

SetValue:  NVG_ALIGN_BASELINE >>> i32

DataType:  NVGglyphPosition >>> <i8*,float,float,float>

DataType:  NVGtextRow >>> <i8*,i8*,i8*,float,float,float>

SetAlias:  NVGimageFlags >>> i32

SetValue:  NVG_IMAGE_GENERATE_MIPMAPS >>> i32

SetValue:  NVG_IMAGE_REPEATX >>> i32

SetValue:  NVG_IMAGE_REPEATY >>> i32

SetValue:  NVG_IMAGE_FLIPY >>> i32

SetValue:  NVG_IMAGE_PREMULTIPLIED >>> i32

LibBound:  nvgBeginFrame >>> [void,NVGcontext*,i32,i32,float]* bound from libnanovg

LibBound:  nvgCancelFrame >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgEndFrame >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgRGB >>> [NVGcolor,i8,i8,i8]* bound from libnanovg

LibBound:  nvgRGBf >>> [NVGcolor,float,float,float]* bound from libnanovg

LibBound:  nvgRGBA >>> [NVGcolor,i8,i8,i8,i8]* bound from libnanovg

LibBound:  nvgRGBAf >>> [NVGcolor,float,float,float,float]* bound from libnanovg

LibBound:  nvgLerpRGBA >>> [NVGcolor,NVGcolor,NVGcolor,float]* bound from libnanovg

LibBound:  nvgTransRGBA >>> [NVGcolor,NVGcolor,i8]* bound from libnanovg

LibBound:  nvgTransRGBAf >>> [NVGcolor,NVGcolor,float]* bound from libnanovg

LibBound:  nvgHSL >>> [NVGcolor,float,float,float]* bound from libnanovg

LibBound:  nvgHSLA >>> [NVGcolor,float,float,float,i8]* bound from libnanovg

LibBound:  nvgSave >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgRestore >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgReset >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgStrokeColor >>> [void,NVGcontext*,NVGcolor]* bound from libnanovg

LibBound:  nvgStrokePaint >>> [void,NVGcontext*,NVGpaint]* bound from libnanovg

LibBound:  nvgFillColor >>> [void,NVGcontext*,NVGcolor]* bound from libnanovg

LibBound:  nvgFillPaint >>> [void,NVGcontext*,NVGpaint]* bound from libnanovg

LibBound:  nvgMiterLimit >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgStrokeWidth >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgLineCap >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgLineJoin >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgGlobalAlpha >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgResetTransform >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgTransform >>> [void,NVGcontext*,float,float,float,float,float,float]* bound from libnanovg

LibBound:  nvgTranslate >>> [void,NVGcontext*,float,float]* bound from libnanovg

LibBound:  nvgRotate >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgSkewX >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgSkewY >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgScale >>> [void,NVGcontext*,float,float]* bound from libnanovg

LibBound:  nvgCurrentTransform >>> [void,NVGcontext*,float*]* bound from libnanovg

LibBound:  nvgTransformIdentity >>> [void,float*]* bound from libnanovg

LibBound:  nvgTransformTranslate >>> [void,float*,float,float]* bound from libnanovg

LibBound:  nvgTransformScale >>> [void,float*,float,float]* bound from libnanovg

LibBound:  nvgTransformRotate >>> [void,float*,float]* bound from libnanovg

LibBound:  nvgTransformSkewX >>> [void,float*,float]* bound from libnanovg

LibBound:  nvgTransformSkewY >>> [void,float*,float]* bound from libnanovg

LibBound:  nvgTransformMultiply >>> [void,float*,float*]* bound from libnanovg

LibBound:  nvgTransformPremultiply >>> [void,float*,float*]* bound from libnanovg

LibBound:  nvgTransformInverse >>> [i32,float*,float*]* bound from libnanovg

LibBound:  nvgTransformPoint >>> [void,float*,float*,float*,float,float]* bound from libnanovg

LibBound:  nvgDegToRad >>> [float,float]* bound from libnanovg

LibBound:  nvgRadToDeg >>> [float,float]* bound from libnanovg

LibBound:  nvgCreateImage >>> [i32,NVGcontext*,i8*,i32]* bound from libnanovg

LibBound:  nvgCreateImageMem >>> [i32,NVGcontext*,i32,i8*,i32]* bound from libnanovg

LibBound:  nvgCreateImageRGBA >>> [i32,NVGcontext*,i32,i32,i32,i8*]* bound from libnanovg

LibBound:  nvgUpdateImage >>> [void,NVGcontext*,i32,i8*]* bound from libnanovg

LibBound:  nvgImageSize >>> [void,NVGcontext*,i32,i32*,i32*]* bound from libnanovg

LibBound:  nvgDeleteImage >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgLinearGradient >>> [NVGpaint,NVGcontext*,float,float,float,float,NVGcolor,NVGcolor]* bound from libnanovg

LibBound:  nvgBoxGradient >>> [NVGpaint,NVGcontext*,float,float,float,float,float,float,NVGcolor,NVGcolor]* bound from libnanovg

LibBound:  nvgRadialGradient >>> [NVGpaint,NVGcontext*,float,float,float,float,NVGcolor,NVGcolor]* bound from libnanovg

LibBound:  nvgImagePattern >>> [NVGpaint,NVGcontext*,float,float,float,float,float,i32,float]* bound from libnanovg

LibBound:  nvgScissor >>> [void,NVGcontext*,float,float,float,float]* bound from libnanovg

LibBound:  nvgIntersectScissor >>> [void,NVGcontext*,float,float,float,float]* bound from libnanovg

LibBound:  nvgResetScissor >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgBeginPath >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgMoveTo >>> [void,NVGcontext*,float,float]* bound from libnanovg

LibBound:  nvgLineTo >>> [void,NVGcontext*,float,float]* bound from libnanovg

LibBound:  nvgBezierTo >>> [void,NVGcontext*,float,float,float,float,float,float]* bound from libnanovg

LibBound:  nvgQuadTo >>> [void,NVGcontext*,float,float,float,float]* bound from libnanovg

LibBound:  nvgArcTo >>> [void,NVGcontext*,float,float,float,float,float]* bound from libnanovg

LibBound:  nvgClosePath >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgPathWinding >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgArc >>> [void,NVGcontext*,float,float,float,float,float,i32]* bound from libnanovg

LibBound:  nvgRect >>> [void,NVGcontext*,float,float,float,float]* bound from libnanovg

LibBound:  nvgRoundedRect >>> [void,NVGcontext*,float,float,float,float,float]* bound from libnanovg

LibBound:  nvgEllipse >>> [void,NVGcontext*,float,float,float,float]* bound from libnanovg

LibBound:  nvgCircle >>> [void,NVGcontext*,float,float,float]* bound from libnanovg

LibBound:  nvgFill >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgStroke >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgCreateFont >>> [i32,NVGcontext*,i8*,i8*]* bound from libnanovg

LibBound:  nvgCreateFontMem >>> [i32,NVGcontext*,i8*,i8*,i32,i32]* bound from libnanovg

LibBound:  nvgFindFont >>> [i32,NVGcontext*,i8*]* bound from libnanovg

LibBound:  nvgFontSize >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgFontBlur >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgTextLetterSpacing >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgTextLineHeight >>> [void,NVGcontext*,float]* bound from libnanovg

LibBound:  nvgTextAlign >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgFontFaceId >>> [void,NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgFontFace >>> [void,NVGcontext*,i8*]* bound from libnanovg

LibBound:  nvgText >>> [float,NVGcontext*,float,float,i8*,i8*]* bound from libnanovg

LibBound:  nvgTextBox >>> [void,NVGcontext*,float,float,float,i8*,i8*]* bound from libnanovg

LibBound:  nvgTextBounds >>> [float,NVGcontext*,float,float,i8*,i8*,float*]* bound from libnanovg

LibBound:  nvgTextBoxBounds >>> [void,NVGcontext*,float,float,float,i8*,i8*,float*]* bound from libnanovg

LibBound:  nvgTextGlyphPositions >>> [i32,NVGcontext*,float,float,i8*,i8*,NVGglyphPosition*,i32]* bound from libnanovg

LibBound:  nvgTextMetrics >>> [void,NVGcontext*,float*,float*,float*]* bound from libnanovg

LibBound:  nvgTextBreakLines >>> [i32,NVGcontext*,i8*,i8*,float,NVGtextRow*,i32]* bound from libnanovg

SetAlias:  NVGtexture >>> i32

SetValue:  NVG_TEXTURE_ALPHA >>> i32

SetValue:  NVG_TEXTURE_RGBA >>> i32

DataType:  NVGscissor >>> <float,float>

DataType:  NVGvertex >>> <float,float,float,float>

DataType:  NVGpath >>> <i32,i32,i8,i32,NVGvertex*,i32,NVGvertex*,i32,i32,i32>

DataType:  NVGparams >>> <i8*,i32,i32,i32,i32,i32,i32,[void,i8*,i32,i32]*,[void,i8*]*,[void,i8*]*,[void,i8*,NVGpaint*,NVGscissor*,float,float*,NVGpath*,i32]*,[void,i8*,NVGpaint*,NVGscissor*,float,float*,NVGpath*,i32]*,[void,i8*,NVGpaint*,NVGscissor*,NVGvertex*,i32]*,[void,i8*]>

LibBound:  nvgCreateInternal >>> [NVGcontext*,NVGparams*]* bound from libnanovg

LibBound:  nvgDeleteInternal >>> [void,NVGcontext*]* bound from libnanovg

LibBound:  nvgInternalParams >>> [NVGparams*,NVGcontext*]* bound from libnanovg

LibBound:  nvgDebugDumpPathCache >>> [void,NVGcontext*]* bound from libnanovg

SetAlias:  NVGcreateFlags >>> i32

SetValue:  NVG_ANTIALIAS >>> i32

SetValue:  NVG_STENCIL_STROKES >>> i32

SetValue:  NVG_DEBUG >>> i32

LibBound:  nvgCreateGL3 >>> [NVGcontext*,i32]* bound from libnanovg

LibBound:  nvgDeleteGL3 >>> [void,NVGcontext*]* bound from libnanovg

Compiler Error  could not bind _nvgLinearGradient

make[2]: *** [CMakeFiles/aot_nanovg] Error 2

make[1]: *** [CMakeFiles/aot_nanovg.dir/all] Error 2

make: *** [all] Error 2


Any thought on that?


Jun

Ben Swift

unread,
Oct 3, 2016, 7:07:26 PM10/3/16
to SUK-JUN KIM, extemp...@googlegroups.com
Ok, that looks more promising. One thing to try is building from HEAD
(which is *reasonably* stable - I use it day-to-day) instead of building
from the 0.7.0 tag. Perhaps give that a try?

Cheers

SUK-JUN KIM

unread,
Oct 3, 2016, 8:15:35 PM10/3/16
to extemp...@googlegroups.com, Ben Swift

Hi Ben,


Yes, building from the HEAD works. Thanks!


Jun

Ben Swift

unread,
Oct 3, 2016, 8:56:36 PM10/3/16
to SUK-JUN KIM, extemp...@googlegroups.com
Great :)
Reply all
Reply to author
Forward
0 new messages