Code Monkey home page Code Monkey logo

rb-midifile's Introduction

Introduction

HP MIDIFILE is a Windows MIDI playback and editing library. RB-MidiFile is a HP MIDIDFILE binding for Realbasic and Xojo ("classic" framework) projects. The minimum supported HP MIDIFILE version is 1.37. The minimum supported Xojo version is RS2010R4.

Example

This example plays a MIDI file:

  Dim midfile As FolderItem = SpecialFolder.Desktop.Child("example.mid")
  Dim player As New Midi.MidiFile(midfile)
  player.Play()
  Do Until Not player.IsPlaying
    App.DoEvents()
  Loop

Hilights

  • Play standard MIDI files
  • Select MIDI playback device†
  • Read, modify, and insert MIDI events†

†= work in progress

Synopsis

A MIDI file, whether for playing or editing, is represented by an instance of the MidiFile class.

How to incorporate HP MIDIFILE into your Realbasic/Xojo project

Import the Midi module

  1. Download the RB-MidiFile project either in ZIP archive format or by cloning the repository with your Git client.
  2. Open the RB-MidiFile project in REALstudio or Xojo. Open your project in a separate window.
  3. Copy the Midi module into your project and save.

Ensure the HP_midifile.dll shared library is installed

HP MIDIFILE is not installed by default on most systems. You will need to copy the DLL file into the same directory as your application's EXE file.

RB-MidiFile will raise a PlatformNotSupportedException when used if all required DLLs are not available at runtime.

rb-midifile's People

Contributors

charonn0 avatar

Watchers

 avatar  avatar  avatar

rb-midifile's Issues

Working with HP_midifile.dll

Hello charonn0!

I work with the HP_midifile.dll from Heiko Plate in different programs. Mostly in MixMaster from Etienne Volbragt. A great tool such as yours.

I use that applications in connection with a Yamaha ePiano Clavinova-CSP-170. Main issue is to change MIDIs in case of Voices and Channels. I use a lot of Sysex-Commands to change that values.

Now I will build a helping hand to listen to selected voices on the ePiano and copy the Sysexdatas to MixMaster.

I tried to use your connection-coding, but after loading the MIDI I got an error.

Sub Load(MidiFile As FolderItem)
mLastError = HP_Load(mMidi, MidiFile.NativePath) '# App i stopping here!!!!
End Sub

May be I did something wrong! I opened your Proram and my own empoty program. After that I have selected all items in your program and make copy and paste in my xojo-File.

I am working on a PC - Windows 10-64 bit(latest Image) and using XOJO 2021 1.1

Thank you for helping Tipps

best regards
Harald from Austria

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.