Package midi :: Module MidiOutStream :: Class MidiOutStream
[show private | hide private]
[frames | no frames]

Class MidiOutStream

Known Subclasses:
MidiInfoReader, MidiReader

MidiOutstream is Basically an eventhandler. It is the most central class in the Midi library. You use it both for writing events to an output stream, and as an event handler for an input stream.

This makes it extremely easy to take input from one stream and send it to another. Ie. if you want to read a Midi file, do some processing, and send it to a midiport.

All time values are in absolute values from the opening of a stream. To calculate time values, please use the MidiTime and MidiDeltaTime classes.
Method Summary
  __init__(self)
  abs_time(self)
Returns the absolute time
  active_sensing(self)
No values passed
  aftertouch(self, channel, note, velocity)
channel: 0-15 note, velocity: 0-127
  channel_message(self, message_type, channel, data)
The default event handler for channel messages
  channel_pressure(self, channel, pressure)
channel: 0-15 pressure: 0-127
  continuous_controller(self, channel, controller, value)
channel: 0-15 controller, value: 0-127
  copyright(self, text)
Copyright notice text: string
  cuepoint(self, text)
text: string
  end_of_track(self)
n_track: number of track
  eof(self)
End of file.
  get_current_track(self)
Returns the current track number
  get_run_stat(self)
Set the new running status
  header(self, format, nTracks, division)
format: type of midi file in [1,2] nTracks: number of tracks division: timing division
  instrument_name(self, text)
text: string
  key_signature(self, sf, mi)
sf: is a byte specifying the number of flats (-ve) or sharps (+ve) that identifies the key signature (-7 = 7 flats, -1 = 1 flat, 0 = key of C, 1 = 1 sharp, etc).
  lyric(self, text)
text: string
  marker(self, text)
text: string
  meta_event(self, meta_type, data)
Handles any undefined meta events
  midi_ch_prefix(self, channel)
channel: midi channel for subsequent data (deprecated in the spec)
  midi_port(self, value)
value: Midi port (deprecated in the spec)
  midi_time_code(self, msg_type, values)
msg_type: 0-7 values: 0-15
  note_off(self, channel, note, velocity)
channel: 0-15 note, velocity: 0-127
  note_on(self, channel, note, velocity)
channel: 0-15 note, velocity: 0-127
  patch_change(self, channel, patch)
channel: 0-15 patch: 0-127
  pitch_bend(self, channel, value)
channel: 0-15 value: 0-16383
  rel_time(self)
Returns the relative time
  reset_run_stat(self)
Invalidates the running status
  reset_time(self)
reset time to 0
  sequence_name(self, text)
Sequence/track name text: string
  sequence_number(self, value)
value: 0-16383
  sequencer_specific(self, data)
data: The data as byte values
  set_current_track(self, new_track)
Sets the current track number
  set_run_stat(self, new_status)
Set the new running status
  smtp_offset(self, hour, minute, second, frame, framePart)
hour, minute, second: 3 bytes specifying the hour (0-23), minutes (0-59) and seconds (0-59), respectively.
  song_continue(self)
No values passed
  song_position_pointer(self, value)
value: 0-16383
  song_select(self, songNumber)
songNumber: 0-127
  song_start(self)
No values passed
  song_stop(self)
No values passed
  start_of_track(self, n_track)
n_track: number of track
  system_exclusive(self, data)
data: list of values in range(128)
  system_reset(self)
No values passed
  tempo(self, value)
value: 0-2097151 tempo in us/quarternote (to calculate value from bpm: int(60,000,000.00 / BPM))
  text(self, text)
Text event text: string
  time_signature(self, nn, dd, cc, bb)
nn: Numerator of the signature as notated on sheet music dd: Denominator of the signature as notated on sheet music The denominator is a negative power of 2: 2 = quarter note, 3 = eighth, etc.
  timing_clock(self)
No values passed
  tuning_request(self)
No values passed
  update_time(self, new_time, relative)
Updates the time, if relative is true, new_time is relative, else it's absolute.

Method Details

abs_time(self)

Returns the absolute time

active_sensing(self)

No values passed

aftertouch(self, channel=0, note=64, velocity=64)

channel: 0-15 note, velocity: 0-127

channel_message(self, message_type, channel, data)

The default event handler for channel messages

channel_pressure(self, channel, pressure)

channel: 0-15 pressure: 0-127

continuous_controller(self, channel, controller, value)

channel: 0-15 controller, value: 0-127

copyright(self, text)

Copyright notice text: string

cuepoint(self, text)

text: string

end_of_track(self)

n_track: number of track

eof(self)

End of file. No more events to be processed.

get_current_track(self)

Returns the current track number

get_run_stat(self)

Set the new running status

header(self, format=0, nTracks=1, division=96)

format: type of midi file in [1,2] nTracks: number of tracks division: timing division

instrument_name(self, text)

text: string

key_signature(self, sf, mi)

sf: is a byte specifying the number of flats (-ve) or sharps 
    (+ve) that identifies the key signature (-7 = 7 flats, -1 
    = 1 flat, 0 = key of C, 1 = 1 sharp, etc).
mi: is a byte specifying a major (0) or minor (1) key.

lyric(self, text)

text: string

marker(self, text)

text: string

meta_event(self, meta_type, data)

Handles any undefined meta events

midi_ch_prefix(self, channel)

channel: midi channel for subsequent data (deprecated in the spec)

midi_port(self, value)

value: Midi port (deprecated in the spec)

midi_time_code(self, msg_type, values)

msg_type: 0-7 values: 0-15

note_off(self, channel=0, note=64, velocity=64)

channel: 0-15 note, velocity: 0-127

note_on(self, channel=0, note=64, velocity=64)

channel: 0-15 note, velocity: 0-127

patch_change(self, channel, patch)

channel: 0-15 patch: 0-127

pitch_bend(self, channel, value)

channel: 0-15 value: 0-16383

rel_time(self)

Returns the relative time

reset_run_stat(self)

Invalidates the running status

reset_time(self)

reset time to 0

sequence_name(self, text)

Sequence/track name text: string

sequence_number(self, value)

value: 0-16383

sequencer_specific(self, data)

data: The data as byte values

set_current_track(self, new_track)

Sets the current track number

set_run_stat(self, new_status)

Set the new running status

smtp_offset(self, hour, minute, second, frame, framePart)

hour,
minute,
second: 3 bytes specifying the hour (0-23), minutes (0-59) and 
        seconds (0-59), respectively. The hour should be 
        encoded with the SMPTE format, just as it is in MIDI 
        Time Code.
frame: A byte specifying the number of frames per second (one 
       of : 24, 25, 29, 30).
framePart: A byte specifying the number of fractional frames, 
           in 100ths of a frame (even in SMPTE-based tracks 
           using a different frame subdivision, defined in the 
           MThd chunk).

song_continue(self)

No values passed

song_position_pointer(self, value)

value: 0-16383

song_select(self, songNumber)

songNumber: 0-127

song_start(self)

No values passed

song_stop(self)

No values passed

start_of_track(self, n_track=0)

n_track: number of track

system_exclusive(self, data)

data: list of values in range(128)

system_reset(self)

No values passed

tempo(self, value)

value: 0-2097151 tempo in us/quarternote (to calculate value from bpm: int(60,000,000.00 / BPM))

text(self, text)

Text event text: string

time_signature(self, nn, dd, cc, bb)

nn: Numerator of the signature as notated on sheet music
dd: Denominator of the signature as notated on sheet music
    The denominator is a negative power of 2: 2 = quarter 
    note, 3 = eighth, etc.
cc: The number of MIDI clocks in a metronome click
bb: The number of notated 32nd notes in a MIDI quarter note 
    (24 MIDI clocks)

timing_clock(self)

No values passed

tuning_request(self)

No values passed

update_time(self, new_time=0, relative=1)

Updates the time, if relative is true, new_time is relative, else it's absolute.

Generated by Epydoc 2.1 on Sat May 26 01:17:05 2007 http://epydoc.sf.net