Changeset 367:0216492669e8 in roaraudio for include/libroardsp/midi.h


Ignore:
Timestamp:
08/03/08 14:18:12 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

done a lot basic midi things

File:
1 edited

Legend:

Unmodified
Added
Removed
  • include/libroardsp/midi.h

    r203 r367  
    55 
    66#include "libroar.h" 
     7#include <math.h> 
     8 
     9#define ROAR_MIDI_NOTE_NONE -1 
     10 
     11#define ROAR_MIDI_NOTE_C  26162 
     12#define ROAR_MIDI_NOTE_Cs 27718 
     13#define ROAR_MIDI_NOTE_D  29366 
     14#define ROAR_MIDI_NOTE_Ds 31112 
     15#define ROAR_MIDI_NOTE_E  32962 
     16#define ROAR_MIDI_NOTE_F  34922 
     17#define ROAR_MIDI_NOTE_Fs 36999 
     18#define ROAR_MIDI_NOTE_G  39199 
     19#define ROAR_MIDI_NOTE_Gs 41530 
     20#define ROAR_MIDI_NOTE_A  44000 
     21#define ROAR_MIDI_NOTE_As 46616 
     22#define ROAR_MIDI_NOTE_B  49388 
     23 
     24#define ROAR_MIDI_MAX_NOTENAME_LEN (1+8) 
     25 
     26#define ROAR_MIDI_TYPE_SINE 1 
     27 
     28struct roar_note_octave { 
     29 uint16_t       note; 
     30 char           name[ROAR_MIDI_MAX_NOTENAME_LEN+1]; 
     31 int            octave; 
     32 float          freq; 
     33 int            len_mul; 
     34 int            len_div; 
     35}; 
     36 
     37 
     38char         * roar_midi_note2name   (uint16_t note); 
     39uint16_t       roar_midi_name2note   (char * note); 
     40float          roar_midi_note2freq   (uint16_t note); 
     41 
     42//int            roar_midi_free_no     (struct roar_note_octave * note); 
     43 
     44int            roar_midi_find_octave (char * note); 
     45int            roar_midi_add_octave  (struct roar_note_octave * note); 
     46int            roar_midi_notefill    (struct roar_note_octave * note); 
     47 
     48int            roar_midi_gen_tone    (struct roar_note_octave * note, int16_t * samples, float t, int rate, int channels, int type, void * opts); 
    749 
    850#endif 
Note: See TracChangeset for help on using the changeset viewer.