Skip to content

Releases: peersuasive/luce

sometimes, it won't fail

01 Feb 05:02
Compare
Choose a tag to compare
Pre-release
  • updated to JUCE 1.4.0

  • added class URL
    a wrapped InputStream object is returned by URL::createInputStream
    a progress callback can be set to watch or interrupt download progress (only for POST under Linux with CURL):

    local url = luce:URL("https://google.com")
    url:progress(function(byteSent, total)
      print("sent/total", byteSent, total)
      return true
    end
    local is = url:getInputStream(true)
    local data = is:readEntireStreamAsString()
  • created class ConnectionPool, to download many URLs in parallel
    this is a work in progress, there's no check on the number of provided URLs, so if you send 100 of them,
    there'll be 100 threads launched !

    local pool = luce:ConnectionPool()
    pool:reset{ 
      luce:URL("https://peersuasive.com"),
      luce:URL("https://beta.liego.fr")
    }
    pool:start(function(data)
        for idx,d in next,data do
            print(idx, #data)
        end
    end)

    (see header for more details)

  • added file dropping (FileDragAndDropTarget) support to ListBox, along with existing DragAndDropTarget

  • added new demo in examples/DropFiles

  • fixed compilation with XCode under OSX (10.7 min.)

  • added app bundles in examples for OSX

  • fixed StretchableLayoutResizeBar under OSX

  • started implementing JUCE's audio modules (only for Linux at the moment)

  • the following Component's properties will now be set to true when called without parameter:
    setVisible, setFocusContainer, setOpaque, setEnabled, setAlwaysOnTop, setWantsKeyboardFocus, setBroughtToFrontOnMouseFocus, setMouseClickGrabsKeyboardFocus, setRepaintsOnMouseActivity, toFront, moveKeyboardFocusToSibling, setPaintingIsUnclipped, setBufferedToImage

  • fixed LButton's paintButton callback crashing when using g (Graphics)

  • for applications requiring an external loop control, like uv or ev, method tick() is now available, via app:start_controlled():

    local tick = app:start_controlled(MainWindow)
    uv.loop.idle(function() if not(tick()) then uv.loop.stop() end)
    uv.loop.run()

ebb and flow

17 Jan 01:18
Compare
Choose a tag to compare
ebb and flow Pre-release
Pre-release

Global


  • many fixes
  • updated to JUCE 4.X.X (just updated, not much imported features)
  • globally improved stability, preventing most obvious crashes
  • reduced memory leaks
  • quite usable for advanced and complex projets (see ltox for an example on how to structure classes, libs...)

Internal changes


  • when using LApplication, lua will look for lua modules in local classes/ and lua/ and for c modules in lib/
  • implemented EventCentral, a very simple event manager, usable with LApplication
  • main loop, when started with a controlled loop, can execute tasks thanks to the new class ControlEvent (see EventCentral for an example on how to add tasks)
  • LApplication instantiation have changed (see ltox for an example)

Lua Support


  • added support for lua 5.3 (linux only atm)

Components Changes


trust in stilts

02 Jul 15:48
Compare
Choose a tag to compare
trust in stilts Pre-release
Pre-release

Globaly improved stability, reduced leaks and fixed many things.

API is quite stable with this release, meaning that what exists shouldn't change a lot from now on.
(see examples and README for more details on what's been introduced).

Luce Live Coding has been integrated also, as a light (and naive) form of live coding.
It's only a draft at the moment, but at least it allows designing interfaces while coding, which is already a good thing (see Luce Live Coding for more details on this).

Drawable components have been integrated and some animations also.

overall impression

19 Mar 18:02
Compare
Choose a tag to compare
overall impression Pre-release
Pre-release

The first release of Luce with some high level API (naming Application and Document).
This is just the beginning.

It's also the fist release to add full support for lua 5.1 and 5.2.

And it's also starting support for iOS and Android, both being some very interesting (and quite challenging) targets for Luce.
There's a lot of work remaining on this side, mainly with improvement of graphics performance.
But besides these poor performances with graphics, it's really stable on these platforms also and already does a great job for common applications with widgets only.

it's fork time!

15 Mar 01:01
Compare
Choose a tag to compare
it's fork time! Pre-release
Pre-release

This is probably the last release of Luce as a binding to JUCE.
As of now, Luce will start to divert from JUCE's API to start pure Luce concepts.

Luce modules for

  • Linux/64/2.13
  • OS X/64/10.8
  • Windows/32
  • iOS 6.1
  • Android 4.X

alpha v0.2

12 Feb 19:23
Compare
Choose a tag to compare
alpha v0.2 Pre-release
Pre-release
  • basic bindings are ready
  • leaks fixed
  • Graphics implemented, allowing the low level work to start.
  • started Lua-side implementation of classes.
  • Already fully useable as a binding to JUCE, though still a bit complex to use as it is.
  • ready for lua 5.1, lua 5.2 and luajit under Linux,
  • lua 5.1 and lua 5.2 under Windows -- luajit desperately crashes under Windows, not enough time to investigate the root cause.

Attached: compiled modules for Linux and Windows

Requirements for attachments:
Linux:

  • 64 bits
  • GLIBC >= 2.13
  • lua 5.1 / luajit 2.0.X

Windows:

  • 32 bits
  • lua 5.2

alpha skag

18 Jan 03:34
Compare
Choose a tag to compare
alpha skag Pre-release
Pre-release

v0.1 - alpha

  • Lua5.1
  • Lua5.2 support (compile with -DLUA52 if needed)
  • LuaJIT 2.0.X support
  • Linux64/Window support
  • MacOSX untested
  • core is stable, memory's correctly freed, performances are good
  • added demo.lua