REALbasic is a development tool from REAL Software Inc. Check it out if you're interested in an easy way to develop Mac and Windows software. In spite of the "Basic" name, it doesn't just help beginners get into programming - it also helps experienced programmers get more work done faster. Since coming to work at REAL Software I have found myself doing nearly all of my free-time hacking with REALbasic. It really does make life easier, and I get more working code written in less time when using REALbasic than with any other tool.
But you probably already use REALbasic, or you wouldn't have found this page. This is a collection of plugins and modules that I've written for various projects. They are all free, offered here in hopes that they will save you time in your own work. Feel free to write me email if you have comments or questions.
The PortAudio plugin is a simple wrapper for the PortAudio library. It supports audio input and output from any device installed on your system, at any sample rate, in just about any imaginable audio format.
Download the plugin
Download the source code for the plugin, including the PortAudio library
The SoundOutputStream plugin registers one class, also named SoundOutputStream. An instance of this class will play a buffer of sound samples through your system's default audio output device. The class has an interface similar to the built-in REALbasic Sound class:Class SoundOutputStream Sub Play(buffer As MemoryBlock) Sub PlayLooping(buffer As MemoryBlock) Sub Stop() Function IsPlaying() As Boolean End Class
Download the plugin & example project (63k)
A simple RB project with an edit field and a popup menu. The popup inserts its value into the edit field, and text typed in the field autocompletes from the values in the popup.
Download the project (19k)
There is no standard format for FTP LIST entries, so a server is free to return any sort of listing it wants. A great many formats have arisen over the years and dealing with FTP server LIST responses has become quite messy. The FTPListEntry plugin, based on D.J. Bernstein's ftpparse library, wraps this complexity into a simple REALbasic class.
The plugin contains a class named FTPListEntry, which has the following properties:Source As String
Name As String
IsDirectory As Boolean
Size As Integer
LastModification As Double
Create an FTPListEntry object for each line in the server's response. Assign the line to the object's Source property. The other properties are read-only, and their values will update automatically when you set the Source property. LastModification is expressed in seconds; assign it to a Date object's TotalSeconds property to get the month, day, and year.
Download the plugin for classic MacOS & Carbon (14k)
ID3 tags store an MP3 file's title, artist, album, and track number information. This class reads and writes ID3v1.1 format tags. It has these methods:Read( file As FolderItem )
Write( file As FolderItem )
And these properties:Title As String
Artist As String
Album As String
Year As Integer
Comment As String
Track As Integer
Genre As Integer
Download the class (2k)
The 'mbox' format is the unchallenged standard for importing and exporting email messages. Many email clients even use it as their standard mail storage file format. This pair of classes parses an mbox format file and extracts the headers of each message it finds.
Download the classes (14k)
A simple drop-in splitter control, including cursors.
Download the control (3k)