Our Blog, FileMaker only, Xojo only, Archive (older)     Follow us on Twitter, Xing, LinkedIn or Facebook.

MonkeyBread Software Releases the MBS Xojo Plugins in version 21.0

Nickenich, Germany - (January 19th, 2021) -- MonkeyBread Software today is pleased to announce MBS Xojo Plugins 21.0 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 2800 classes and 72,000 documented features, and the versatile plugins have gained more new functions:

In this release we include plugins for iOS and Apple Silicon. All plugins have been compiled for the new CPU type from Apple. Over 300 plugin parts are ported for iOS and work well. We created a few new example projects for iOS, but usually you can copy & paste code from desktop to iOS projects. We start with new iOS controls for SceneKit (SCNIOSControlMBS), MapKit (MapKitIOSControlMBS) and WebKit (WKWebViewIOSControlMBS). Those iOS controls are nearly identical to the Mac desktop controls, except they now work on iOS.

For macOS the new NSCollectionViewControlMBS control provides access to Apple's implementation of a collection view. This is the control used in applications like Photos or Finder to show a grid of files or photos. You can use container controls in Xojo to provide the views. The control comes with 10 more classes like NSCollectionViewMBS class.

On Windows you can report errors with WindowsReportErrorMBS class to the Windows error log. For WebView2 you can run JavaScript synchronously with ExecuteScriptSync in our WebView2ControlMBS control. The WindowsExecuteMBS function can now minimize the new application you call with ShowWindow parameter. We updated IEDocumentMBS and IEWindowMBS classes to allow you to query frames content. For DirectShow we added more methods to our DirectShowPinMBS class.

On macOS you can run can now manage the contextual menu with new events in WKWebViewControlMBS control. For AVFoundation's AVAudioEngineMBS class we added functions for manual rendering, so you can convert audio files without playing them in real time, but faster.

DynaPDF got updated to newer version and this includes the new GetTypoLeading method. The DynaPDFMBS class now counts errors and warnings, so you can check on the end whether an error happened in-between. We let you pass leading parameter (line spacing) for converting styled text from TextArea or StyledText class to DynaPDF syntax.

The MemoryBlock class got new bit set functions. The MarkDown functions now handle foot notes. The FileMappingMBS class can now handle shared memory views with over 2 GB in size for 64-bit systems. The HTMLToPlainText function in MimeEmailMBS class is improved to better convert HTML to text.

Finally we updated SQLite library to version 3.34.0, curl to 7.74.0, DynaPDF to, SQLAPI to 5.1.3 and Xcode to version 12.3.

See release notes for a complete list of changes.

MBS Xojo Plugins, version 21.0pr8

New in this prerelease of the 21.0 plugins:
  • Added ShowWindow flag for WindowsExecuteMBS method.
  • Added AcceptTabs property to WKWebViewControlMBS control.
  • Fixed ChartDirector to not need Visual Studio 2019 runtime libraries.
  • Fixed problem with WordFile functions and some Word documents with older encodings.
  • Added more methods to DirectShowPinMBS class.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Visual Studio 2019 dependency

We moved earlier in August 2020 to the newer Visual Studio version 2019 to build our plugins. All our Windows plugins are now build with that version.

But there was/is one problem: Some of the plugins got a new dependency to VCRuntime140_1.dll, which is part of the Visual Studio 2019 runtime libraries. That is annoying since it requires all our users to install those libraries. It would be much easier to not have that dependency and be only relaying on the Visual Studio 2015 libraries. Those are required for FileMaker Pro/Server as well as Xojo and so preinstalled with installing those. And Windows 10 comes with those libraries pre-installed as well.

For MBS Xojo Plugins 21.0 we removed the dependency and we are looking forward to keep all newer versions for at least this year free of the VCRuntime140_1.dll dependency.

For 21.0pr7 we fixed this for WebView2, WindowsHTMLViewer, WindowsStore parts in MBS Xojo Win Plugin and MBS Xojo XMP Plugin. The last plugin to get fixed is MBS Xojo ChartDirector Plugin, where we are able to remove the dependency for next pre-release 8 and the final release next week.

Let us know if you have some questions about this. Please try pr8 later this week.

MBS Xojo Plugins, version 21.0pr7

New in this prerelease of the 21.0 plugins:
  • Added Frames function for IEDocumentMBS and IEWindowMBS classes.
  • Added Document property to IEWindowMBS class.
  • Added GetTypoLeading method for DynaPDFMBS class.
  • Fixed CMap loading problem with DynaPDFMBS class on macOS and Linux.
  • Fixed WebView2, WindowsHTMLViewer, WindowsStore and XMP plugins to not need VS 2019 runtime libraries.
  • Added messageDrainControl and OwnerControl properties to DirectShowVideoWindowMBS class.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Academic licenses for MBS Plugin

Not sure if you know, but for about 20 years already we offer academic discounts for students learning to program. Both our FileMaker and Xojo plugins are available with academic discounts including DynaPDF licenses.

Recently we cleaned up our order pages, so academic prices are no longer listed. This basically cuts the list of store items by half for us. It's much easier to provide you with a coupon code to order and use the same website as everyone else.

If you are interested in an academic license, please contact us via email and provide a proof of status. That may be a copy of a university or school identity card. For young people below age of 25, we may just accept a proof of birth date.

Over the years we got quite a few students, some of which grown up to now use full commercial licenses for their work. From time to time we also granted academic status to retired, unemployed or other people, who asked for this with a compelling reason.

Please note that an order for an academic license from a company doesn't usually work. We expect companies to buy commercial licenses. Same if you receive any compensation for your work.

For Non-Profit organization supporting humanity, we also provide a discount on request.

Please don't hesitate to contact us if you have questions.

DynaPDF Optimize command

As you may know we have a great Optimize command for DynaPDF. You can use it on PDF documents in both FileMaker and Xojo plugins. Over time the command got more and more powerful and we like to write here about some of the features.

In general the function rebuilds the content stream of all pages, templates, patterns, annotations, and form fields. This may remove errors in the content stream and produce a consistent document.

When you specify the flags, the default flag value (0) just rebuilds the content stream and fixes errors. You may specify "InMemory" to have changes made in a way, that the PDF is in memory and not flushed to the current output. Normally you may not notice the difference, but if you like to continue writing to the PDF, the memory flag is needed.

Scale images

The Optimize function can reduce the file size of PDF files. You can pass the ScaleImages flag and then all images are checked. You can define a minimum and target resolution for images. All pictures with at least the minimum resolution are checked. This avoids that we look on icons for example and only process pictures with a significant resolution. DynaPDF scales the images down to the target resolution and compresses them with the compression algorithm you specify, usually JPEG. If the final picture is smaller in size, we store it, otherwise we keep the original image. The reason is that often one bit tiff images can be smaller than a reduced resolution JPEG file.

You can pass flag SkipMaskedImages to skip masked images as JPEG compression may not work well with pictures, where a specific color is used to mark transparency. The check whether new picture is smaller than original image can be disabled via NoImageSizeCheck flag.

If you like to get images compressed with JBIG2, you can use CompressWithJBIG2 flag. This can drastically reduce the file size since JBIG2 compression achieves much higher compression rates than any other 1 bit image filter that PDF supports. The JBIG2 compression filter in DynaPDF is lossless, that means the original image quality will be preserved. Great to combine with ConvertGrayTo1Bit flag discussed below.


Adding leading factor for converting styled text

When you output styled text via MBS Plugins and DynaPDF, we convert the styled text for you in commands for DynaPDF. For this conversion we recently added a leading factor to define the line spacing based on the font size. You can still define leading (distance between two base lines) in points if you like, but the relative measure to font size is probably better for a lot of cases. Of course only makes an effect if font size changes within a text.

For FileMaker we added LeadingFactor parameter to DynaPDF.ConvertStyledText, DynaPDF.WriteStyledText and DynaPDF.WriteStyledTextEx functions.

For Xojo we added LeadingFactor parameter for WriteStyledText, WriteStyledTextEx and ConvertStyledText methods in DynaPDFMBS class. The default value for the new parameter is -1, which allows us to detect whether you use the parameter.

For all the functions, please pass nothing (omit parameter) or zero for automatic behavior like it used to be: Leading being the font size. You can pass a factor like 1.2 or 1.5 to increase line spacing as needed.

Available in current pre-release. Please don't hesitate to contact us with your questions.

MBS Xojo Plugins, version 21.0pr6

New in this prerelease of the 21.0 plugins:
  • Updated DynaPDF to version
  • Added manual rendering functions to AVAudioEngineMBS class.
  • Fixed a memory leak in WordFileMBS class.
  • Added LeadingFactor parameter for ConvertStyledText, WriteStyledText and WriteStyledTextEx in DynaPDFMBS class.
  • Changed DynaPDFMBS to not raise exception if WriteFText function is cancelled.
  • Revert workaround for universal plugins in Xojo 2020r2. Please use Xojo 2020r2.1 now for building universal apps.
  • Changed plugin class registration to skip desktop controls for iOS and iOS controls for Windows/Linux where you can't build for iOS.
  • Disabled AVCaptureDeviceInputSourceMBS class for iOS.
  • Fixed an issue with SQL plugin connect to MySQL when server doesn't know utf8mb4 text encoding.
  • Added isiOSAppOnMac property for NSProcessInfoMBS class.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Becoming Xojo MVP

Today Xojo Inc. asked whether I want to join their MVP Program.

Well, as a close contributor to the Xojo community for over 20 years, there was no hesitation to join the opportunity this gives.

Beside the honor of being recognized as a valuable member in the community, this may bring a few communications privileges. Like a place to chat with Xojo people directly, but now under NDA, so it may be about different topics. Not sure yet whether this comes with any feedback or forum privileges.

As a new member of the informal advisory committee, I am keen to see what Xojo Inc. will present to MVPs ahead of development and launch. Especially getting an insight into future projects in planing and alpha state may be good to advise the company about what they are about to implement. One thing to monitor over years is whether such an advisory board (or call it a partner council) actually has an effect on the course of action. Not just being informed early and say our opinion, but actually to have the company change their plans for the better after a discussion.

We'll see how well it works out. I may invite all the other MVPs to a dinner in London around the next Xojo conference for a discussion about the program.

Thanks for Gavin for his time on the board. And thanks for the MVP and staff members, who voted for me to be invited.

xDev 19.1 Issue

The January/February (19.1) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

Moving to Apple Silicon by Marc Zeedar
Apple has just revolutionized the PC desktop with a major leap ahead in performance, power efficiency, and value by introducing their own CPU architecture. But just what does Apple Silicon mean to the Xojo developer?

Working with Workers by Marc Zeedar
Writing multi-core apps in Xojo has traditionally been difficult. Now Xojo introduces Workers, a system that lets Xojo do the heavy lifting so you can take advantage of a multi-core CPU. Learn how to use them to speed up your app's processing power.

Get Ready for Git (Part 2) by Justin Elliott
In part 1, Justin showed how to install, setup, and use Git. This time he demonstrates how to use Git with your Xojo projects, track changes, manage branches, fix sync conflicts, and more.

MapKit (Part 8) by Markus Winter
Markus shows how to further customize annotation views in Apple's MapKit in Xojo.

PLUS: MacBook Air M1 review, creating gradients with Xojo, Xojo 2020 Release 2, Best of the Web, and more!

Two years junior developer at MBS

Two years ago I had my first working day at MBS.

Today I have the opportunity to résumé about these two years. I have learned a lot in this time, especially I got to know the programming language Xojo and the FileMaker platform and was allowed to realize some exciting projects. I also wrote some articles for the German FileMaker Magazine (see here) and the Xojo Developer Magazine. I also gave presentations at conferences on- and offline.

2020 was a very special year in which we all outgrew ourselves and had to find new solutions for problems that were unprecedented until then. Digitalization got the 7 mile boots on and home office was the new work routine for many. I was able to learn a lot in the last two years. Not only technical knowledge, but I also got to know many kind and interesting people and was allowed to work with them. I would like to thank all of you who have welcomed me so kindly into the community. I am looking forward to many new and interesting exchanges in the next few years, hopefully some of them will take place offline again.

I wish you now a happy, successful and healthy year 2021!

Yours truly Stefanie Juchmes

MBS Xojo Plugins, version 20.6pr5

New in this prerelease of the 20.6 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Convert PDF text to outlines

A long term project came to delivery just before Christmas 2020:

DynaPDF got a new feature to convert texts to outlines. And it's just a new flag for the Optimize function: ConvTextToOutlines.

The benefit of this conversion is that you can send the PDF to a printer shop and be sure that it will look exactly as you need. No font trouble, no missing fonts and no font rendering issues.

Please note that the process is not reversible. Once the text is converted, the text is gone. Just the look of the text stays, so you need OCR to convert it back to text. Copy & Paste is not possible for outlines, but for some uses this may be desired.

To show you what outlines means, we made this picture:

Based on our GlyphOutline example, we made a variations, which would change color for each line in drawing a character. This way you see the individual segments.

Please contact us if you have questions about DynaPDF, especially when using it with FileMaker or Xojo projects. This feature is available free of charge for all customers with a DynaPDF Pro license valid at least till 23rd December 2020 to include version For MBS plugins, we included it in pr4 and will ship final plugins in January.

Tax changes for 2021

We have upcoming tax changes in Germany, Ireland and the United Kingdom.

United Kingdom

Since the United Kingdom leaved the EU, the EU VAT rules don't apply any more from 1st January 2021. Orders will have to go through the web shop in future and always charge the VAT of currently 20% for customers from United Kingdom.

There is an exception for Ireland. The northern part is in United Kingdom, but still applies the single market rules. So for us the whole island of Ireland is part of the European Union in relation to VAT handling.

We may still be able to write VAT free invoices to businesses (Reverse-Charge) for clients in the United Kingdom, but may need a proof from you for that. A confirmation from HM Revenue and Customs about your company's status as being VAT registered in the United Kingdom may be enough. Having a VAT ID is no longer sufficient alone.

We avoid having to register in individual foreign countries like the United Kingdom. That's one of the key benefits in VAT handling of the EU, that a registration in one country is good for 27 countries.

Clients from United Kingdom can order with old rules within 2020 to get licenses setup before changes apply.


The VAT rate in Germany changes back from 16% to 19%. If you are a person (not a VAT registered company), you can still save 3% tax if you buy in 2020. VAT registered companies reclaim VAT, so there is no benefit from a lower rate.


The country of Ireland temporarily decrease their VAT rate from 23% to 21%. The changed tax rate will be effective from September 1, 2020 until February 28, 2021. Customers in Ireland may order their licenses before 1st March 2021 to benefit from lower tax rate.

Let us know if you have questions. The whole tax scheme is subject to changes as newer laws are passed in parliaments.

Xojo in Quarantine

From time to time customers complain that Xojo doesn't load plugins. This may include MBS Plugins as well as the included database plugins with Xojo. The reason is simply: Xojo got downloaded from the internet, it gets put in quarantine. But when installing Xojo into your applications folder, the Finder is supposed to remove quarantine. But well, it may not always do so.

When Xojo is quarantined, it can't access the local plugins folder, so the about dialog will be empty:

Merry Christmas

Frohe Weihnachten und ein gutes neues Jahr!

Merry Christmas & Happy New Year

Joyeux Noël et Bonne Année

Buon Natale e Felice Anno Nuovo

Franziska, Sebastian, Michael, Monika & Christian Schmitz

MBS Xojo Plugins, version 20.6pr4

New in this prerelease of the 20.6 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Plugin installation for Xojo on Windows and Linux

You may know that recent Xojo versions stopped building for macOS from Windows and Linux. Mainly because Apple's tools to link executables and do code signing are not available for other platforms. See Why building apps for macOS requires a Mac on the Xojo blog or Xojo and cross compiling for macOS in Norman's blog. There is not much to gain with installing macOS only plugins on Windows or Linux to develop in Xojo IDE.


Three new controls for iOS in Xojo

As you may know, the next version of MBS Xojo Plugins is about getting most things to work on iOS. We ported our HTMLViewer replacement WKWebViewControlMBS, the ScenesKit control SCNControlMBS and the map viewer MapKitViewControlMBS control.

So here are screenshots from SCNIOSControlMBS, MapKitIOSControlMBS and WKWebViewIOSControlMBS controls:

iOS Controls

On the way here, we updated MBS Xojo MacFrameworks Plugin to work on iOS in most parts.

This brings you also UNNotification classes, CoreLocation classes, the BlockMBS class, MapKit classes, SpeechRecognizer classes and NSURLSessionMBS class.

Let us know if you have questions or suggestions.

MBS Xojo Plugins, version 20.6pr3

New in this prerelease of the 20.6 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Older blog entries:

2020-12-21 MBS Xojo Plugins Installation
2020-12-16 Pay Later Option Now Available for US Customers
2020-12-16 MacOSX plugin for iOS
2020-12-15 Two weeks till year's end
2020-12-15 Xojo 2020r2.1 arrived
2020-12-14 Christmas surprise packages
2020-12-08 MBS Xojo Plugins, version 20.6pr2
2020-12-08 DynaPDF Licenses now include iOS
2020-12-02 MBS Xojo Plugins, version 20.6pr1
2020-11-30 ChartDirector and DynaPDF for iOS
2020-11-29 Cyber Weekend Deals
2020-11-28 All about EndOfLine
2020-11-26 Thanksgiving Sale
2020-11-26 Use Text Finder for TextArea in Xojo
2020-11-24 Xojo 2020r2 arrived
2020-11-24 Black Friday coming soon
2020-11-23 News from the MBS Xojo Plugins Version 20.5
2020-11-19 The VariantTypeString function for Xojo
2020-11-17 MBS Xojo Plugins in version 20.5
2020-11-17 Boolean Variant Optimization in Xojo


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
XML: RSS Feed XML: Atom Feed