CoreMIDImodule

Category Audio Production / MIDI
Version 3.21
Format App
Compatibility CoreMIDImoduleMacOS X UB
License Commercial Software
Price $20  /  16€
Rating
Updated On Oct 25, 2008
Total Downloads 890
Mac Downloads 890

REALbasic shareware module for the development of MIDI applications

CoreMIDImodule is a REALbasic shareware module for the development of MIDI applications on Mac OS X (Universal Binary and PowerPC Carbon Mach O). It is based on the Apple CoreMIDI architecture. All functions have been implemented and sometimes simplified (the MIDI packet list or the callback functions are "hidden" inside the module). This module comes with several REALbasic example projects including:

CoreMIDImodule_Test.rbp
CoreMIDImodule_Control.rbp
CoreMIDImodule_Virtual_Synth.rbp
CoreMIDImodule_Delay.rbp
REALbasic 2008 or later and Mac OS X 10.4 or later.
CoreMIDImodule CoreMIDImodule v 3.21 Oct 25, 2008 MacOS X UB
Now compatible with REALbasic 2008R4
Christophe Malhaire CoreMIDImodule CoreMIDImodule v 3.1 Jun 7, 2008 MacOS X UB
What's New in Version 3.1 (June 5, 2008):

  • Now compatible with console applications.

  • Added: CoreMIDImodule_Console_3_1.rbp in the "For Advanced Users" folder.


  • New method: CM_BPMcalculator
    New constants:
  • kMIDIPropertyDisplayName

  • kMIDIPropertyDriverDeviceEditorApp

  • kMIDIPropertySupportsShowControl
  • Christophe Malhaire CoreMIDImodule v 3.0 May 28, 2008 MacOS X UB
  • What's New in Version 3.0 (May 24, 2008)


  • The incoming MIDI messages are stored in ring buffers (size adjustable by the user) instead of 1D arrays (MIDI data processing should be faster).

  • The "Read" and "Write" pointers are managed automatically.

  • MIDITimeStamps are now managed for all inputs.


  • Note for users of previous versions, some code changes are needed:

  • Timer/Action piece of code, especially.

  • Some methods or properties have been deleted or changed (see below and see updated examples).


  • New methods:

    CM_CoreMIDImoduleInit
    CM_IncrementReadIndex
    CM_IncrementNotificationReadIndex
    CM_IncrementMIDISysexSendRequestReadIndex
    CM_MIDINotification
    CM_MIDISysExSendRequest

    New Properties:

    ReadIndex(15) As Integer
    NotificationReadIndex As Integer
    MIDISysexSendRequestReadIndex As Integer


    Deleted methods:

    CM_FlushCompleted
    CM_FlushRequest
    CM_MIDINotificationFlushRequest
    CM_MIDINotificationFlushCompleted
    CM_MIDISysexSendRequestFlushCompleted
    CM_MIDISysexSendRequestFlushRequest

    Deleted properties:

    MIDIEvent0(0)...MIDIEvent15(0) As Integer
    MIDITimeStamp0(0) As UInt 64
    MIDINotification(0) As MemoryBlock
    MIDISysexSendRequest(0) As MemoryBlock
    MIDISysexSendRequestFlushRequest As Boolean
    MIDISysexSendRequestMaxIndex As Integer

    Other changes:

    New program in the Goodies folder: Starfield.
    This User's Guide has been updated.
    Developed with REALbasic 2008 Release 2.
    module CoreMIDImodule v 2.1 Feb 28, 2008 MacOS X UB
    Now all CoreMIDI functions are implemented.
    MIDI notification messages and MIDI SysEx Completion messages are managed.
    The refCon is a new argument for several functions.

    New methods:

    CM_MIDIObjectGetDictionaryProperty
    CM_MIDIObjectGetProperties
    CM_MIDIObjectSetDataProperty
    CM_MIDIObjectSetDictionaryProperty
    CM_MIDIObjectRemoveProperty
    CM_CFRelease
    CM_GetCFStringRef
    CM_ConvertCFString
    CM_MIDINotificationFlushRequest
    CM_MIDINotificationFlushCompleted
    CM_MIDINotificationNumber
    CM_MIDISysexSendRequestFlushRequest
    CM_MIDISysexSendRequestFlushCompleted
    CM_MIDISysexSendRequestNumber
    CM_ErrorCodeToString

    Changes:

    CM_MIDIClientCreate
    CM_MIDIDestinationCreate
    CM_MIDIInputPortCreate
    CM_MIDIPortConnectSource
    CM_SendSysEx
    CM_SendSysExFromArrayOfInteger
    CM_SendSysExHex

    New Properties:

    MIDINotification(0) As MemoryBlock
    MIDISysexSendRequest(0) As MemoryBlock

    Deleted property:

    MIDISetupHasChanged As Boolean

    New constants: lots of new constants, see the User's Guide

    Other changes:

    New folder: For Advanced Users, with new project examples.
    The User's Guide has been updated.
    realbasic CoreMIDImodule v 2.0 Jan 8, 2008 MacOS X UB
  • What's New in Version 2.0 (January 3, 2008)


  • Features added to version 2.0: Time management methods.
    Notice: needs REALbasic 2007 (no longer compatible with RB 5.5.5 because of the use of UInt64  and UInt32 values).
    Not tested with REALbasic 2006.

    New methods and properties:

  • Sub CM_StartTime

  • Function CM_MIDITimeStamp

  • Function CM_AudioConvertHostTimeToNanos

  • Function CM_AudioConvertNanosToHostTime

  • Function CM_AudioGetCurrentHostTime

  • Function CM_AudioGetHostClockFrequency

  • Function CM_AudioGetHostClockMinimumTimeDelta

  • Function CM_NanoSecToHour

  • StartTimeHostTimeFormat (global property)

  • MIDITimeStamp0() (global property)


  • Other changes:

  • New example: CM_CoreMIDImodule_Delay

  • Goodies folder

  • Modification of several methods to take into account the time management:

  • CM_SendMIDIPacket, CM_SendMIDIPacketHex,
    CM_SendMIDIPacketFromArrayOfInteger, CM_MIDIReceivedPacket,
    CM_MIDIReceivedPacketHex, CM_MIDIReceivedPacketFromArrayOfInteger.
  • The User's Guide has been updated and written with TexShop
  • development CoreMIDImodule v 1.3 Jun 6, 2007 MacOS X UB
    Version 1.3 :
  • Compatible with Universal Binary Mac builds (Intel and PowerPC)

  • Other changes:
  • The ReadMe file has been updated
  • applications CoreMIDImodule v 1.2 Mar 20, 2007 MacOS X PPC
    Version 1.2 :
  • Total of 16 MIDIEvent arrays (MIDIEvent0 to MIDIEvent15) to separate incoming MIDI events from different sources (beware, MIDIEvent changed to MIDIEvent0)

  • New functions :

  • CM_FlushRequest
    CM_FlushCompleted
    CM_MIDIEvent
    CM_MIDIEventsNumber
    Other changes:
  • CoreMIDImodule_Control : MIDI processing improvement (thanks Marc ! )

  • Fixed some bugs in the MIDIPacketAnalysis method

  • This ReadMe file has been updated
  • shareware CoreMIDImodule v 1.1 Feb 23, 2007 MacOS X PPC
    Features added to version 1.1
  • Change in CM_MIDIPortConnectSource to manage multiple sources

  • Total of 8 MIDIEvent arrays to separate incoming MIDI events from different sources

  • Busy : a new global variable that helps synchronizing MIDI processing

  • New functions used in the case of virtual sources :

  • CM_MIDIReceivedPacket
    CM_MIDIReceivedPacketHex
    CM_MIDIReceivedPacketFromArrayOfInteger
    Other changes
  • CoreMIDImodule _Control : MIDI processing improvement

  • The ReadMe file has been updated
  • download CoreMIDImodule v 1.0 Sep 8, 2006 MacOS X PPC
    First release
    Christophe Malhaire
    Buy CoreMIDImodule near Columbus, United States at:

    You must sign-in to post your comment:

    You can signin with your 440Software account (MacMusic, PcMusic, 440TV, 440Forums, 440Software, ...) or via FaceBook, Twitter or Google.

    Other Software by Christophe Malhaire (1)

    A-Station Patch Manager
    Patch manager for the Novation A-Station. A-Station Patch Manager is a Mac OS X patch manager application for the Novation A Station synthesizer. It is intended to open, edit and save SysEx files and to...
    user
    Welcome visitor:
    Sponsor
    Share