A Proto-Type Mac OS

Posted on  by
  1. A Proto-type Mac Os Operating System
  2. A Proto-type Mac Os Model
  3. A Proto-type Mac Os X

## Mac-Project: This is a simple prototype of the Windows Project ported to work on Mac OS. It is using XCode and C. The Mac project works on M1 and Intel macs.-Only mouse input and video stream are supported. Nothing else.-It only works with the v0.8.1 Switch app.-No gamepad support. This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

Background

This is a software MIDI interface designed to accept serial data from an Arduino board and convert it into MIDI drum data in OS X. The application acts as a bridge between sensors connected to the Arduino board and applications such as GarageBand or Logic without requiring additional MIDI hardware. All data is transferred directly over the USB connection and no additional power source is needed.
  • In the last couple of months, there are good deals on used AMD GPUs. One of the cards on my wishlist was the WX 4100.It's the Radeon Pro version of RX 460/560. These cards have native macOS eGPU support as of 10.14.1.
  • Cognac had its breakthrough during the Christmas holiday (while the Tesseracht team was on vacation) when Gary Davidson completed the 68k emulator for the PowerPC (PPC) and ran the Mac OS in emulation on the prototype (housed in an LC case, it was named the RISC LC or RLC). RLC performed better than the recently released Quadras and would perform even better with native PPC software.
  • SONAR Mac Prototype. A collaboration between Cakewalk and CodeWeavers. Several months ago, we promised to deliver a SONAR Mac Alpha. To build it, we collaborated with a company called CodeWeavers.CodeWeavers has a technology called CrossOver that is basically a Windows-to-Mac translator, allowing native Windows applications to run on a Mac.

The Ardrumo application has been an enormous success since its launch. To date this site has had tens of thousands of visits and the Ardrumo app has been downloaded almost 3500 times all across the world.
Ardrumo is free open source software, but please consider a small donation to keep the project going.
I wanted to make an inexpensive electronic drum setup that could be used with GarageBand. There are some great projects out there that describe how to output MIDI from an Arduino board (see References below), but these require additional hardware (e.g. MIDI modules, MIDI interface, etc). Since most people don't have extra MIDI hardware, I decided to just write some software to accept serial data from an Arduino board and make a virtual MIDI instrument that would be recognized by GarageBand. Here is the idea:

My Setup

My homemade drum kit is pictured below. Each pad is a circle of Duralar (i.e. thick mylar) sandwiched between two pieces of foam (from Pearl Art Store). Attached to the Duralar circle is a piezo sensor extracted from its plastic casing. Everything is then just glued together. Each pad cost about $3.00 to make.

Video

Click on the image below to see a video of Ardrumo in action:

Pad Construction

Bill of Materials

  • Arduino prototype board$35
  • pad materials x 6 $6
  • piezo transducer (1500-3000Hz) x 6 (Radio Shack part #273-073)$12
  • Total $53
  • If you can't find piezo sensors at Radio Shack, you may be able to get them from DigiKey or Jameco.
  • Assembly Instructions


    Wiring

    The wiring is very similar to todbot's. I borrowed his image and modified it below (hope he doesn't mind). I didn't bother using a Zener diode as todbot suggests. It may be safer to do so, but I haven't blown out the Arduino board yet.

    Mac OS X Universal Application

    Compatible with OS X 10.4 (Tiger) - OS X 10.10 (Yosemite) (see below for troubleshooting). This software was written in Java, so newer versions of OS X will require Java to be downloaded. This should be automatic. This also assumes you have installed the Arduino drivers and have a working connection between your Mac and Arduino board (how else would you load the sketch below?). If you don't have an Arduino board, you can still run the application and click the on-screen triggers to see how it works. To use it, plug in your Ardruino board with drum triggers attached, start GarageBand (or another MIDI-compatible application), and launch Ardrumo.

    Latest Version

    Downloads require a quick registration.

    A Proto-type Mac Os Operating System

    Registration lets me gauge how useful this software is to users. A link will be sent to your e-mail, but don't worry. I will not use your e-mail address for any other purposes and will never send you any other e-mails or spam.
    Ardrumo (Universal) (beta v100.2)
  • Updates RXTX Java library. Thanks to Jenna Fox for suggesting the solution to the permissions issues mentioned in Troubleshooting section below. With the latest RXTX library, these permissions corrections should not be needed.
  • Previous Versions

    Ardrumo (Universal) (beta v100.1) (November 8, 2007)
  • Fixes problems with PowerPC machines.
  • Ardrumo (beta v100.0) (November 2, 2007)
  • Initial release.
  • Source Code

    SVN repository
  • NetBeans-compatible Java project directory
  • Arduino Sketch

    ardrumo.pde Load this sketch into your Arduino and connect up to 6 piezo sensors.

    Known Issues

    'Ardrumo.app is damaged and can't be opened. You should move it to the Trash.' Error
    Because of security 'improvements', OS X Gatekeeper may prevent Ardrumo from starting depending on the settings. Since I'm an unregistered developer, unfortunately, the error shown below implies the download is corrupt when, in fact, it isn't.

    macOS Sierra (macOS 10.12)

    In macOS Sierra, Apple has made it more difficult for users to start applications from unregistered developers for security reasons -- and likely because they can also collect a $100 fee from every registered developer (see this tip for details). To resolve this under macOS Sierra, you may temporarily disable Gatekeeper by opening Terminal (under /Applications/Utilities) and type:Mac
    This will disable Gatekeeper to enable developers 'Allow from anywhere' security option shown in the Mac OS X El Capitan section below. After starting Ardrumo for the first time, you may reenable Gatekeeper with:

    Mac OS X El Capitan (OS X 10.11)

    To resolve this under Mac OS X El Capitan and below, please launch OS X 'System Preferences' and adjust your 'Security & Privacy Settings' to allow apps downloaded from anywhere to run (see below). Now, try to launch the Ardrumo application. If successful, Ardrumo will continue to start correctly even if the security setting is changed back to a more restrictive setting, so go ahead and change it back to the original setting. For a more detailed explanation of this error, see here and here.
    Other known issues
    There are several known issues that will be addressed in the next release. Stay tuned! Planned features/bug fixes include:
    • Bug: Correct double triggering
    • Work in progress: the Threshold knob is not wired up yet
    • Feature request: Save 'scenes' feature
    • Feature request: MIDI channel support

    Troubleshooting

    Ardrumo has been tested with Mac OS X from 10.4.8 (Tiger) to macOS Sierra (10.12) on both PowerPC and Intel-based Macs. Users who run into unrecognized serial port errors should correct permissions by doing the following: (This information from (bacadd) here)

    Contact

    A Proto-type Mac Os Model

    If you use Ardrumo and like it, please drop me a line: ardrumo <AT> gmail <DOT> com I'm happy to answer questions or take suggestions for improvements but request that you make a donation to the project if you find it useful or require technical support.

    Java Libraries

    Ardrumo uses the following Java libraries. Many thanks to the developers!

    References

    A Proto-type Mac Os X

    This project was inspired by the following projects, especially todbot's: