Using Infinite LiveCode for Android to Create Native Controls and Wrap OS APIs

by Ali Lloyd on June 28, 2017 16 comments

With the release of LiveCode 9.0 DP 7, the amount you can do with the android API has been significantly increased. Firstly, it is possible to use LiveCode Builder to respond to user events, which essentially allows the Android native control syntax (mobileControlCreate, mobileControlSet etc) to be replaced with draggable widget objects and standard LiveCode syntax. Secondly, it is possible to run services in the background, allowing, for example, background audio on Android.

read more
Ali LloydUsing Infinite LiveCode for Android to Create Native Controls and Wrap OS APIs

Android audio recording library using Java FFI

by Ali Lloyd on April 13, 2017 17 comments

In this example, we show you how to implement audio recording on Android using the new Java FFI capabilities in the latest DP of LiveCode 9.

The first step in figuring out how to create an Android audio recording library is to figure out what classes and methods are needed, which is tantamount to having a quick look at how it would be done in native code.

read more
Ali LloydAndroid audio recording library using Java FFI

LiveCode 9.0 DP 6 – Infinite LiveCode Preview

by Ali Lloyd on March 9, 2017 17 comments
LiveCode 9.0.0 DP-6 has just been released, and is the first developer preview containing the Java Foreign Function Interface (FFI). We’re thrilled to be bringing you this exciting first part of the Infinite LiveCode project. It’s been a longish road to get here and as is typical with such large and complex software projects, there have been a number of frustrating walls to be knocked down en route. I’m proud to say we have overcome these roadblocks, and without further ado, let me get stuck in to telling you how you can use it! Foreign handlers can be written in LiveCode Builder (LCB) which bind to calls on Java classes via the Java Native Interface (JNI). In particular this enables binding to classes in the Android API.

read more
Ali LloydLiveCode 9.0 DP 6 – Infinite LiveCode Preview

What’s new in LiveCode 9.0 DP 2?

by Peter Brett on November 21, 2016 No comments

Over the last month, we’ve been working hard on our next feature release, LiveCode 9.  Today we’re making a new developer preview available, including a powerful new capability for HTML5 development, and a completely rewritten LiveCode Builder virtual machine.

read more
Peter BrettWhat’s new in LiveCode 9.0 DP 2?

Infinite Livecode: Java progress

by Ali Lloyd on November 9, 2016 4 comments

Current progress

Since the Infinite LiveCode project was funded we have been hard at work with all the unglamorous but important preparation needed to make it possible, including refactoring the LiveCode Builder virtual machine. We have also made significant progress on the Java foreign function interface (FFI) that sits between the LiveCode Builder world and the Java world. Once the remaining few pull requests are merged, it will possible to interface with loaded Java classes, in particular the Android API – enabling you to instantly add vast swathes of additional functionality to your Android apps.

read more
Ali LloydInfinite Livecode: Java progress

What’s new in LiveCode 9 DP 1?

by Peter Brett on October 17, 2016 4 comments

Today we’re releasing the first developer preview of our next feature release, LiveCode 9.  In addition to stability improvements, there are some really neat new features to dig into. From LiveCode 9, we’ll also be changing the way we number LiveCode releases.

read more
Peter BrettWhat’s new in LiveCode 9 DP 1?

Infinite LiveCode – Third Stretch Goal – Mobile Native Field Widget

by Mark Waddingham on May 23, 2016 No comments

One of the biggest new features of LiveCode 8 was the Browser Widget. This new control allows any LiveCode application to take advantage of an embedded browser by just dragging and dropping a control onto a card – just like other LiveCode controls. This replaces the previous way you would use an embedded browser in LiveCode – either via revBrowser on Desktop, or mobileControlCreate(“browser”) on Android/iOS. It goes without saying that this widget was implemented using the power of LiveCode Builder!

The new browser widget really does make using an embedded browser so much easier: there’s no cross-platform difference between how you use it; and there’s no need to manage the browser’s lifetime yourself as it works just like a normal engine control (because that is what it is!). We’d like to extend this ease of use to mobile-specific feature which is widely used: the native field control accessible via mobileControlCreate(“input”).

This stretch goal’s proposal is to build a Builder widget which uses a native layer to make it possible to drag-drop native mobile field controls onto your stacks and use them, with exactly the same functionality as currently provided via the mobileControl functions, but in a way much more in keeping with how LiveCode should be.

read more
Mark WaddinghamInfinite LiveCode – Third Stretch Goal – Mobile Native Field Widget