Monkey update V59 now available! [MONKEY NEWS]

Monkey Forums/Monkey Programming/Monkey update V59 now available! [MONKEY NEWS]

marksibly(Posted 2012) [#1]
Hi,

Now featuring simple debugging support for the glfw target!

To use the debugger, you will need to use 'Ted', a new Monkey IDE. Ted is available now from the product updates page in the experimental section. To install Ted, move the unzipped folder to somewhere within your Monkey installation (or you can install it elsewhere and select monkey dev dir from preferences).

Ted is written in C++/Qt and will be open source. It's a little on the hefty side, but part of this is because it includes a very cool WebView framework (it runs html5 apps very nicely) that I hope to make use of in future.

Monkey updates will continue to include Monk for a while yet as the 'official' IDE while Ted matures a bit and we get the 'kinks' worked out!

Monkey release notes:

Modules:

c++ lang - added debug handling.

glfw mojo - LoadSound now uses glfw target loadSound.

opengl - Fixed various issues.

lang.cpp/os.cpp - Fixed several issues with empty std::vectors.


Targets:

glfw - added stb_vorbis loader (doesn't stream yet) and loadSound/unloadSound functions


Trans (v1.35):

Added debug info to c++ translator.



Ted release notes:

* The Project/file manager can't currently handle duplicate directories in the tree view - if you try and add a dir which contains or is contained by a dir already in the tree, it will be rejected.

* Simple bmx support is provided, just enough for running 'make files' such as src/rebuildall.bmx which rebuilds trans/mserver.

* If Ted is taking a long time to launch on Windows, try disabling the floppy disk controller from within device manager (unless you need floppy support of course). For some reason, this was enabled on my floppy-less XP machine and was causing a mysterious ~8 second delay when Ted started up.

* Ted is currently quite big, around 10-20Meg zipped, which is larger than I would have liked for a Monk (700ishK - go MaxGUI!) replacement. However, this includes a very WebKit framework which I plan to make good use of in future.

* Prefs are saved in HKEY_CURRENT_USER/Software/Blitz Research Ltd/Ted (Windows) and $HOME/Library/Preferences/com.blitzresearchltd.Ted.plist (Mac) in case you need to delete them.

* Console/browser font/colors can not yet be changed.

* Word wrap enabled for .txt files.




Neuro(Posted 2012) [#2]
New editor? Cool!


Samah(Posted 2012) [#3]
So does that mean if we want to put this new editor into superuser mode, we have to whisper the secret magic word?
(Disclaimer: If you never watched 80s-90s cartoons, you won't get this reference).


Roger Lockerbie(Posted 2012) [#4]
TED Lives again.... Hope Rod's going to do a SuperTed drawing for the About... Dialog.


Roger Lockerbie(Posted 2012) [#5]
Gah!

In case it bites anyone else, the god awful Symantec Endpoint Protection (I'm on my work PC), Decides via hueristic that TED is some virus/malware variant (Bloodhound.Sonor.9) and Quarantines it.

Realise there's nothing can be done, but if Ted suddenly vanishes off your screen and you have the misfortune to be running Symantec Endpoint Protection, then go check your quarantine.

Regards,

Roger


Samah(Posted 2012) [#6]
Stuff I was hoping for in v59:
Enums
Exceptions
Aliasable primitives

/me cries

Edit: Aliasable primitives were added in v57... D'oh!


AdamRedwoods(Posted 2012) [#7]
Ted is written in C++/Qt


Unfortunately, Ted also includes Qt's infamous Wacom tablet bug... :(
http://forum.wacom.eu/viewtopic.php?f=2&t=6121&start=10


Samah(Posted 2012) [#8]
Unfortunately, Ted also includes Qt's infamous Wacom tablet bug... :(

What actually breaks? I have a Wacom tablet plugged in, but I only use it for osu! and occasionally Gimp. Will it break standard mouse clicks?
I think I need a new tablet actually...




MikeHart(Posted 2012) [#9]
Samah, that looks like a cutting board in our kitchen. Don't use knifes on your tablet. :-)


ziggy(Posted 2012) [#10]
Great!!! finally out!
Ok, I've just released a Jungle Ide update that fully supports the new debugger. (among other nice additions). http://www.monkeycoder.co.nz/Community/post.php?topic=1703&post=31055


Qcat(Posted 2012) [#11]
Nice update!

I seem to be experiencing a few bugs. Here are some screenshots

Monk + Trans Can Not Find Mid.

Pic 1

Ted OSX crashes when Trans opens a difference monkey file. In this case to show the mid-function is not found.

Pic 2

Hope this helps. I'll test on Windows tonight.


Thanks

Adam

Edit! Removed image links has problem solved


Paul - Taiphoz(Posted 2012) [#12]
Ted looks like a fork of Monk, or the Max IDE, I am wondering why Forking was required, why not just update Monk ?


ziggy(Posted 2012) [#13]
I don't know, but maybe it was a good way to "organize" monk source code.


fsoft(Posted 2012) [#14]
Mark,

I could help you compiling Ted on Linux, if you need any help.


GfK(Posted 2012) [#15]
Cor, a debugger! Good stuff! Probably using Monkey for my next game as I want to specifically target iOS.


ziggy(Posted 2012) [#16]
Mark: This latest version breaks the Error "" trick to close desktop glfw (and probably xna too) applications.


AdamRedwoods(Posted 2012) [#17]
What actually breaks?

Regards to Wacom/Qt bug:
The bug is when the Wacom tablet is in "mouse" mode, it seems Qt uses the wrong positioning packet stream so clicks are registered in wrong places (but will sometimes register correctly on a double click).

Qt has not fixed it for years.


slenkar(Posted 2012) [#18]
Ted is quite nice, feels professional but I cant explain why.

little bug:
if the trans_winnt.exe file cannot be found when compiling ted crashes

need 'find in files' for me to use Ted regularly though, i cant do without that tool.


Galaxy613(Posted 2012) [#19]
Can someone explain how to use the simple debugging? Is it automatic when an exception happens or something? It feels like Mark was about to explain it when he just started going off on where to get it and etc. etc...


Shinkiro1(Posted 2012) [#20]
Same question as Galaxy613 + what about the ogg support in glfw? Is it for sound loading only or can we use it for music streaming also. The docs don't seem to be up to date on this.


Beaker(Posted 2012) [#21]
To use debug try sticking a DebugStop() command in your code.

Ted seems to crash if you compile with a command it doesn't recognise (glfw on Mac). It throws a message before it crashes "Identifier 'DebugBlah' not found".


Neuro(Posted 2012) [#22]
Has anyone been able to test the metro target?


therevills(Posted 2012) [#23]
@Qcat - You are accessing "Math" incorrectly, since it is a Monkey module it needs to be in lowercase:

[monkeycode]Function Main()
Local x% = 10, y% = 20
Print math.Min(x, y)
End[/monkeycode]

Or are you just showing the Ted error?


marksibly(Posted 2012) [#24]
Hi,

Ted V1.1 now up!

> Monk + Trans Can Not Find Mid.

"Compile errors causing crash" should be fixed in 1.1

> Ted OSX crashes when Trans opens a difference monkey file.

Not quite sure what you mean here.

> Ted looks like a fork of Monk, or the Max IDE, I am wondering why Forking was required, why not just update Monk ?

Ted is supposed to resemble Monk - I didn't want to confuse users too much!

I switched to Qt mainly because it's a more modern GUI library that offers features people expect as 'standard' these days - features that MaxGUI alas doesn't have.

This includes things such as draggable tabs and toolbars; dockable console/browser; a grunty WebView widget that can potentially run html5 apps; widgets in toolbars; and no doubt more that I haven't even looked at yet...Qt is big!

Also, the Monk code is getting on a bit and has become kind of change resistant (it IS really just a hack of the BlitzMax IDE after all). No doubt Ted will end up the same way in a few years time, but for now a fresh start gives me a chance to add cool stuff such as debug info more easily.

The IDE is also bound to have a large impact on peoples first impressions of Monkey, so it's partly a 'marketing' decision too.

> I could help you compiling Ted on Linux, if you need any help.

Thanks! Source will be available soon, stay tuned. I've tried to make it Linux aware - ie: it uses trans_linux on linux etc. so if you know how to compile Qt stuff on linux, it should be OK.

> Mark: This latest version breaks the Error "" trick to close desktop glfw (and probably xna too) applications.

I couldn't reproduce this - I stuck an Error "" in the MouseHit() bit of bouncyaliens and both glfw and xna cleanly quit. Can you post a demo?

> if the trans_winnt.exe file cannot be found when compiling ted crashes

Should be fixed.

> Can someone explain how to use the simple debugging?

For now, there's just a new DebugStop() function which will cause your app to stop and the debug pane to open.

For here, you can inspect the callstack/local vars, and step the app.

Ditto runtime errors, except you wont be able to step.

> Same question as Galaxy613 + what about the ogg support in glfw?

Ogg in glfw doesn't stream yet, it's currently just another format. Streaming is coming 'soon' (I hope). I guess I should also be looking at using OS media players for music, although this is generally a hit and miss approach on Windows - ie: it depends on installed codecs etc. Or is this different these days?


Richard Betson(Posted 2012) [#25]
Ted Lives!

I'll give it a run. :)


CodeGit(Posted 2012) [#26]
Thanks Mark. :)


Kalakian(Posted 2012) [#27]
With this update I get an error "Error: Call to a possibly undefined method showError." when trying to build for Flash.

I'll try V58 again and change some configuration. It's maybe just something I missed


ziggy(Posted 2012) [#28]
@Kalakian: Have you cleaned your Bluid folders?


Kalakian(Posted 2012) [#29]
Just came back to this post in shame to say how much of a N00b I am for not deleting the Build folder ... and ziggy has pointed this out and made me feel worse, cheers! :D

Working fine again for HTML5, Flash, GLFW, and XNA ... I'm happy again


Qcat(Posted 2012) [#30]
@Mark
thanks all is working well now. I am really liking Ted so far.

@therevills
thanks I totally missed that in my excitement. oddly was working fine with with monkey before but have not updated for a while. probably has it was part of the box2d module I'm not using yet.


Skn3(Posted 2012) [#31]
Wow massive update:
The IDE is also bound to have a large impact on peoples first impressions of Monkey, so it's partly a 'marketing' decision too.


Definitely a good decision, kudos on the marketting venture!

Will we eventually be able to debug our apps within the IDE? Eg you have unified debugging interface with "preview", debugger and console all within TED. That would be neat!

Probably only viable with an html5/flash debugger though, unless there is some way to have the app hook in and render to an external context.


ziggy(Posted 2012) [#32]
Will we eventually be able to debug our apps within the IDE?
You can already do this both in Ted and on Jungle Ide by using the GLFW target


Skn3(Posted 2012) [#33]
Ah whoops, I mean will it be possible that we may end up being able to "dock" the running application into Jungle or TED so there is a clean and single interface for debugging.

Something like this...



Risc(Posted 2012) [#34]
How is progress on the metro target?


DruggedBunny(Posted 2012) [#35]
Really like Ted -- nice solid feel -- but on messing around with the debugger, I got myself a lovely BSOD stating that "process has locked pages"!

I ran an example with music, turned on DebugStop while in-game (music keeps playing to end of loop after DebugStopping game), then I hit the Kill button at the top of the IDE -- that's when it blue-screened.

I rebooted, turned off automatic BSOD restart, tried again with a non-music example and that was fine. Tried the example with audio, did the same again, and this time the music kept playing after the program ended... then BSOD'd on me a few seconds later, so I suspect it's to do with audio.

Might not be Ted-specific, and could of course be my drivers, but I don't yet know if there's a difference between killing a DebugStopped GLFW app with the Task Manager and doing it from the IDE. This was Ted 1.0... will try again with latest tomorrow, and killing with Task Manager to see if there's any change.

(If anyone tries these steps, be sure to save in all open programs first!)


slenkar(Posted 2012) [#36]
'find in files' tool plz


hardcoal(Posted 2012) [#37]
what is this Ted thing?
and where can i get it


hardcoal(Posted 2012) [#38]
oh found it never mind


Corum(Posted 2012) [#39]
Cheers for the debugging stuff! :)
Thanks Mr.Sibly!


ziggy(Posted 2012) [#40]
@Mark: Can we somehow prevent the debugger output show the entire contents of an array on a single line of text? If you have a huge array it can get too big to be usable on screen... (just a suggestion) I'll be currently limiting this output for the next Jungle Ide update to prevent a debug tree node get all screen. Ted is truncating the output, wich does prevent it, but if this info is not being useful, nor being displayed, maybe it should not be being sent throug the error pipe, or not all this information, just a representation of it... ?


rebelas(Posted 2012) [#41]
I have no clue how dropping DebugStop() is going to work?


golomp(Posted 2012) [#42]
;)


Grey Alien(Posted 2012) [#43]
TED seems cool but how can I get help on highlighted keywords? I used to press F1 in monk. Thanks.

autocomplete would be nice but I guess I should get JungleIDE for that.


Supertino(Posted 2012) [#44]
Where does Ted keep it's IDE options file?


skid(Posted 2012) [#45]
From the first post:

* Prefs are saved in HKEY_CURRENT_USER/Software/Blitz Research Ltd/Ted (Windows) and $HOME/Library/Preferences/com.blitzresearchltd.Ted.plist (Mac) in case you need to delete them.




ziggy(Posted 2012) [#46]
Just in case. this: HKEY_CURRENT_USER/Software/Blitz Research Ltd/Ted is a windows registry location, don't look for a file on the filesystem, but look for it on the regedit


Supertino(Posted 2012) [#47]
Ah note to self, "read the Orginial post you dummy".

Don't worry ziggy I'll be sticking to Jungle - TED has a long way to go match up Jungle.

Wasn't TED the name of the IDE on the Amiga? Good times, though I was an Amos boy back then.


Samah(Posted 2012) [#48]
I want to do Monkey dev on my new MacBook Air but no Jungle for mac. :'(


Neuro(Posted 2012) [#49]
I was actually using TED last night on my Macbook Pro while having dinner at my mom's house. Definitely much better to use than Monk :). However when i'm at home on PC...nothing beats Jungle :).


Grey Alien(Posted 2012) [#50]
I used TED at the weekend for a 48-hour game jam. It was neat but how do I access the help file for a keyword (f1 doesn't work)? Also needs Find in Files.


TheRedFox(Posted 2012) [#51]
Nothing beat jungle anyway, especially when running VMWare Fusion on the Mac with a shared folder. Edit here, run there.

Still, are there any refactorings?