Murga-Projects Forums
MurgaLua 0.7.0 RC1 - Printable Version

+- Murga-Projects Forums (http://www.murga-projects.com/forum)
+-- Forum: Project Forums (/forumdisplay.php?fid=1)
+--- Forum: MurgaLua - General (/forumdisplay.php?fid=2)
+--- Thread: MurgaLua 0.7.0 RC1 (/showthread.php?tid=389)


MurgaLua 0.7.0 RC1 - JohnMurga - 10-12-2010 12:05 PM

Intro

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 :

_enableMurgaLuaCore()
_enableMurgaLuaLite()
_enableMurgaLuaFull()

These for the "Stable" rings API :

_enableRingsStable()

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_DAMAGE_TREE
  • fltk.FL_TOGGLE_CLOSED
  • fltk.FL_TOGGLE_HIT
  • fltk.FL_TOGGLE_NONE
  • fltk.FL_TOGGLE_OPENED
  • fltk.FL_TOGGLE_RESELECT
  • fltk.FL_TOGGLE_SELECT
  • fltk.FL_TOGGLE_SELECT_MASK

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



RE: MurgaLua 0.7.0 RC1 - JohnMurga - 10-12-2010 12:09 PM

Drop is here :

http://www.my-plan.org/storage/private/murgaLua-snapshot.tar.gz

Builds for Windows, Linux and MacOS are included.

MacOS builds where made on Snow Leopard, if you are using something else let me know if they work.

NOTE - LFann examples are wrong, the "run" method doesn't take a table.
Just replace the run(table), with a run(unpack(table)) to make it work.


Will be fixed along with better example in next drop.


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-13-2010 12:19 AM

Well, congrats on the RC1, looks fine to me!

Some minor things i've noticed:

* Has OSS support in proAudio been dropped, or has something gone wrong? here (using OSSv4 on Ubuntu 64bit) all sound examples segfault.

* Not only the input needs unpacking, the output also needs packing to function in the examples, yielding:
output = {net:run(unpack(table))}

Thanks for the release!
Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 10-13-2010 03:19 AM

jpjacobs Wrote:
* Has OSS support in proAudio been dropped, or has something gone wrong? here (using OSSv4 on Ubuntu 64bit) all sound examples segfault.


The linux static builds should work with OSS.

The dynamic ones are ALSA.

So bin/Linux/otherBuilds/murgaLua-static should work.

And I am thinking I should make it the default as it may be more stable.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - mikshaw - 10-13-2010 01:37 PM

I never noticed io.stdin until you added the example in this RC
That will likely have many uses. It seems to work as expected with Linux pipes =oD


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-13-2010 07:02 PM

JohnMurga Wrote:
The linux static builds should work with OSS.

The dynamic ones are ALSA.

So bin/Linux/otherBuilds/murgaLua-static should work.


Well, that was indeed the case I was testing the dynamic one, while normally I used the static version.
Greets,

Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 10-15-2010 07:54 PM

Please report any other issues you may find ...

I will be adding OpenMoko and FreeBSD builds in the next few days.

And would like to push a final RC with updated docs before then end of Oct.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-15-2010 09:24 PM

If I can help with anything (like proof-reading or whatever) let me know.
For the moment, I've got enough time ...

greets
Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 10-15-2010 10:00 PM

jpjacobs Wrote:
If I can help with anything (like proof-reading or whatever) let me know.
For the moment, I've got enough time ...


Thanks,

Have a play with everything, let me know what doesn't work :-)

Have a look at the new documentation, let me know what you think.

I hope to get some more time to update the docs too.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-16-2010 01:15 AM

Maybe it would be good to add an explicit charset declaration to the documentation files (or set it in the thing you use to generate it), like
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> or
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
depending on the case.
Otherwise it depends on the default charset of browser in case whether you get weird symbols or not...

*Group pages don't contain anything.

Linkify url's in the introduction.

The "Learning Lua" page abruptly ends. Maybe another good pointers:
http://batbytes.com/luafaq/

"Your first Lua Program"
Maybe mention that in everything but the prompt, windows supports normal slashes as directory separators (after the warning that slashes go the other way in Windows).

I would merge the walkthrough and tutorial sections; in the end they both contain tutorials.
The Network chat tutorial is still empty.

The explanation of the murgaLua library is in need of some extra layout.
And maybe a page linking to all the docs contained in the 3rd-party dir would be nice to have, for reference

How are those doc's generated? If you pass me the sources, I'll make the changes for you.

greets,

Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-16-2010 02:08 AM

murgaLua.debug.showTable seems to crash on userdata without a metatable set. Or something like it. In any case it crashes when you go to some Fl_* table which contains an id = userdata field.

SimpleApp2.lua crashes if the quit button is pressed (attempt to call fl_ask instead of fl_choice)

All the rest is working as expected (only tested on Linux)

Greets,
JP


RE: MurgaLua 0.7.0 RC1 - jyf1987 - 11-19-2010 07:21 PM

so may i have the try of the 0.8.x branch?
i cant wait to try an unicode support fltk libary


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 11-24-2010 11:54 PM

jyf1987 Wrote:
so may i have the try of the 0.8.x branch?
i cant wait to try an unicode support fltk libary


Sure,

I will release 0.7.0 final in the next couple of weeks and the alfa build of 0.8.x soon after.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - iGame3D - 12-11-2010 03:24 PM

Doesn't work on Leopard 10.5.8

Code:
/murgaLua/bin/MacOs-Intel/murgaLua ; exit;
dyld: unknown required load command 0x80000022
Trace/BPT trap
logout


Code:
/murgaLua/bin/MacOs-Intel/core-lite/murgaLua_lite ; exit;
Segmentation fault
logout


Code:
/murgaLua/bin/MacOs-Intel/core-lite/murgaLua_core ; exit;
dyld: unknown required load command 0x80000022
Trace/BPT trap
logout


I supposed I should update, this OS is what 3 or 4 years old now?


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 12-20-2010 08:22 PM

iGame3D Wrote:
I supposed I should update, this OS is what 3 or 4 years old now?

OK, that is a pain :-(

I will find the old CDs and do a Leopard build.

Thanks for letting me know.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 12-23-2010 09:15 PM

Another small thing: The proAudio.soundStop(sample) does not work when the sample is specified, only when executed without an argument, stopping all sounds.

Aside of that is there a way to get samples to pause, seek, etc etc? or is this well beyond the scope of the proteaAudio binding? I was just thinking of writing a transcription application (to convert a spoken interview to text), so it really needs forwarding, seeking back, pausing, ... But otherwise i'll just interface to VLC or mplayer ...

Greetings,
Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - mikshaw - 01-15-2011 11:32 AM

I'm not having any luck with proAudio on my box, Debian Lenny with ALSA. The simpleSound example initially got stuck in the sleep loop, then after changing "if not proAudio.create() then os.exit(1) end" to just "proAudio.create()" the ogg played but then it got stuck in the next sleep loop. I couldn't get it to play a wav file, even though proAudio apparently loaded it. After playing around a little more, the ogg file stopped working as well.


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 01-19-2011 02:52 AM

mikshaw Wrote:
I'm not having any luck with proAudio on my box, Debian Lenny with ALSA. The simpleSound example initially got stuck in the sleep loop, then after changing "if not proAudio.create() then os.exit(1) end" to just "proAudio.create()" the ogg played but then it got stuck in the next sleep loop. I couldn't get it to play a wav file, even though proAudio apparently loaded it. After playing around a little more, the ogg file stopped working as well.

What are you running exactly ?

I suspect I should be able to replicate your setup in a VirtualBox VM.


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 01-19-2011 02:55 AM

jpjacobs Wrote:
Aside of that is there a way to get samples to pause, seek, etc etc? or is this well beyond the scope of the proteaAudio binding? I was just thinking of writing a transcription application (to convert a spoken interview to text), so it really needs forwarding, seeking back, pausing, ... But otherwise i'll just interface to VLC or mplayer ...


It is out of scope of the binding, but I'll take a look.

Maybe it can be easily implemented.


RE: MurgaLua 0.7.0 RC1 - mikshaw - 01-19-2011 12:23 PM

JohnMurga Wrote:
What are you running exactly ?
I suspect I should be able to replicate your setup in a VirtualBox VM.


Currently Debian Lenny with ALSA, MurgaLua dynamic. I'm not sure how much more specific I can get...I didn't do any custom configuration. I have SDL_mixer installed, too, if that makes any difference, and JACK, although it isn't used unless i run it manually. There is no aRTs or ESD or PulseAudio or any other sound server. I don't recall having an issue with this when i tried the previous beta, but I haven't been able to make it work since I made that last post. I think I might have broken my system.

Also note that contrary to JP's results, this example segfaults when I try it with murgaLua-static...after saying "RtApiOss:TonguerobeDeviceOpen: error opening device ()". I'm guessing I probably don't have even the alsa-oss compatability installed.

I'm going to be moving up to Debian Wheezy whenever that's released, but I may first install Squeeze and see if I get the same results. Squeeze is already on my server, but I don't want to add anything it doesn't need.


RE: MurgaLua 0.7.0 RC1 - mikshaw - 02-08-2011 09:05 AM

No problems with it as-is on Wheezy. There are other annoyances I have yet to fix, but those things have nothing to do with murgaLua =o)


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 06-28-2011 10:26 PM

Any news on the progress to the long awaited stable version?

Regards,

Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 07-04-2011 09:29 PM

jpjacobs Wrote:
Any news on the progress to the long awaited stable version?


I have it ... I just need to tidy it up.

Hopefully my computers will arrive in the next week or two and I'll be able to get back to it.

It's been an exciting few months, but now I am settled down again.

Cheers
John de Murga


RE: MurgaLua 0.7.0 RC1 - jpjacobs - 10-06-2011 01:53 AM

Having updated my toy OCR thing yesterday, I started wondering whether there has been any progress on the 0.7 release? If you need any help testing, documenting, ... let me know.

Maybe it wouldn't be a bad idea to launch some call for showcase applications or even small snippets highlighting all possibilities murgaLua offers? Because offering the amount it does, I think lots of people don't even realize what could be possible. (if you want, feel free to include the number OCR as example...).

Kind regards,

Jan-Pieter


RE: MurgaLua 0.7.0 RC1 - JohnMurga - 10-08-2011 03:21 AM

There has been some coding done and progress testing ...

Found a couple of ways to make murgaLua a little more robust.

What I haven't had time for was to update the documentation.

I will definitely include your example, thanks ;-)

I am hoping to get time to look at things again on Sunday, I can post the current build if you like.


RE: MurgaLua 0.7.0 RC1 - mikshaw - 10-11-2011 03:16 PM

jpjacobs Wrote:
Maybe it wouldn't be a bad idea to launch some call for showcase applications or even small snippets highlighting all possibilities murgaLua offers?

I keep thinking I should get back to improving and adding to my demo package, although I haven't even taken more than a few minutes here and there to make minor modifications to scripts I regularly use. Winter tends to force me back into this sitting indoors sort of thing, though, and it's not far away. By November I suspect I'll be spending the majority of my free time drawing, modeling, and coding.