Monkeybread Xojo Plugin Kit version

What does this plugin:

This plugin adds around 81,000 functions, methods and classes to Xojo.
Having grown over the last twenty years this plugin collection covers these main features:

  • Use our XML classes to parse, validate or serialize XML documents.
  • Connect to MongoDB with native classes.
  • Use regular expression with our RegEx plugin using PCRE2 classes.
  • Added Phidgets plugin.
  • Added Scintilla Control.
  • Connect to RabbitMQ server via our plugin.
  • Use our plugins with iOS and Apple Silicon.
  • Enjoy controls for iOS for SceneKit, MapKit and WebKit.
  • Use NSCollectionViewControlMBS control, Apple's implementation of a collection view in Xojo.
  • Use Webview2 control on Windows for a modern browser experience as HTMLViewer replacement.
  • Use Machine Learning on Windows with WindowsML classes and macOS with CoreML.
  • Query GPS Location on Windows.
  • Connect to a Claris FileMaker Server via Data or Admin API.
  • Access Photos Library on MacOS.
  • Connect to SAP systems with RFC connection classes.
  • Show 3D graphics with SceneKit classes.
  • Use LTC classes for time code generation/recognition.
  • Evaluate JavaScript in HTMLViewer on MacOS, Windows and Linux.
  • Run JavaScript without HTMLViewer with our own JavaScript engine class.
  • Use Vision framework for MacOS to recognize barcodes, text, animals and humans.
  • Create digital invoices with ZUGFeRD 2.0 and Factur-X using DynaPDF.
  • Take pictures on iOS with Continuity Camera.
  • Create PDFs with using graphics class in DynaPDF plugin.
  • Use MapKit framework from Apple with our plugin to show maps in your application, show directions and.
  • Use Bluetooth plugin to talk to various Bluetooth devices.
  • Use SSH tunnel to connect to other computers through a SSH server.
  • Use LibUSB library to talk cross platform to USB devices.
  • Use Clipper library to clip polynoms.
  • Calculate with 320bit floating point numbers.
  • Run Javascript without HTMLViewer.
  • Edit word files.
  • Send and receive emails.
  • Format text with markdown engine.
  • Use TAPI functions on Windows to receive calls.
  • Show Maps in your Mac applications using MapKit.
  • Create and Recognize barcodes.
  • Use AVFoundation Classes on Mac OS X.
  • Get pictures from Nikon Camera with our plugin and Nikon's SDK.
  • Extract text from PDF pages.
  • Connect to SQLAnywhere database servers.
  • Access USB devices on Windows with WinUSB class and on Mac with MacUSB classes.
  • Scan images with Twain plugin.
  • Use Mac OS X 10.8 features like user notifications, GameKit and social sharing.
  • Play video on Mac, Windows and Linux using VLC plugin.
  • Get pictures from Canon Camera with new Canon EOS Digital Plugin and Canon's SDK.
  • Record video on Windows using DirectShow plugin.
  • Read and write Excel files with our new XL plugin.
  • Do cross platform color management with LCMS2
  • Integrate Mac OS X 10.7 Lion features in your app like fullscreen, iCloud, StoreKit, pop overs and push notifications.
  • Do better Drag and Drop on Windows.
  • List Mac USB devices and Windows devices.
  • Access the pasteboard on Mac and Windows.
  • Send notifications between different windows in your application.
  • Calculate FFTs and work with complex numbers.
  • Import pictures on Windows from digital cameras with WIA classes.
  • Use Image Capture on Mac to import pictures from Scanners and digital cameras
  • Use the CUPS plugin to access the Mac OS X and Linux print system.
  • Perform Spotlight searches with more options.
  • Use CoreLocation functions in your plugins.
  • Add a serial number system to your application.
  • Perform optical text recognition based on the Tesseract OCR engine.
  • Extact QuickTime movie frames.
  • Perfom DNS lookups in threads.
  • Access to SQL databases (Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL, PostgreSQL and ODBC, SQLite).
  • Use GraphicsMagick power for image editing.
  • Use the Sudden Motion Sensor of your Mac to detect movements.
  • Script various Mac applications like iChat, iMovie and Pages.
  • Work on very large pictures. Use virtual memory if the application memory does not fit.
  • Display overlay windows on Mac and Windows.
  • Use Sparkle to enable your application to automatically update itself.
  • Use Cocoa controls in REALbasic to improve your applications on Mac OS X 10.5!
  • Use latest and best QuickTime functions using QTKit.
  • Use JDBC drivers with the JavaDatabaseMBS class to access databases.
  • Use Windows MAPI functions to send emails using Outlook.
  • Draw professional charts in REALbasic using ChartDirector.
  • Use preemptive threads to increase performance of certain calculations.
  • Use the NSOperation class to perform concurrent operations.
  • Scan barcodes in pictures.
  • Use Cocoa open and save dialogs.
  • Use Sparkle to enable your application to automatically update itself.
  • Use new Mac OS X 10.5 related features like iCal calendar storage, Time Machine related backup functions, PictureTaker panel, Dictionary Service, Slideshows and QuickLook.
  • Run PHP scripts in Realbasic.
  • Use PDFKit classes on Mac OS X to work on PDF files.
  • Access HID USB devices on Mac OS X and Windows.
  • Classes to handle network connections like UDP, TCP and AppleTalk.
  • Classes for DiscRecording on Mac OS X 10.2 with the default Apple GUI.
  • Query the Windows Management Interface.
  • Use the HTMLViewer control with a lot of classes and functions to extend it. Print, Save as PDF, control loading, Javascript and much more.
  • Read and write Colorprofiles form JPEG and TIFF classes.
  • Get events from Apple Remote Control device.
  • Get the current status of iChat and all your buddies.
  • Use Unikey Dongles in Realbasic.
  • Use CURL to download/upload files over ftp, http, ftps, https and many more protocols.
  • Use the Growl Framework for user notifications.
  • Use CPU ID class to detect exact which x86 CPU is in a machine.
  • Parse and create XMP data using the Adobe XMP classes.
  • Synthesize and Recognize speech using Cocoa Speech classes.
  • Perform very fast regular expressions using the RegexMBS class.
  • Use Midi classes for Windows, for Mac OS X or crossplatform (PortMidi).
  • Control HASP, HASP HL and Rockey dongles.
  • Use Tidy to clean up HTML and XML files.
  • Use CoreImage and other Mac OS X 10.4 features.
  • Run Java classes in Realbasic (Mac OS X and Windows).
  • Use PortAudio classes (Mac using QuickTime, Windows using WME).
  • Added ImageMagick classes.
  • Use the Ghostscript library in your Realbasic applications.
  • Rendezvous for Mac and Windows.
  • Classes to use the Stuffit (8.x/9.x) engine.
  • Use the iSEQQuickPDF library on Realbasic (PDF processing on Windows).
  • Classes for 64bit integer numbers.
  • Navigation Dialogs for Mac OS 9 and Mac OS X.
  • Multiple selection file open dialogs.
  • Access to Mac OS X SystemConfiguration framework.
  • Low level AES encryption class.
  • Several Picture effects classes.
  • ATSUI Text Rendering.
  • DVD Playback
  • Statistics on Mac OS X about disc and network usage.
  • Spasum for SPAM detection in email applications.
  • PDFlib 5.x and 6.x.
  • LCMS (Colosync crossplatform)
  • Added QTPictureMovieTrackMBS for creating picture movie tracks.
  • Drag & Drop on Mac.
  • Launch Services Klassen. (Mac OS X)
  • Printer information Klassen (Windows)
  • CoreFoundation XML classes.
  • DNS Resolution on Mac OS X (low level and high level).
  • WebKit can be used to show websites.
  • WeakRefMBS and StrongRefMBS classes.
  • Tablet support on Mac OS X.
  • CoreGraphics Direct Display classes.
  • Support for the Windows IDE (RB 5.2)
  • Custom QuickTime Data Handler to use encrypted QuickTime movies.
  • QuickTime Track class to control the track directly.
  • Launch Services classes and functions
  • CMYK support for JPEG loading and saving (without QuickTime).
  • JPEG transformation (e.g. rotation) without recompressing the JPEG data (JPEGTransformationMBS).
  • Encryption using RC4 and hashes using SHA1.
  • Support for Image Captureing (Scanner and digital cameras)
  • Statusitems (menus near the clock on Mac OS X).
  • Support for the Dock Tile Menu
  • A KeyCodes class for converting ascii chars to key codes.
  • Functions to set the System UI Mode. This can be used to disable Force Quit on Mac OS X!
  • Carbon Events classes for global hot keys and services.
  • A class called Mac Picture to create vector images which you can copy into Apple Works and edit there.
  • Importing pictures using a QuickTime Graphics Importer classes.
  • Support for the notification center on Mac OS X.
  • Quicktime Video and Audio recording.
  • CoreGraphics support to create PDF files on Mac OS X.
  • Support for a Console Window on Windows.
  • Internet Config support.
  • Mac OS X Spell Checking.
  • Functions to manage Mac OS X login items list.
  • Support for transparent document windows on Mac OS X.
  • Detailed information about volumes on Windows.
  • Classes to deal with icons on Mac OS.
  • A class for multi string search.
  • Keychain classes.
  • WakeNotifier to see when your Mac sleeps.
  • Packetsocket for easier socket sending/receiving.
  • Window System Tray class.
  • URLaccess class for easy down- and uploading.
  • IO Registry of Mac OS X for hardware details.
  • Addressbook classes for Mac OS X 10.2
  • (Internet)Shortcuts for Windows.
  • Mac Font managing functions and classes
  • Packet sending Socket.
  • Virtual Memory informations.
  • SCSI Device list.
  • File Downloads using Quicktime.
  • Colormatching crossplatform or using Colorsync on Mac OS.
  • Mouting Apple Share Volumes.
  • Easy Alias handling.
  • Usefull classes for Menu changes, Standardalert, File Permission.
  • HTML Viewer Control
  • Base 64 encode and decode
  • Usefull functions like Screenshot, Networkavailable
  • Streams for files bigger than 2 GB, Resourcefork and a stream in RAM.
  • Endian Functions and Endian methods for the memoryblock class.
  • Compression and Decompression of data and pictures including JPEG, PNG and TIFF files without the need of QuickTime.
  • VideoForWindows class to play movies on Windows 95 and newer without QuickTime.
  • Filemapping
  • Resolution changing from Realbasic including fading.
  • Monitoring of Events inside your application.
  • Access to special folders.
  • Serial Port with up to 230 kBit/s.
  • CRC calculation
  • Several Hardware Information functions and access to the Name Registry. (including drive serial number for hard disks)
  • Extending Realbasics internal classes like Movie, Movieplayer, Memoryblock, Picture and Application.
  • A process class to list the running applications.
  • Classes to access the Windows Registry for loading and storing preferences.
  • Access to Windows' Environment variables.
  • Simulation of keyboard typing (presskey class).
  • Creating and resolving aliases.
  • SharedObjects on Windows to handle multiple launches of your application.
  • Lots of small utility functions...

Price, Buy and License:

Please visit the Plugin website.

How to use your registration data:

You get a name and a serial from us. You are not allowed to give this serial to anybody else. If you do so, your serial will be blocked in future releases of the plugins and you'll loose out technical support. In the IDE you won't need to call the Register method because all functions run in the IDE as a demo. When you built an application in RB, you need to call the Register method of the plugin. Simply call RegisterMBSPlugin with the given name and serial. Note that the serial is entered as an integer number.

e.g.:

if not RegisterMBSPlugin("James Bond", "MBS2003", 50896705) then
   msgbox "The serial is not okay!"
end if

Keep the serial number hidden from hackers!

Please help to make the serial numbers not too easily found in your final application. For example the code from above may be hidden using several strings which build together your name like this:

if not RegisterMBSPlugin("James"+" "+"Bond", "MBS"+"2003", 5089670*10+5) then
   msgbox "The serial is not okay!"
end if

Even better is to encode the name. This example uses base64 encoding. The decodebase64 function is free, so you can use it before you register:

  const jamesbond="SmFtZXMgQm9uZA==" // for James Bond
  const MBS2004="TUJTMjAwMw==" // for MBS2004
  
if not RegisterMBSPlugin(decodebase64(jamesbond),decodebase64(MBS2004),1234*10000+5678) then
   msgbox "The serial is not okay!"
end if

Best is to combine things so your serial number can't be stolen from your application. Because if it's stolen I must block it in the plugin and you need to get a new one which is just work for both of us.

Why is this plugin so big?

In version 4.0 the plugin collection is over 17 MB big. if you take a close look on it using Resedit you can see that there are 130 plugins in one file.

Part of the HTML help is the possibility to browse through the plugin parts and view how big they are and what's inside.

So if you use only one thing from one part of the plugin Realbasic will only place the used part of this plugin into your application. So using Unixpath of folderitem class will cost you 6 kilobyte because only the plugin ID 129 with the Mac OS X stuff is included.

Making an help book:

Some people would like to make the help searchable offline without the Javascript search engine. One way is to make the HTML help an help book.
Steps:

  • First thing is that you need the "Apple Help Indexing Tool" from Apple's developer tools installed to index the help.
  • Open the folder HTML files.
  • Drop the folder Files on the indexing tool.
  • After indexing, open a help folder like ~/Library/Documentation/Help.
  • Open the Apple Help and you should see a new help book called MBS REALbasic Plugin Help.

Demo:

You can try the plugin for free inside the REALbasic IDE. Call the register method with a serial of value 0 to try the plugin in compiled applications. You will see less registration dialogs than without calling the Registration function at all.

Ideas?

Ideas for new plugins are allways welcome. Send your ideas to us and we can decide if this is an often requested plugin or a special plugin just for you.

Copyright notices:

Thanks to Thomas Tempelmann for his source code for his plugins which I carbonized for this plugin.

Thanks to Stephan Huber, who wrote the original stringtopicture function for Mac OS.

Thanks to the Independent JPEG Group's library for JPEG.

Thanks to Thomas Reed for some source code used for making this plugin.

Thanks to Aaron Ballman for his source code fragments.

PortAudio Portable Real-Time Audio Library
Copyright (c) 1999-2002 Ross Bencina and Phil Burk

Copyright of the pnglib:
libpng version 1.0.5 - October 15, 1999
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
Copyright (c) 1996, 1997 Andreas Dilger
Copyright (c) 1998, 1999 Glenn Randers-Pehrson

Quoted Printable encoding based on the qprint utility from John Walker.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)

Mac and the Mac logo are trademarks of Apple Computer, Inc., registered in the U.S. and other countries.

Some plugin parts use the ImageMagick library:
Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization dedicated to making software imaging solutions freely available.

The supersocket plugin part is based on work from James Milne.

The biggest plugin in space...