The OmegaBundle is back for Xojo with 16 products for just $399.
This offer will end 31st March 2016.
Get a bundle before it ends. If just two or three things in the bundle are interesting, you save a lot of money.
New in this prerelease of the 16.2 plugins:
- Updated SQLite to 3.12.0.
- Changed NSAppearanceMBS.setAppearance to accept NSPopover.
- Added timeout for NSAlertMBS class.
- Fixed bug in Picture.TrimWithMaskMBS handling masks.
- Added TaskDialogMBS class.
- Added Picture.CopyPictureMBS function to duplicate picture. (with mask/alpha)
- Added InternalPostgreSQLLibraryMBS module to use PostgreSQL client lib for Linux and Mac which is built into MBS SQL Plugin.
- Added AddSteganographyPictureMBS, SetSteganographyPictureMBS and SteganographyPictureMBS to Picture class.
- Updated Windows to also use latest SSH/SSL.
- Updated CURL to version 7.47.1.
- Added window.WinFlashWindowMBS method.
- Updated DynaPDF to version 18.104.22.168.
- Fixed bug in HIDAPIMBS.getFeatureReport.
We got a new TaskDialogMBS class in the next prerelease. You can use it to show very customizable dialogs on Windows. Beside message you can have several buttons, either standard buttons like OK, Yes, No, Retry, Cancel, Abort or you can define your own buttons and add a checkbox if needed.
You can include a custom icon, footer text with icon and an expandable area with more details. If you like to let the user pick a choice, you can show radio buttons to pick one.
For live updates we have events, so you can react on events while the dialog is open and handle things like clicked links in your message text. Yes, you can enable links and if a link is clicked, you get an event to call ShowURL to open it in a browser.
The example app looks like this:
and we got this dialog:
Now you can also add a progress bar if needed and check a few more options.
New in this prerelease of the 16.2 plugins:
- For the SQL Plugin's MT method we now move the parsing of the SQL into the thread.
- Fixed bug in NSStatusItemMBS.window function.
- Fixed bug with NewCIVectorWithXMBS function.
- Improved ShowDifference for DynaPDF to better recognize smaller changes.
- Changed CURLSEMail.AddAttachment to have file name optional. We can use file name from folderitem.
- Made DarwinIFStatMBS class console ready.
- Updated LibSSH2 to version 1.7.0
- Updated DynaPDF to version 22.214.171.124.
- Added AVMIDIPlayerMBS class.
- Added OpenSSLMBS.GeneratePrivateKey and OpenSSLMBS.GetPublicKey for RSA keys.
- Added WinNotificationMBS Constructor to listen on xojo windows.
- Marked WindowsVolumeInformationMBS to work in console apps.
- Added DynaPDFStackMBS.FontInfo function.
Just a few days left for early bird registration for both the Xojo Developer Conference in Houston, Texas and the MBS Xojo Conference in Koblenz, Germany. Act quickly or pay more.
Our schedule is complete for now and sessions are set. This will be one of the biggest European Xojo conference ever. We already have more than our last conference in Koblenz 2014 and our meetings last year in London and Scheveningen.
Our announcement for the MBS Xojo Conference:
Update: View now the session list for XDC.
Monkeybread Software is pleased to announce the 5th MBS Xojo Conference in beautiful Koblenz, Germany. Once again we meet in the lovely Contel hotel on the banks of the river Moselle. Beside our two conference days we have accompanying social programme with our dinner event and optional two training days. For the evenings we have casual get-together in the hotel bar or beer garden.
We are happy to have Xojo engineers join our conference. Norman Palardy from Canada and Stéphane Pinel from France will be there to talk about Xojo. Jens Boschulte, our PDF specialist and creator of the DynaPDF library will be available for questions. And of course we have a few other well known Xojo developers coming.
May 17th: Xojo Training in English
May 18th: Xojo Training in German
May 19th: Conference, first day with dinner event
May 20th: Conference, second day
Registration is open. Attending the conference costs regularly 299 Euro plus VAT, including food and beverage in the Contel Hotel on the banks of the river Moselle as well as an accompanying social programme.
The early bird offer available till 19th March 249 Euro plus VAT.
Sessions are to be held in English. Our conference is conceived as a networking event. The conference is an ideal opportunity for sharing your thoughts and your own development experience with fellow users and developers. If you like to hold a presentation, please contact us as soon as possible. Speaker receive discounted tickets.
Registration and more Information. Training days in German and English. For any questions, please contact me directly.
Tonight we had a nice meeting in Cleveland area with a few Xojo developers at The Greenhouse Tavern:
Thanks for joining and see you next time at Xojo Developer Conference in Koblenz or Houston!
Recently I got asked about some statistics. So from downloads, feedback and sales we can tell you that we have a few Xojo developers in our customer database. About 73% of them use Mac and 27% Windows (Linux is not counted separately). We know that something like 90% of you use Xojo 2015 versions as our Real Studio plugin downloads are far down to what they were years ago.
We now sell to 74 countries/territories. The top nine are:
- 38.3% USA
- 12.3% Germany
- 7.4% United Kingdom
- 4.5% Italy
- 4.2% France
- 3.6% Australia
- 3.3% Canada
- 3.1% Netherlands
- 3.0% Japan
In general distribution follows where people live who can read english documentation, afford plugins and have programming skills.
What makes me sad is that a lot of you stay with older versions. Especially when I get support emails about issues which are fixed for months. Please avoid running in fixed bugs, security problems or missing features by using recent plugins. And if something doesn't work, check documentation of the plugin version you have. Because the documentation on website is for latest version and some things may have changed.
It's once again 14th March and Xojo runs a promotion.
If you need a new license (or an update?), you could try the coupon code PIDAY16 today or tomorrow.
This should save 14% on licenses.
In general I watch for coupons and if you need one, you can of course ask me to email you if I see one.
PS: Programmers day is this year 12th September 2016.
Tonight we had a nice meeting in a steakhouse in Chicago area with a few Xojo developers:
Thanks for joining and see you next week in Cleveland!
Did you see the announcement of Microsoft SQL Server on Linux?
Announcing SQL Server on Linux
The good news for us is that we provide support for Microsoft ODBC Driver 11 for SQL Server on Linux x86-64 since SQLAPI 4.1.1. This SQLAPI version has been in MBS Plugins since three years (Xojo Plugins since version 13.2 and FileMaker plugin since at least 5.0)
So when you find your first copy of SQL Server running on Linux, please try our plugin to connect.
NICKENICH, Germany (March 8th, 2016) -- Monkeybread Software releases version 16.1 of the MBS plug-in for Xojo and Real Studio.
The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,200 classes featuring over 58,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console including 64-bit and ARM targets.
Some of the highlights on the 16.1 update:
For our SQL Plugin we have a few enhancements: First we now propagate more options set from connection level down to individual command object, e.g. HandleResult option for MySQL. This allows you to set an option on the connection and automatically apply it to all sql commands. The new SQL Plugin allows to cache a result set in memory on the client. This allows you to scroll forward and backward through results even if the underlaying database engine does not support this.
For SQLite we can now set the busy handler to yield time to other threads if one is blocked for SQLite query. Same applies to the data consumers and provider classes for reading/writing blob values. The prepared statement in our SQL Plugin now understands question marks as placeholders. This makes the transition of code using official Xojo database plugins to our plugin more easier. Finally you can now easier get the native api object for a SQLDatabaseMBS object.
Our CURL plugin can send emails with attachments and inline graphics. We now can add attachments directly from a folderitem. The new clear methods can be used to recycle emails, e.g. to send them to another recipient without creating a new email.
We rewrote the WindowsPlayerMBS class, so you can now use more options. For example you can play now mono and stereo files in different bitrates and sample rates. Another use is to open the audio file and just get the decompressed samples as memoryblock for analyzation.
The FileListMBS class is an excellent and speedy way to list files in a directory. Much faster than using folderitem alone. We rewrote the class and added linux as target so you can now use it for Raspberry Pi or your web projects.
You can now run linux commands as root using the new LinuxSUMBS class. We got better error handling in JSON class, improvements for our overlays, new mount/unmount commands for Mac, a hide tooltip function for Windows, new DNS Record query function and much more.
Finally we updated SQLAPI++ to version 4.1.7, DynaPDF to version 126.96.36.199, OpenSSL to version 1.0.2f, SQLite to 3.11.0.
See release notes for a complete list of changes.
The DynaPDF Plugin is available as part of the OmageBundle for Xojo 2016.
If you have questions, please don't hesitate to contact us.
Nickenich, Germany - Monkeybread Software today is pleased to announce the release of Transparent Screensaver 2.4, an update to their popular screensaver utility for Mac OS X. The utility adds a variable transparency overlay screensaver to the list of screensavers in Preferences. With the screensaver running at 50% the effect is one of dimming the desktop and all open windows; 0% is black; 100% is completely transparent. With the screen lock option engaged, the user can continue to view their iMessage Buddy List, iTunes Library, or any open process or window, while waking their computer from screen saver mode is password protected.
If the user wishes to remain logged in to their computer, but prevent others from using it, he can lock the screen. This is done in System Preferences - Security - General. By selecting "Require password to wake this computer from sleep or screen saver," password authentication will be necessary to leave screen saver mode. With Transparent Screensaver the user can continue to view the desktop and all open windows while the computer remains inaccessible to others, screen locked.
- Transparent screensaver dims screen
- Screen may be locked in transparent screensaver mode
- Screen may be monitored while computer is inaccessible in screen saver mode
* Prevents burn-in, maintains privacy, and protects security
- Simple to use and install utility
"MBS Transparent Screen Saver is an ideal solution to privacy, security, and burn-in issues in Mac OS X," stated MBS CEO Christian Schmitz. "It incorporates all the benefits of a screensaver, while preserving screen visibility."
- Mac OS X 10.5 or later
- 242 KB
MBS Transparent Screensaver 2.4 for Mac OS X is currently available as shareware, which is free to test for 30 days. A license is available from MBS for 15 US Dollars, or 10 Euro. Review copies are available on request. This update is free for all registered users.
When you go to Xojo Developer Conference early October, be sure to add a few extra days to visit the area.
Beside the malls, zoo, aquarium and museums, there are a few things you may want to check out.
There is battleship Texas available for visit:
On Mac OS X you can launch an app in terminal with other language. You pass the whole app path to the executable in the terminal and include an extra parameter called AppleLanguages.
For example in German:
/Applications/FileMaker\ Pro\ 17\ Advanced/FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
To know the language IDs that work, you can check in the resource folder of the app what languages are available.
For FileMaker 14, you find: de, en, es, fr, it, ja, ko, nl, pt, sv or zh-Hans.
New in this prerelease of the 16.1 plugins:
- Updated DynaPDF to version 188.8.131.52.
- Added MacMountServerVolumeMBS and MacUnmountVolumeMBS.
- Added NSStringArraySortMBS function.
- Fixed bug in SQL plugin with multithreaded message tracing. Introduced in pr3.
Sometimes you need to upload a file to FTP/FTPS/SFTP server, e.g. upload a backup. The following script does that and can run even on a FileMaker server:
Set Variable [$curl; Value:MBS("CURL.New")]
# Path to the input file with data to upload
Set Variable [$result; Value:MBS("CURL.OpenInputFile"; $curl; "/Users/cs/Desktop/test.jpg")]
# Set upload options
Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "ftp://monkeybreadsoftware.de/test/test.jpg")]
Set Variable [$result; Value:MBS("CURL.SetOptionUpload"; $curl; 1)]
Set Variable [$result; Value:MBS("CURL.SetOptionPassword"; $curl; "secret")]
Set Variable [$result; Value:MBS("CURL.SetOptionUsername"; $curl; "account")]
# Run Transfer
Set Field [CURL Test::Result; MBS("CURL.Perform"; $curl)]
# get log
Set Field [CURL Test::DebugMessages; MBS("CURL.GetDebugAsText"; $curl)]
# and clean up
Set Variable [$result; Value:MBS("CURL.Cleanup"; $curl)]
As you see we pass in an URL for the ftp upload. Depending on whether we use ftp:// (unsecure), ftps:// (ftp with SSL) or sftp:// (ssh), we get the protocol for the URL. If you need to upload a container, you can use CURL.SetInputFile or for text the function CURL.SetInputText. Don't forget to include in the URL the new file name on the target.
Other interesting options here are CURL.SetOptionFTPCreateMissingDirs for creating missing directories, CURL.SetOptionConnectionTimeout for setting connection timeout and CURL.SetOptionPort if your server doesn't use the standard port for the protocol.
Ulrich Bogun and I talked about his session and we had a few ideas. The iOS Declare session is currently in the schedule, we are not sure if that is the right topic, so we start another voting. Which session would be your favorite?
1) Digging Deep into iOS Declares
While a variety of plug-ins and modules extends Xojo's iOS features widely, there is still a vast unexplored terrain of API functions. So what if you need to create your own declare framework? How do you use iOSBlocks for custom methods? How do you receive an complex return value from the system on a background thread and forward it to the main thread? I'll be using iOSLib for this presentation of course, but it will not be a prerequisite for practice.
2) Make Tables Fly With NSTableView
Xojo's listbox is a masterpiece of simplicity when you compare it to its native OS X class, NSTableView. On the other hand, the TableView offers customization features and high speed database access no matter how many records it has to handle. In this lecture, I'll give an introduction into the use of NSTableView in connection with a SQLite database.
3) A View on Views
A look into Xojo's library tells you: There are a lot of different controls. But are they that different? In this lecture, we'll discuss the principle of views as in OS X' NSView and iOS' UIView, how the multi-talented canvas is indeed the most basic view - but much more versatile than you might have expected - and how you can easily use animation and other system features to enhance the optical appearance of your iOS or OS X app with just a few lines of code.
4) EasyQLite: An Object Oriented Approach to Databases
The deprecation of FileMaker's ability to build stand-alones raised Xojo's attractiveness for database developers. While the change to Xojo multiplies the developers' range of possible application by numbers, he has to study a database language first, which he did not have to necessarily when using FileMaker. In this session I'll explain an object oriented approach to SQLite and how it can be used to build FileMaker-like controls.
Please vote here in our survey. If we have two winners, Ulrich said he could make two sessions or one with two topics. We'll see what you guys prefer here!
Join now and get our early bird pricing. Registration and more Information. Training days in German and English. For any questions, please contact me directly.
New in this prerelease of the 16.1 plugins:
- Updated Sparkle to version 1.13.1 for 64-bit.
- Fixed bug with SQLDatabaseMBS.LastStatment property.
- Added WinHideTooltipMBS function.
- Changed SQLDataProviderMBS and SQLDataConsumerMBS to yield time to other threads.
- Fixed memory leak in SQLDataProviderMBS class.
Nickenich, Germany (March 2nd, 2016) -- Monkeybread Software releases version 2.0 of the MBS Updater Kit
The MBS Updater Kit helps you in adding an automatic update feature to your application.
Version 2.0 improves the Kit for use with Xojo.
- Crossplatform update engine for Mac OS X and Windows.
- Full Source code access.
- Using Sparkle on Mac OS X for updating and our own code for Windows.
- Includes all code and help to setup Sparkle for Windows.
- Includes script file for Inno Setup engine. (you can use others if you like)
- Using digital signatures on Mac and MD5 Checksum on Windows to ensure download integrity.
- Includes generator for XML file for your server and code to parse this file and find newer versions.
- Sparkle now resizes in Frameworks folder for better code signing compatibility.
- Added CURL support for downloading on Windows. This allows client SSL certificates, proxies and HTTP/1.1.
- Fixed minor bugs with load/save preferences in case you run on Linux and we want to avoid RegistryAccessErrorException.
- Updated to Sparkle 1.13.1
- Can work for 64-bit targets, too.
- Can download Linux installer, too.
(Complete Set recommended)
The Updater Kit is available for $99 USD or 79 Euro (+VAT if needed).
You can learn more and try the sample application on our website.
The March/April 2016 (14.2) issue of xDev Magazine is now available. Here's a quick preview of what's inside:
- Fun With Fonts * by Marc Zeedar
Fonts in Cocoa are grouped into families, but Xojo doesn't let us know about their members (styles). Learn how to work with Cocoa fonts in Xojo.
- Making Better Examples * by Markus Winter
There's an art to making coding examples that beginners can understand and yet are still sophisticated enough to be useful. Markus shares his opinions.
- Retina, Retina, Retina * by Sam Rowlands
Did you know there's a wrong way to do Retina? Sam shows how to do it the right way, the Apple way, and it's actually less work than doing it yourself!
- Designing Data-Oriented Pop-ups * by JC Cruz
Xojo has a limited support for complicated popupmenus, such as comboboxes. JC shows how to create a more powerful widet.
Nickenich, Germany (March 1st, 2016)
Monkeybread Software releases version 1.2 of the MBS Xojo Bug Reporter Kit
The MBS Xojo Bug Reporter Kit helps you reporting bugs in your applications back to you, the developer. The new version improves the Kit by using newer plugin features and is tested on 64-bit.
- Crossplatform Bug Reporter engine for Mac OS X, Linux and Windows.
- Full Source code access.
- Collect bug reporter data and send to server for delivery as email (or insert to database)
- Handle unhandled exceptions. The plugin reports the exception class name and message.
- Find Mac OS X crash reports and report them.
- Run bug reporter for feature request.
- Catch Windows System Exceptions.
- Catch Signals on Mac OS X and Linux.
- Catch unhandled C++ exceptions.
- Catch Cocoa Exceptions
- Localized for English, Italian, French and German.
New in Version 1.2:
- Added french translation.
- Updated for Xojo
- Now checks if app is not nil as a crash on quitting may have app = nil.
- Added SignalHandler to gracefully quit on Killing
- Added low level exception and signal handlers to log crashes.
- Added StackOverflowChecking Pragmas to avoid problems if for some reason exception is caught on non Xojo thread.
- Added special handling for unhandled Xojo exception caught on a Xojo thread.
- Works on 64-bit, too.
The Bug Reporter Kit is available for $69 USD or 49 Euro (+VAT if needed).
You can learn more and try the sample application on our website.