about EditableMovie class

Well, the editableMovie class has been deprecated. Due to deprecation the docs are unavailable directly, but you can read them here.
Deprecated means that Real Software will remove it someday, but as of today (and probably a few more years) the class will be available and running. Just not forever. The reason is that Apple deprecated the old QuickTime APIs and they are not available for 64 bit..
I'm not sure about what way Apple is going with 64 bit. They have several frameworks for video playback. Like QTKit where we have a lot of classes in our plugins.
So I expect the old QuickTime classes in Real Studio and our plugins will continue to work in 32 bit applications. Even if editableMovie class is removed next year from Real Studio, our plugin still provides movie class extensions to do similar functions.
For 64 bit, you may go and move to QTKit. It offers some features, but not all.
In general, if you are missing something, please email us. Maybe we can add it quickly for you.

MBS Real Studio Plugins, version 12.3pr8

New in this prerelease of the 12.3 plugins:
  • Added DirectShowGraphBuilderMBS ConnectFilters methods.
  • Added DirectShowSampleGrabberMBS class.
  • Added DirectShowNullRendererMBS class.
  • Added variant of graphics.DrawCGPDFDocumentMBS which takes more options.
  • Updated SQLAPI++ 4.0.1 with newer patches. This includes an UTF-8 bugs I found.
  • Added StringXOR2MBS function.
  • Improved OpenMovieWithCustomQTDataHandlerMBS to reduce crashes and have it work better. Also we now have only one AES mode and a new XOR2 mode.
Download: macsw.de/plugin/Prerelease

MBS Filemaker Plugin, version 2.8pr6

New in this prerelease of the 2.8 plugins:
  • Improved SQL functions Unicode string handling. Now using UTF-8 for all strings.
  • Updated to SQLAPI++ 4.0.1.
Download later today at monkeybreadsoftware.de/filemaker/files/

SQL and text encodings

As you may know we have SQL functions in both our Real Studio and Filemaker plugins. Getting text encodings right for all cases is a challenge.
So next releases of our plugins have an improved text handling. We use UTF-8/16 everywhere and if the database is also UTF-8 or UTF-16, this should work wonderful and all trouble is gone.
Please if you have a chance, test the new plugin and inform us, if it's working fine for you.
Especially I have to say that MySQLCommunityServer plugin from Real Software seems to return strings without encoding. So there our plugin may be an alternative :-)

Real Studio Meeting in Paris

The first meeting of the Paris Users of Real Studio will beheld Friday, June 29th at 19pm at: Joe Allen Restaurant, Rue Lescot 30, 75001 Paris. Join the group and join us that evening.

Stephané Pinel from Real Software will present the new Real Studio IDE.
I will show a few new things on our plugin. Will have to refresh my french a bit.
Be sure to bring your MacBook / notebooks for the case you want to show what you have been doing with Real Studio.
And a lot of tips and tricks for you to see and learn.

In french:

Bonjour à tous!

Notre première réunion aura lieu le vendredi 29 juin à 19H chez :

Restaurant Joe Allen
30, Rue Lescot
75001 Paris

- Christian Schmitz (MonkeyBread Software) nous fera l'honneur de sa présence (il parle un peu français!)
- Je vous présenterai la tout nouvel IDE prévu pour 2012r2
- Amenez vos MacBooks/NoteBooks pour partager vos oeuvres!

Encrypted QuickTime Movies

As you may know we have plugin functions to load and play encrypted Quicktime movies. That's great as you can use a simple XOR or a more secure AES encryption for this.
We revisited code after we got a notice from a plugin user that there is a bug. First tests showed no bug, but when you play 10 AES encrypted videos the same time in app in endless loops, it'll finally crash after a few minutes.
So we refactored some code to clean it up, made it shorter and found indeed a few situations where things can go bad in case of stress situations. You can imaging that having several asynchronously requests running from the movie player to read various parts of the video file. Now those requests run on separated threads and may even be cancelled. Now it looks fine and I think this plugin is better than before.

Also we added a second XOR mode which takes xors the position, too. This way the bytes look more random. XOR is in general faster than AES, but this is your choice. And if needed, we can even implement a custom encryption just for you.

For QTKit and maybe a future AVFoundation plugin I'm not sure how to do the same, especially with 64 bit targets. But we'll see. Probably load video file in memory, decode and open as movie from memory like OpenMovieFromStringMBS.

This changes will be included in next plugin prerelease, probably tomorrow.

Adding Login Items on Mac OS X

To edit login items, we had to do a lot of different things.
Somewhere 5 years ago we had first class LoginItemsMBS which directly worked on the Dock.app preferences. Not the best, but it worked.
Apple didn't like that, so they made it accessible using AppleScript/AppleEvent. We updated our LoginItemsMBS class to use new APIs (and renamed old method to have Old in name).
With Mac OS X 10.5, we got the LSSharedFileList API, so we got a LSSharedFileListMBS class for the plugins. This way you can edit the login items list. Works nice, but well, it's not working in a sandboxed app.
So now we have even newer ServiceManagement API in Mac OS X 10.7. Next plugin prerelease will have new functions to register a helper app and enable/disable it. This should work nice. Of course, please ask the user about that, so you don't get your app rejected.

You can read more about this here.

MBS Real Studio Plugins, version 12.3pr7

New in this prerelease of the 12.3 plugins:
  • Changed SQL Plugin to now work internally with UTF-8 if possible.
  • Added new NSBitmapImageRepMBS constructor to create new bitmap.
  • Added new NSGraphicsMBS Constructor for drawing to NSBitmapImageRepMBS.
  • Added new methods to plugin set and hash classes (also known as case sensitive dictionary).
  • Several methods in SQLCommandMBS class are now properties to make debugging easier.
  • Improved String handling in SQL Plugin when using with RecordSet class.
  • Fixed a double freed pointer problem in SQL Plugin.
  • Fixed a bug with string encoding in SQL plugin when using ascii strings with undefined encoding.
Download: macsw.de/plugin/Prerelease

High Resolution is coming

Today I played a little bit with high resolution and things seem to work fine. For our OverlayMBS class, you need to provide picture and mask with higher resolution. But as you see in this example, it has an effect:

Left the low res, right the high res version of the same app.

If you want to test, compile your app to Cocoa and add the NSHighResolutionCapable key to the info.plist with boolean YES value. Running the app in high res mode works in general, but there is a lot to fix if needed. In our 12.3pr plugins, we have a window.BackingScaleFactorMBS function so you know when to use high res back buffer for canvas drawing.

German Real Studio Training / Deutsche Real Studio Schulung

Together with Alphadi we offer Real Studio trainings for database, desktop (Mac/Windows/Linux) and web development. The training is in german and if you need details, please check the flyer Real Studio Seminar.pdf or the website. Especially for people new to Real Studio, we offer this training to get started. But also if you already develop in some other environment, it may be interesting to add Real Studio knowledge to your portfolio. More advanced Real Studio developers can still learn a few new things which they didn't use yet.

In Zusammenarbeit mit Alphadi bieten wir ein Seminar zu Real Studio an:

Lernen Sie in zwei Tagen in Kassel, wie Sie mit Real Studio Anwendungen entwickeln. Mit Datenbankzugriff und sowohl als Desktop (Mac/Windows/Linux) wie auch als Web Anwendung. Insbesondere für interessierte Einsteiger oder Umsteiger bieten wir eine Einführung in Real Studio. Aber auch Fortgeschrittene Real Studio Entwickler finden sicher den ein oder Kniff, wie sie etwas in Real Studio umsetzen können. Für Entwickler von anderen Plattformen bietet sich hier die Möglichkeit Real Studio kennen zu lernen und damit sein Portfolio an Werkzeugen zu erweitern.
Wer Informationen im Real Studio Seminar.pdf oder auf der Webseite.

MBS Real Studio Plugins, version 12.3pr6

New in this prerelease of the 12.3 plugins:
  • Added support for drawing pictures into QuickDraw ports for Cocoa targets. This makes PicHandleDataMBS and other functions work in Cocoa target.
  • Updated DynaPDF to version
  • Added NSGraphicsMBS Constructor for targeting NSImageMBS.
  • Changed plugins to include more function names so debug reports look better.
  • Fixed Base64MBS.Yield property. It's now setable.
  • The new tesseract 3.x Windows OCR Plugin is linked without dependency to msvcrt90.dll so it works easier for you.
Download: macsw.de/plugin/Prerelease

MBS Filemaker Plugin, version 2.8pr4

New in this prerelease of the 2.8 plugins:
  • Added Window.Activate function.
  • Added DisableFunction function.
  • Added RemoteControl functions.
Download later today at monkeybreadsoftware.de/filemaker/files/

MBS Real Studio Plugins, version 12.3pr5

New in this prerelease of the 12.3 plugins:
  • Added window.BackingScaleFactorMBS (useful for Retina Macbook Pro support)
  • Fixed Call* methods to not call functions multiple times in case you use msgbox in target method which yield times.
  • Now properly handles workaround for case 19282 in all plugin parts (leak in REALLockPictureDescription).
  • Added CPMPrinterMBS Constructor.
  • Added QTKitMovieMBS.addImage taking image as data.
  • Added CPMPrintSessionMBS.CreatePrinterList.
  • Changed QTImporter plugin part to work on console mostly. So StringToPictureMBS works now there. As this relays on QuickTime, it could of course fail. And it does not work on Linux.
  • Fixed picture handling for old PICT type picture objects on Mac Carbon target. So StringToPicture makes picture and JPEG functions can write it to disk.
  • Fixed strange bug with QTKitMovieMBS.addimage producing bad movie.
  • Changed VLCEventManagerMBS class to execute events on main thread.
  • Removed DotMacKit plugin.
  • Removed PHP Plugin.
Download: macsw.de/plugin/Prerelease

Real Studio 2012 beta 1

The new beta is finally there. More than 260 bug fixes alone, so I think a lot of users will be very happy with this release!

You want to try it?
First make sure you have your license up to date. Second get on the real software website with an account linked to your license. And there join the beta program.

Please upgrade plugins. You need at least 12.1 and better the next 12.3 prerelease coming in the next days. You can get 12.3 prerelease versions on our website. We are working on fixing a few things for the changes in the plugin interface.

If you see a bug with Real Studio 2012r1, please post on the realbasic beta mailing list. Even if may be a plugin issue.

Upcoming Real Studio events

Also we offer a Real Studio training with alphadi in Kassel in July/August.

Working on Mountain Lion Support

For Real Studio Plugins we updated already our plugin classes around NSApplicationMBS, Addressbook, CalendarStore, StoreKit, Quartz and CoreLocation. Also the new classes for user notifications are already done. We also updated a few things with CoreWLAN, QuickTime, QuickLook, QTKit and DiscRecording plugin parts. More will be coming soon.

If you have any additional wishes, don't hesitate to tell us.

Mountain Lion wishes?

I'm working already on new plugins.

Anything you like to have sooner than later?
I want to be ready when Mountain Lion ships.

Please reply directly to me as Mountain Lion is under NDA currently.

Tip of the day: Move to trash

Sometimes I like to move stuff to the trash on Mac and recycle bin on Windows. And this is how you can do it using our plugins:
  Function MoveToTrash(f as FolderItem) As Boolean
#if TargetMacOS then
dim r as FolderItem
dim n as integer = MacFileOperationMBS.MoveObjectToTrashSync(f, r, _

if n = 0 then
Return true // OK
end if
#elseif TargetWin32 then
dim w as new WindowsFileCopyMBS

dim flags as integer = w.FileOperationAllowUndo + w.FileOperationNoErrorUI + _
w.FileOperationSilent + w.FileOperationNoConfirmation
if w.FileOperationDelete(f, flags) then
Return true // OK
end if

End Function
I hope you can use it. The function returns true on success and shows no error messages or confirmation dialogs.

Real Studio versions supported

I'm sorry to report that our Real Studio versions supported table had an error. You can use latest plugins with RS 2006r4 and newer.
Just for Real Studio 2012 there are major changes coming to the plugin SDK and the framework, so you'll have to use latest plugins later this year.
The table is now corrected to correctly show that. The table now suggests to use upcoming 12.3 plugins to be used with Real Studio 2012.

Real Studio Hamburg Meeting

Yesterday we had first meeting with people from Hamburg. The group just started. Currently 11 members, 6 people were expected for the meeting, but only 4 showed up. But anyway, I think everyone was pleased with discussion about Real World, new stuff in the pipeline, plugin news and tips and tricks. Especially about function key handling on Windows, ODBC Database trouble shooting and general key filtering. You can join the google group here if you like to join a meeting in the future.

We'll see, where the next meeting will be: Paris? Munich? Austria? Switzerland? We'll see :-)

c't magazine has article about bringing Real Studio Apps to the Apple App Store

This is a nice tutorial for german speaking people on how to bring their app to the Apple Mac App Store. Thanks to Thorsten Kaltenschmidt for writing this four page long article and thanks to c't for printing it.

I'm curious on the App Store: Did one of you have problems with submitting apps in June so far?

Apple wants to enforce sandbox and not using deprecated APIs, so there could be problems with RS 2011, but that depends maybe who the reviewer is and what framework/plugin functions your app uses.

MBS Real Studio Plugins, version 12.3pr4

New in this prerelease of the 12.3 plugins:
  • Added methods and properties to CURLSMBS/CURLMBS to allow you to have output/header/debug data to be collected and read from properties. This way a lot of people don't need a subclass to store this data themselves in properties.
  • Rewrote OCR plugin with tesseract 3.
  • Added IsReady and Flush methods to StdInMBS class.
  • Changed all Handle Properties back to Integer instead of Ptr due to bug in Real Studio (Feedback case 21100).
  • Added Content and TypeName properties to JSONMBS class for debugging.
  • Added GMImageArrayMBS class.
  • Removed Graphics.HandleMBS. Please use built in functions from Real Studio.
  • Removed some QuickDraw calls from plugin and made default SDK 10.7 on Mac OS X.
  • Updated DynaPDF to version
  • Added Twain plugin.
  • Updated to SQLAPI++ 4.0.1.
  • Fixed NSImageMBS creation to work better on Mac OS X 10.5 and older.
Download: macsw.de/plugin/Prerelease

Real World 2012 Wrap Up

See blog article from Real Software.

Also Bob Keeney wrote ten articles around Real World on his bkeeneybriefs.com blog.

And finally I got an email from Amadeus Hotel in Frankfurt. They now have 4 DSL connections with each 6 MBit/s, so the internet there should be much faster in case we do another conference there.

Fix NSStatusItemMBS to accept all mouse clicks right

You may know we have a problem with NSStatusitems. Check here for details.
Now in a sentence, I think Joe was it, at Real World he mentioned that Carbon apps are marked as being compiled with Mac OS X 10.0 SDK. So Mac OS X tries to behave like that Mac OS X version even, if you are running 10.7. And this causes the problems with have with Statusitems.

Now Joe also posted a workaround for the HTMLViewer text field problem we run into with latest Mac OS X 10.7.4 update. Thanks Joe for this workaround as I got hit with the problem, too.

The workaround given there, also works for our NSStatusItem problem. If you set the default SDK setting for apps to be 10.4 or newer, you can easily get the Statusitem to work again like you expect!

You can set the flag with this:

defaults write com.realsoftware.realstudio "Mac SDK Version" -string "10.4"

and later reset it to default with:

defaults delete com.realsoftware.realstudio "Mac SDK Version"

I also filled a feedback case for this, so please vote on feedback case 21394.

MBS Real Studio Plugins, version 12.3pr3

New in this prerelease of the 12.3 plugins:
  • Added MDItemMBS.kMDItemDateAdded method.
  • Added FSEventsMBS.Running property
  • Fixed XL plugin to no longer return empty objects with handle=0.
  • Fixed PaletteCalculatorMBS.CreatePicturePalette to return 256 instead of 251.
  • Added JPEGExporterMBS.ExportGray.
  • Added NSFileManagerMBS methods for attributes.
  • Added g as NSGraphicsMBS parameter to drawFocusRingMask event in CustomNSViewMBS class.
Download: macsw.de/plugin/Prerelease
The biggest plugin in space...


Jul 2024
Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008