Midiman : un piano midi , sequencer 16 pistes , gestionnaire de patch en vb.net

Soyez le premier à donner votre avis sur cette source.

Vue 11 593 fois - Téléchargée 2 712 fois

Description


Ne pas utiliser cette version: elle est incorrectement chargée
Chercher MidiMan1.1


MidiMan est un outil pour piloter votre synthétiseur . Il se compose de 4 parties :
- Un clavier
- Un Séquenceur 16 pistes , avec la possibilité de jouer des patterns
- Un gestionnaire de patchs, pour classer vos patch par catégories, recevoir/envoyer des banques de sons depuis le synthétiseur, éditer les banques, et extraire les patchs depuis des banques de sons trouvées sur Internet
- Un outil pour imprimer la partition

MidiMan c'est aussi des exemples de programmation VB.NET
- Midi management :
MidiInCallback, midiInOpen, midiInStart , midiInPrepareHeader, midiInAddBuffer
midiOutOpen, midiOutClose, midiOutShortMsg

- Différents cas de Marshalling et d'interaction avec l'API Win32
Structure avec tableau de char
Structure avec pointeur vers un bloc mémoire, GlobalAlloc , GlobalFree

- Instanciation dynamique de classe

MISE EN OEUVRE
- télécharger le projet
- exécuter bin\Release\MidiMan.exe

-----------------------------------------

MidiMan is a tool to make fun with your synthetizer . It is made of 4 parts :
- a Keyboard
- a Patch librarian, which allows to organize your patches into categories, get/send banks from/to the synthetizer, edit banks, and extracts patches from various bank formats found on Internet
- a 16 tracks Sequencer , with the ability to play patterns
- a tool to print your music score

MidiMan is also a nice example for VB.NET programmers
- Midi management :
MidiInCallback, midiInOpen, midiInStart , midiInPrepareHeader, midiInAddBuffer
midiOutOpen, midiOutClose, midiOutShortMsg

- Different cases of Marshalling and interactions with the Win32 API
Structure with array of chars
Structure with pointer to memory , GlobalAlloc , GlobalFree

- Dynamic class loading

OPERATING MODE
- download the project
- launch bin\Release\MidiMan.exe

========================================================================
VERSION 1.1 changes
========================================================================
BUGFIX#1 Playing a note when a Pat#4ern is being played , pertubates the pattern
BUGFIX#2 Using the "Synchronize" checkbox causes overflow
BUGFIX#3 On some synthetizers, the time of midi events in inaccurate
BUGFIX#4 Add empty files in BIN sub-directories, otherwise empty directories are ignored when the stuff is published

CHANGE#1 The RECORD button is now placed in each track
( sometimes, I clicked inadvertently RECORD , without selecting the right track )

CHANGE#2 The feature "Echo 1=>2" is now limited to NotesOn/Off events
( otherwise, if I change the patch on the fisrt synthe, the other changes too !)

CHANGE#3 On each track, a button "Cut" allows to suppress notes higher than a specified note
( it's diffult to me to play a bass section , if I have not the melody . So I play them both, and then remove the melody)

CHANGE#4 Notes being played are memorized, so that Clicking Stop will send a NoteOff event for all pending notes
( AllNotesOff midi command does not work on DX7 )

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
3 août 2014

see new version Midiman1.3
voir la nouvelle version Midiman1.3
Messages postés
10
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
3 août 2014

Il faut chercher la nouvelle version qui s'appelle MidiMan1.1
Pour des raisons obscures, la version qui s'appelle MidiMan a été mal enregistrée par Codes-sources
Carrément génial !
Une doc de conception très détaillée , plein de commentaires dans le source.
Les mystères de la programmation Midi sont enfin mis à la portée de tous

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.