News : The level of daily SPAM has reached insane proportions, all registrations are now manual. I ask you to send me an e-mail (john (at) murga (dot) org), to confirm that you want me to create an account for you.

Post Reply  Post Thread 
MurgaLua 0.7.5 RC1 ... Maybe I release this time :-)
Author Message

Posts: 381
Group: Administrators
Joined: Apr 2007
Status: Offline
Reputation: 2
Post: #1
MurgaLua 0.7.5 RC1 ... Maybe I release this time :-)


It seems like years since the last release ... Because it was :-(

I use murgaLua for personal projects, and I am determined to get the 0.7 series done this year, as I am currently using a FLTK 1.3 version which I would like to release as 0.8.X.

So here you have a release candidate for 0.7.5, I was hoping to push this out on Christmas day, but I found quite a few issues which took me while to resolve ... Either way it should be better and faster than before.

In the archive you'll find builds for Windows, Linux, MacOS ...
And RaspberryPI :-)

The MacOS builds where done on Snow Leopard.
The Linux builds where done on Centos 6.2.
The Windows builds where done on Windows 8 (dev preview).
And the RaspberryPI builds on an emulated Debian environment.

You can find it all here :

Highlights are stability (hopefully), a few more murgaLua API calls, JSON and Mongoose integration and a few more bits :-)

The -M* flags below will cause a crash (a last minute bug I haven't fixed yet).
It's kinda late here, but when I get time I'll post more info.

JohnMurga Wrote:

This is final functionality for murgaLua 0.7.X.
It is all about tidying up, fixing the docs and closing it up.

I will post some examples of the neat new stuff you can do in subsequent posts.

All bugs that I know about and that have been reported on the forum should be fixed.

An 0.8.0 branch exists which is a major overhaul, FLTK 1.3, Unicode, breakages and all ...
But I want a nice stable up-to-date base before I do anything with that.

And to be honest I use 0.7.X for my day to day stuff at moment.

Anyway, here is my initial drop ... More examples of note and info to follow.

Testing of drop is minimal as I just wanted to give you guys something.
I am pretty ill right now so I have likely made mistakes.

I will update the tests and do another drop shortly.

General Notes :
  • New searchable documentation - In progress.
  • New functions that deal with the nasty data than can be put into tables.
  • Bugfixes for XML issues reported in forum, and new methods as requested.
  • Overhaul of build process to better support multiple architectures.
  • Many fixes to stability and building.
  • Fixed lua_from_fluid, this is now a great way to generate UIs.
  • Sound integration, several fixes to proteaAudio and RtAudio.
  • LuaBitOp replaces bitlib due to portability and usability issues.
  • API upgrades (luaLzo, copas, sqLite, zlib, md5) ... FLTK to final 1.1.10
  • LuaFilesystem upgraded and patched for Solaris.
  • Encrypted database container support changed to more solid sqlcipher API.
    (Which with the new sqLite version bloats things for the FULL build)
  • CodeBlocks project support and migration of code to GIT repository.
  • luaCom update for truly stable code for windows COM coding.
  • More stable continue behaviour, and more examples, demos and tests.
  • Incorprated LFann for AI code along with my stability fixes to it.
  • Template for developing apps that look good on the OpenMoko phone.

Core, Lite and Full - A reminder on the editions :

Core murgaLua includes the core murgaLua functionality for the console :
  • XML support through murgaLua bindings
  • Efficient search and manipulation of data with murgaLua APIs
  • Storage of data with support for encryption through snlcrypt
  • Interface with native system APIs (DLLs, SOs, etc), with Alien
  • Comprehensive networking support though luaSocket, enhanced through copas and coxpcall
  • Interface to the filesystem with LuaFileSystem
  • Compress data with LZO
  • Customized version of luaSys for system and date functions
  • Additional system, utility and debug functions in murgaLua
  • All versions support the compiler

    (APIs : alien, luaLZO, iostring, slncrypt, luasys, luafilesystem, luaSocket, copas, coxpcall, MurgaLuaLib (system, c, lua, debug))
Lite murgaLua includes the above plus the FLTK api, and is in keeping with the sub 500k dream :
  • All fltk binding features
  • Additional murgaLua FLTK utilities
Full murgaLua is the recommended no-compromises release :
  • Encrypted database support (custom/standard sqlite3 databases)
  • Excellent integrated proAudioRt audio lib along with it's Ogg and WAV support
  • Advanced date handing functionality (date lib)
  • Advanced templating functionality (cosmo)
  • And other useful lua bindings (md5, lzlib, random, LuaBitOp, lpeg-0.9, LFann)

The new startup parameters :

These are specially useful if you are spawning or forking murgaLua processes (for CGI or whatever).

-M0 : Disable all murgaLua functionality
This runs as a pure lua interpreter, and gives you the fastest startup.

-M1 : Run in core murgaLua mode (only basic features enabled)
Equivalent to running a murgaLua-core executable with CLI features only.
This starts much faster than the other murgaLua modes.

-M2 : Run in lite murgaLua mode if available (murgaLuaFltk + core)

-M3 : DEFAULT - Run in FULL murgaLua mode (if available)

The System enabler functions :

These are useful if murgaLua has been started with one of new startup parameters, or if a new new murgaLua state has been created with the "Rings" API.

When creating a state with "Rings" it'll be the equivalent of "M0", with the following the murgaLua mode can be changed if/when needed :

These are for the murgaLua modes :


These for the "Stable" rings API :


Misc Notes :

New murgaLua APIs

  • Lua XML serialization is now safe (see tests)
  • murgaLua.dumpToXml
  • murgaLua.parseFromXml
  • murgaLua.escapeLuaString
  • murgaLua.getBuildProperties

New murgaLua.debug api :

  • murgaLua.printDebug no longer works
    Replaced by : murgaLua.debug.printTable
  • murgaLua.showTable for FLTK builds
  • dumpTableAsLua for the debugger (more later)

FLTK event changes :

  • Fl.add_idle
  • Fl.has_idle
  • Fl.remove_idle
  • Fl.set_event_handler
  • Fl.start_event_handler
  • Fl.stop_event_handler

Fl_Tree changes

  • fltk.Fl_Node
  • fltk.Fl_ToggleNode
  • fltk.Fl_ToggleTree
  • fltk.FL_TOGGLE_HIT

Other additional FLTK functions :

  • Fl_RGB_Image.saveAsPng
  • Fl_RGB_Image.getTiles(xSize, ySize)

New APIs :

  • alien
  • cosmo
  • coxpcall
  • date
  • inilazy
  • lfann
  • lpeg
  • LuaBitOp
  • lualogging
  • luasys
  • proteaAudio
  • remdebug
  • rings
  • slncrypto

12-27-2011 03:52 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Post Reply  Post Thread 

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump: