In this article I want to introduce you the new functionalities from the
MBS Xojo Plugins in version 21.2.
RabbitMQ
Let’s start with RabbitMQ. We add a new RabbitMQ plugin part to wrap the open source RabbitMQ C library and bring the functionality to Xojo.
RabbitMQ itself is an open-source project implementing a message-broker software. It's a server software to do message queues and then there are various clients available to use the services.
We got a couple of classes for you:
The connection class allows to connect and then use the services. This includes managing queues and exchanges, so you can declare a new queue if needed. Then you can send messages to the queue or receive messages. We already got 10 example projects made for you to try the various things by translating a few C examples. Since you can install RabbitMQ yourself on a local VM, you can just try it locally. We include OpenSSL library, so you can use with and without SSL options. As usually the plugin handles memory and error management and hides a couple of low level stuff, especially all the value serialization with arrays, tables and variants.
(more)
Sometimes clients ask what has changed for a specific plugin in the last year. Especially if clients think whether they should renew plugins we sell separate like ChartDirector. There is a lot that changes over time as you can read in release notes:
As you see, quite a few changes in each release are related to one of the four plugins listed separately for release notes.
In general you want to stay up to date and not waste your time hunting for a bug we fixed months ago.
Let us know if you have questions.
Nickenich, Germany - (May 18th, 2021) -- MonkeyBread Software today is pleased to announce
MBS Xojo Plugins 21.2 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 73,000 documented features, and the versatile plugins have gained more new functions:
ChartDirector 7 arrived. We include 17 new example projects to show new features including Treemap chart, Discrete Heat Map, Circular Bar Meter, Multi-Page PDF Output, Huge Data Set Support and High DPI Support. We added
CDViewPortControlBaseMBS class and the new RealTime ViewPort example.
We have a new plugin for
RabbitMQ. This is an open-source project implementing a message-broker software. It's a server software to do message queues and then there are various clients available to use the services. Our plugin wraps the library for Xojo and includes OpenSSL for encrypted connections.
For our
AVFoundation Plugin we added
AVCaptureMetadataOutputMBS class, which allows you to scan barcodes with the camera on an iOS device. For iOS we got an example on how to use Keychain database to store passwords securely.
Our
JavaScriptEngineMBS class can use InitModules method to define modules in JavaScript, which can then be referenced later with require.
We got a new ContainerControl example showing you how to use
NSScrollViewMBS to smoothly scroll a list of container controls. We include Windows support by using a Xojo scrollbar.
For
SQL Plugin we got support in SQLite for ICU libraries and we enabled math and geopoly functions in our
internal SQLite library.
We added new properties to
NSSharingServiceMBS class, so you can for example pass styled text via
NSAttributedStringMBS class to Apple Mail and get a formatted text in the email.
For Windows we got classes for spell checking. Use
WinSpellCheckerMBS class to find available languages, pick one and check for spelling errors in a given text.
Our plugins now include universal library for iOS Simulator for Xojo 2021r1.1. We got a CopyCellValue function for
XLSheetMBS class class to copy cell values within a sheet. We upgraded our
ShellMBS and
WindowsProcessMBS classes for Windows to allow PowerShell.exe to run with them.
Finally updated CURL to version 7.76.1, DuckDB to 0.25, DynaPDF to 4.0.52.146, HIDAPI to 0.10.1, LibJPEG-Turbo to 2.1.0, PortAudio to 19.7.0, SQLAPI to version 5.1.4 with new DuckDB support and our Linux build machine to Ubuntu 18.04.
See
release notes for a complete list of changes.
Recently I implemented
NSCollectionViewControlMBS control for Xojo to have a grid of items based on container controls. But a few days ago we had the need for having just a few containers to scroll on a window in Xojo. You may start to implement this in Xojo with a scrollbar and then move in the ValueChanged the containers up/down as needed. Quickly you may realize you need a wrapping container to clip the scrolling ones properly. But if you loop over containers and change their Top property to move them around, you may quickly see the scrolling not be smooth. We needed something better.
Since macOS comes with a
NSScrollView class, I wanted to use that to push the job of scrolling and redrawing to the OS itself. So we have a Xojo managed inner and outer ContainerControl and slide our
NSScrollViewMBS object between. We put all item containers on the inner ContainerControl, so Xojo may not know about the scrolling and just sees a big container in a smaller one. We configure the scroll view with a vertical scrollbar, some bezel around and a reasonable page scroll value.
When we try this setup, we can scroll smoothly and with mouse wheel support. We get the elastic scrolling with bouncing on the ends (can be disabled). This is fantastic and very smooth.
You may ask about Windows and Linux. Well, this may also be doable, but then with a regular Scrollbar itself. It may be tricky to get the redraw stuff smooth and avoid flicker. But well, I made an example for that, too. Tested on Windows and seems to work mostly with scrollbar controls. Since we only move the inner container up and down and let the container do clipping, it seems to work well with not much flicker.
And once I had that, I merged the two examples into one. Please try it soon as part of the examples coming with
MBS Xojo Plugins in version 21.2pr7 or later. If you have feedback and improvements, feel free to send them back to us, so we can merge your changes into our example.
New in this prerelease of the 21.2 plugins:
- Added ContainerControl List example.
- Updated PortAudio to version 19.7.0
- Fixed problems in WindowsQOSMBS class.
- Updated DNS functions for Windows.
- Updated DLL linking for Windows to direct link functions requiring Windows 7.
- Added newer constructor to NSKeyedArchiverMBS class to allow secure coding.
- Added Archive and Unarchive methods to CKRecordMBS class.
- Fixed issue with CloudKit events for CKFetchRecordZoneChangesOperationMBS and other classes.
- Updated LibJPEG-Turbo to version 2.1.0.
- Added explicit destructors for lots of CloudKit classes to explicit cleanup event handlers.
- Added AVCaptureMetadataOutputMBS class for iOS.
- Added constants to AVFoundationMBS class.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
For everyone watching regularly the
Bitsundso Plus stream, we got a nice utility app (made in my spare time) to download the current episode as video:
You can download current version here:
BitsundsoDownload.dmg
You need to specify the ID and password for the login. Than you specify where the ffmpeg command line tool is and where to store the video file. By default it will be put on desktop. Our tool just performs a login on Bitsundso website, gets the video stream URL, picks the 720p stream and downloads it by running ffmpeg. It shows you progress and opens video file on the end. Settings are saved for next run, so you can just run it every week, when you got the push for the new episode.
We have it in use for years now. With this update Apple Silicon is included and we made adjustments for Big Sur. Great for offline watching.
Have fun!
New in this prerelease of the 21.2 plugins:
- Updated DynaPDF to version 4.0.52.146.
- Fixed a problem with TrueItem() function in FileListMBS not working right for alias files.
- Fixed ShellMBS and WindowsProcessMBS classes for Windows to allow PowerShell.exe to run.
- Added SkipParagraphs parameter for StyledText.RTFDataMBS to speed up conversion.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
The May/June (19.3) issue of
xDev Magazine is now available. Here's a quick preview of what's inside:
More ARM by Marc Zeedar
Xojo's last update in 2020 was impressive, but its ARM support was missing a few elements. Thankfully, 2021R1 has fixed those flaws. Marc updates his benchmarks.
A Programming Black Hole by Markus Winter
Did you know that Xojo has a problem with basic math? Neither did Markus, until he fell down a programming black hole that led him to obscure 32-bit/64-bit oddities.
FileMaker-Like Checkboxes by Vince Du Beau
Vince wanted checkboxes in Xojo like he was used to having in Filemaker—so he wrote his own class to add them.
Holy Cryptography, Batman! by Eugene Dakin
If you're curious about cryptography, here's low-key introduction as Eugene starts a new series of articles beginning with the ancient Caesar Cipher.
Lost in the Woods by Markus Winter
Markus takes a break from his MapKit series to explore... mapping using Xojo's new MapLocation feature. How does it work?
Plus: Xojo 2021R1 new features, App Wrapper review, new PDF drawing, and much more!
Xojo Inc. just announced a sale for their web shop:
Get 20% off all Xojo licenses Today through Friday!
Plus take 20% everything in the Addons Store!
xojo.com/store
This sale includes a few MBS Plugin licenses in the add-on section of the Xojo store. If you like to order directly from us, we may offer the same discount for those new licenses.
New in this prerelease of the 21.2 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.