[ANN] MonkeyBread Software Releases the MBS Xojo Plugins in version 24.1

Nickenich, Germany - (March 12th, 2024) -- Monkeybread Software today is pleased to announce MBS Xojo Plugins 24.1 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 3000 classes and 81,000 documented features, and the versatile plugins have gained more new functions: In our SQL Plugin we have the SQLiteFunctionMBS class to define custom functions for use in SQLite with our plugin. Since we added a path property to InternalSQLiteLibraryMBS module, we can even load our plugin as extension for using custom functions in SQLiteDatabase class, too. Our unicode extension for SQLite got updated for Xojo 2022r4. Beside our NSSpeechSynthesizer class for speech synthesization we added lower level AVSpeechSynthesizerMBS and related classes for macOS and iOS. If you like to check network availability on macOS and iOS, please check the new NWPathMonitorMBS class. Our OverlayMBS class allows you to show custom windows and define the content with a picture including transparency and without the usual OS widgets. We rewrote the mouse handling to allow you to move them by background. You can decide to implement mouse events or have the control ignore mouse events altogether. We rewrote our HIDAPI classes and added a new BusType property to the HIDAPIDeviceInfoMBS class. We added DeviceInfo and GetReportDescriptor functions to HIDAPIDeviceMBS class. We enabled logging for LibUSB on Linux to help finding issues. To support touch events better on macOS, we upgraded our NSTouchMBS class with new properties. The CanvasGesturesMBS class got events to report touch events and NSEventMBS class can report the touches. The parser in DynaPDF got upgraded to report current selection text and report all 4 coordinates for the text, useful for rotated text. The linux libraries in our plugins are optimized for size and lost over 33 MB in total. Our CURLEmailMBS class can send attachment only emails without text and we added methods in EKEventStoreMBS class to better ask for permissions for events. We added character count and string value to NSCharacterSetMBS class for debugging, the MidiThruConnectionMBS class got a find() function, the SCNViewMBS class can request a preferred rendering API or a low power device, the NSProcessInfoPowerStateDidChangeNotification can report a power state change in NSProcessInfoMBS class and we added willShowContextualMenu and didCloseContextualMenu events to 34 controls. Finally we updated DynaPDF to version 4.0.84.246, HIDAPI to 0.14 and SQLite to version 3.45.1. See release notes for a complete list of changes: https://monkeybreadsoftware.de/xojo/newinversion241.shtml If you have questions, please don't hesitate to contact us. The plug-ins requires Xojo 2017 release 3 and newer. While all plug-in parts compile on macOS, Linux and Windows, each function may depend on additional system requirements to work successfully. Only used plugin parts of plugins are added to your application. Plugin licenses are available for components or for the complete collection. Please visit the website store for prices and join us on the next conferences to ask questions in person. Meet us at the MBS Xojo Developer Conference in Germany: https://monkeybreadsoftware.de/andernach The plugins can be downloaded on MBS' website as one big package or several smaller ones: https://monkeybreadsoftware.de/xojo/plugins.shtml The online documentation can be found here: https://monkeybreadsoftware.net/ Located in beautiful Nickenich, Germany, MonkeyBread Software is a privately held company founded in 2000 by Christian Schmitz. MonkeyBread Software focuses on the Macintosh, Linux and Windows platforms. With over twenty years as a software developer, Christian's aim is developing unique and useful utilities, complemented by first-class customer support. Copyright 2000-2024 Christian Schmitz Software GmbH. MonkeyBread Software is a registered trademark of Christian Schmitz, Nickenich. All Rights Reserved. Apple, and the Apple logo are registered trademarks of Apple Computer in the U.S. and/or other countries. Xojo is a trademark of Xojo, Inc. Other trademarks and registered trademarks may be the property of their respective owners. Greetings Christian Schmitz Monkeybread Software

Hi, Are there any examples of using XMLConfigurationMBS.formatprettyprint? The build in Xojo one makes the xml invalid. I'm using their default example XLT which is just to add line endings and tabs. Their xmldocment.transform breaks all the namespaces, moves them from the document root and adds them into all the nodes. I tried an online one with the same (single line) XML data and it worked fine. I've found a forum post form 2013 complaining about exactly the same thing, which was closed in 2020 with no answer. I thought I'd try the MBS one. Regards, Lee

On 21. Mar 2024, at 16:11, Lee Badham via MBS Xojo Plugins
wrote: Hi,
Are there any examples of using XMLConfigurationMBS.formatprettyprint?
Thanks for asking.
Here is a sample:
// parse it
Dim doc As New XMLDocumentMBS("

Hi, I'm getting nice pretty print output, but the first line shows UTF-16 <?xml version="1.0" encoding="UTF-16" standalone="no" ?> The original Xojo xml has <?xml version="1.0" encoding="UTF-8"?> Using this to convert from a Xojo XML to a MBS XML dim doc as new XMLDocumentMBS(xmldoc.ToString) doc.tostring has <?xml version="1.0" encoding="UTF-8" standalone="no" ?> UTF-16 gives a XML schema validation error when I try to verify. Regards, Lee
On 21 Mar 2024, at 17:26, Christian Schmitz via MBS Xojo Plugins
wrote: On 21. Mar 2024, at 16:11, Lee Badham via MBS Xojo Plugins
wrote: Hi,
Are there any examples of using XMLConfigurationMBS.formatprettyprint?
Thanks for asking.
Here is a sample:
// parse it Dim doc As New XMLDocumentMBS("
<f>1</f><f>2</f><f>3</f><f>4</f></test>") // create serializer Dim serializer As New XMLSerializerMBS
// options Dim config As XMLConfigurationMBS = serializer.DOMConfig serializer.NewLine = EndOfLine config.SpaceFirstLevelElements = False config.FormatPrettyPrint = True
// and output to string Dim s1 As String = serializer.writeToString(doc)
// options config.FormatPrettyPrint = False
// and output to string Dim s2 As String = serializer.writeToString(doc)
Break // compare in debugger
It will do the nice formatted one and the compact one. If you set FormatPrettyPrint to true, you may set SpaceFirstLevelElements to false to avoid empty lines.
Best regards, Christian
-- Read our blog about news on our plugins:
_______________________________________________ MBS Xojo Plugins mailing list -- mbsxojoplugins@lists.monkeybreadsoftware.com To unsubscribe send an email to mbsxojoplugins-leave@lists.monkeybreadsoftware.com

On 25. Mar 2024, at 17:41, Lee Badham via MBS Xojo Plugins
wrote: Hi,
<?xml version="1.0" encoding="UTF-16" standalone="no" ?>
Yes. That is a little problem for our XML Plugin. It works internally in UTF-16. When you output to a string, depending on the function, it does UTF-8 directly. But some functions do UTF-16 output and the plugin converts that for the Xojo string to UTF-8. You can for now replace the header line with UTF-8. I'll check the plugin to replace it there and make sure it works. Best regards, Christian -- Read our blog about news on our plugins: http://www.mbsplugins.de/
participants (2)
-
Christian Schmitz
-
Lee Badham