NAME
MIDI::XML - Module for representing MIDI-XML objects.
SYNOPSIS
use MIDI::XML;
$document = MIDI::XML->parsefile($file);
DESCRIPTION
EXPORT
None by default.
- $Document = MIDI::XML->parse($string);
-
This method is used to parse an existing MIDI XML file and create a DOM tree. Calls XML::Parser->parse with the given string and the MIDI::XML handlers. A DOM Document containing a tree of DOM objects is returned. Comments, processing instructions, and notations, are discarded. White space is retained.
- $Document = MIDI::XML->parsefile($path);
-
This method is used to parse an existing MIDI XML file and create a DOM tree. Calls XML::Parser->parsefile with the given path and the MIDI::XML handlers. A DOM Document containing a tree of DOM objects is returned. Comments, processing instructions, and notations, are discarded. White space is retained.
- $Document = MIDI::XML->readfile($path,[$pretty]);
-
This method is used to read an existing Standard MIDI XML file and create a DOM tree. It reads the file at the given path and creates SAX events which are directed to the MIDI::XML handlers. A DOM Document containing a tree of DOM objects is returned. White space is inserted to produce "pretty" output if the optional $pretty argument is non-zero.
NAME
MIDI::XML::Document - Module for representing Document objects.
DESCRIPTION of Document
$Object = MIDI::XML::Document->new();
Create a new MIDI::XML::Document object.
- $array_ref = $MidiFile->measures() or $MidiFile->measures('refresh');
-
Returns a reference to an array of measures. If called with any parameter the array is refreshed before the reference is returned.
- MIDI::XML::Document->writefile($path);
-
This method is used to write an Standard MIDI file.
$value = $Object->text([$new_value]);
Set or get element text content.
DESCRIPTION of MetaEvent
MIDI::XML::MetaEvent is used for representing MetaEvent objects
DESCRIPTION of CopyrightNotice
MIDI::XML::CopyrightNotice is used for representing CopyrightNotice objects
DESCRIPTION of CuePoint
MIDI::XML::CuePoint is used for representing CuePoint objects
DESCRIPTION of DeviceName
MIDI::XML::DeviceName is used for representing DeviceName objects.
FF 09 len text DEVICE NAME
The Device Name is the name of the device that this track is intended to address. It will often be the model name of a synthesizer, but can be any string which uniquely identifies a particular device in a given setup. There should only be one Device Name (Meta Event 09) per track, and it should appear at the beginning of a track before any events which are sendable (i.e., it should be grouped with the text events before the proposed Program Name [Meta Event 08 - see below] and before bank select and program change messages). This will ensure that each track can only address one device.
Each track of a MIDI File can contain one MIDI stream, including SysEx and up to 16 channels. The Device Name Meta Event is used to label each track in a MIDI File with a text label.
If a Type 1 Standard MIDI File contains MIDI data for several devices, the data for each device is contained in a separate track, each with a different Device Name Meta Event. It is possible to have any number of tracks which address the same Device Name; however, each track can only address one device, as noted above.
Since a Type 0 Standard MIDI File has only one track, it can have only one Device Name Meta Event.
DESCRIPTION of EndOfTrack
MIDI::XML::EndOfTrack is used for representing EndOfTrack objects
DESCRIPTION of InstrumentName
MIDI::XML::InstrumentName is used for representing InstrumentName objects
DESCRIPTION of KeySignature
MIDI::XML::KeySignature is used for representing KeySignature objects
$value = $Object->Fifths([$new_value]);
Set or get value of the Fifths attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Mode([$new_value]);
Set or get value of the Mode attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of Lyric
MIDI::XML::Lyric is used for representing Lyric objects
DESCRIPTION of Marker
MIDI::XML::Marker is used for representing Marker objects
DESCRIPTION of MIDIChannelPrefix
MIDI::XML::MIDIChannelPrefix is used for representing MIDIChannelPrefix objects
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of OtherMetaEvent
MIDI::XML::OtherMetaEvent is used for representing OtherMetaEvent objects
$value = $Object->Number([$new_value]);
Set or get value of the Number attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of Port
MIDI::XML::Port is used for representing Port objects
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of ProgramName
MIDI::XML::ProgramName is used for representing ProgramName objects FF 08 len text PROGRAM NAME
One purpose of this event is to aid in reorchestration; since one non-General-MIDI device's piano can be another one's drum kit; knowing the intended program name can be an important clue.
The Program Name is the name of the program called up by the immediately following sequence of bank select and program change messages. The channel for the program change is identified by the bank select and program change messages. The Program Name Meta Event may appear anywhere in a track, but should only be used in conjunction with optional bank selects and a program change. There may be more than one Program Name Meta Events in a track.
DESCRIPTION of SequenceNumber
MIDI::XML::SequenceNumber is used for representing SequenceNumber objects
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of SequencerSpecific
MIDI::XML::SequencerSpecific is used for representing SequencerSpecific objects
DESCRIPTION of SetTempo
MIDI::XML::SetTempo is used for representing SetTempo objects
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of SMPTEOffset
MIDI::XML::SMPTEOffset is used for representing SMPTEOffset objects
$value = $Object->TimeCodeType([$new_value]);
Set or get value of the TimeCodeType attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Hour([$new_value]);
Set or get value of the Hour attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Minute([$new_value]);
Set or get value of the Minute attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Second([$new_value]);
Set or get value of the Second attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Frame([$new_value]);
Set or get value of the Frame attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->FractionalFrame([$new_value]);
Set or get value of the FractionalFrame attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of TextEvent
MIDI::XML::TextEvent is used for representing TextEvent objects
DESCRIPTION of TimeSignature
MIDI::XML::TimeSignature is used for representing TimeSignature objects
$value = $Object->Numerator([$new_value]);
Set or get value of the Numerator attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->LogDenominator([$new_value]);
Set or get value of the LogDenominator attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->MIDIClocksPerMetronomeClick([$new_value]);
Set or get value of the MIDIClocksPerMetronomeClick attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->ThirtySecondsPer24Clocks([$new_value]);
Set or get value of the ThirtySecondsPer24Clocks attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of TrackName
MIDI::XML::TrackName is used for representing TrackName objects
DESCRIPTION of XMFPatchTypePrefix
MIDI::XML::XMFPatchTypePrefix is used for representing XMFPatchTypePrefix objects The XMFPatchTypePrefix meta-event is described in RP-032 from the MMA. It allows specification of using General MIDI 1, General MIDI 2, or DLS to interpret subsequent program change and bank select messages in the same track.
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: NMTOKEN Lower: 1 Upper: 1
DESCRIPTION of ChannelMessage
MIDI::XML::ChannelMessage is used for representing ChannelMessage objects MIDI::XML::Channel is the base class from which MIDI Channel objects are derived.
$value = $Object->Channel([$new_value]);
Set or get value of the Channel attribute.
Type: nybble Lower: 1 Upper: 1
DESCRIPTION of NoteOff
MIDI::XML::NoteOff is used for representing NoteOff objects MIDI::XML::NoteOff is a class encapsulating MIDI Note Off messages. A Note Off message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Note Off event encoded in 3 bytes as follows:
1000cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = note number
vvvvvvv = velocity
The classes for MIDI Note Off messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Note([$new_value]);
Set or get value of the Note attribute.
Type: byte Lower: 1 Upper: 1
$value = $Object->Velocity([$new_value]);
Set or get value of the Velocity attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of NoteOn
MIDI::XML::NoteOn is used for representing NoteOn objects MIDI::XML::NoteOn is a class encapsulating MIDI Note On messages. A Note On message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Note On event encoded in 3 bytes as follows:
1001cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = note number
vvvvvvv = velocity
The classes for MIDI Note On messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Note([$new_value]);
Set or get value of the Note attribute.
Type: byte Lower: 1 Upper: 1
$value = $Object->Velocity([$new_value]);
Set or get value of the Velocity attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of PolyKeyPressure
MIDI::XML::PolyKeyPressure is used for representing PolyKeyPressure objects MIDI::XML::PolyKeyPressure is a class encapsulating MIDI Poly Key Pressure messages. A Poly Key Pressure message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Poly Key Pressure event encoded in 3 bytes as follows:
1010cccc 0nnnnnnn 0ppppppp
cccc = channel;
nnnnnnn = note number
ppppppp = pressure
The classes for MIDI Poly Key Pressure messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Note([$new_value]);
Set or get value of the Note attribute.
Type: byte Lower: 1 Upper: 1
$value = $Object->Pressure([$new_value]);
Set or get value of the Pressure attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of ControlChangeMessage
MIDI::XML::ControlChangeMessage is used for representing ControlChangeMessage objects MIDI::XML::ControlChangeMessage is a class encapsulating MIDI Control Change messages. A Control Change message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Control Change event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number
vvvvvvv = value
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of ProgramChange
MIDI::XML::ProgramChange is used for representing ProgramChange objects MIDI::XML::ProgramChange is a class encapsulating MIDI Program Change messages. A Program_Change message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Program Change event encoded in 2 bytes as follows:
1100cccc 0nnnnnnn
cccc = channel;
nnnnnnn = program number
The classes for MIDI Program Change messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Number([$new_value]);
Set or get value of the Number attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of ChannelKeyPressure
MIDI::XML::ChannelKeyPressure is used for representing ChannelKeyPressure objects MIDI::XML::ChannelKeyPressure is a class encapsulating MIDI Channel Key Pressure messages. A Channel Key Pressure message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Channel Key Pressure event encoded in 2 bytes as follows:
1101cccc 0ppppppp
cccc = channel;
ppppppp = pressure
The classes for MIDI Channel Key Pressure messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Pressure([$new_value]);
Set or get value of the Pressure attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of PitchBendChange
MIDI::XML::PitchBendChange is used for representing PitchBendChange objects MIDI::XML::PitchBendChange is a class encapsulating MIDI Pitch Bend Change messages. A Pitch Bend Change message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Pitch Bend Change event encoded in 3 bytes as follows:
1110cccc 0xxxxxxx 0yyyyyyy
cccc = channel;
xxxxxxx = least significant bits
yyyyyyy = most significant bits
The classes for MIDI Pitch Bend messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: short Lower: 1 Upper: 1
DESCRIPTION of AllSoundOff
MIDI::XML::AllSoundOff is used for representing AllSoundOff objects MIDI::XML::AllSoundOff is a class encapsulating MIDI All Sound Off messages. An All Sound Off message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI All Sound Off event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (120)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of ResetAllControllers
MIDI::XML::ResetAllControllers is used for representing ResetAllControllers objects MIDI::XML::ResetAllControllers is a class encapsulating MIDI Reset All Controllers messages. A Reset All Controllers message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Reset All Controllers event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (121)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of LocalControl
MIDI::XML::LocalControl is used for representing LocalControl objects MIDI::XML::LocalControl is a class encapsulating MIDI Local Control messages. A Local Control message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Local Control event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (122)
vvvvvvv = value
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of AllNotesOff
MIDI::XML::AllNotesOff is used for representing AllNotesOff objects MIDI::XML::AllNotesOff is a class encapsulating MIDI All Notes Off messages. An All Notes Off message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI All Notes Off event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (123)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of OmniOff
MIDI::XML::OmniOff is used for representing OmniOff objects MIDI::XML::OmniOff is a class encapsulating MIDI Omni Off messages. An Omni Off message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Omni Off event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (124)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of OmniOn
MIDI::XML::OmniOn is used for representing OmniOn objects MIDI::XML::OmniOn is a class encapsulating MIDI Omni On messages. An Omni On message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Omni On event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (125)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of MonoMode
MIDI::XML::MonoMode is used for representing MonoMode objects MIDI::XML::MonoMode is a class encapsulating MIDI Mono Mode messages. A Mono Mode message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Mono Mode event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (126)
vvvvvvv = value
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of PolyMode
MIDI::XML::PolyMode is used for representing PolyMode objects MIDI::XML::PolyMode is a class encapsulating MIDI Poly Mode messages. A Poly Mode message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Poly Mode event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number (127)
vvvvvvv = value (0)
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
DESCRIPTION of ControlChange
MIDI::XML::ControlChange is used for representing ControlChange objects MIDI::XML::ControlChange is a class encapsulating MIDI Control Change messages. A Control Change message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Control Change event encoded in 3 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number
vvvvvvv = value
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Control([$new_value]);
Set or get value of the Control attribute.
Type: byte Lower: 1 Upper: 1
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of ControlChange14
MIDI::XML::ControlChange14 is used for representing ControlChange14 objects MIDI::XML::ControlChange14 is a class encapsulating MIDI Control Change messages. A Control Change message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Control Change event encoded in 6 bytes as follows:
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number
vvvvvvv = value MSB
1011cccc 0nnnnnnn 0vvvvvvv
cccc = channel;
nnnnnnn = control number + 32
vvvvvvv = value LSB
The classes for MIDI Control Change messages and the other six channel messages are derived from MIDI::XML::Channel.
$value = $Object->Control([$new_value]);
Set or get value of the Control attribute.
Type: byte Lower: 1 Upper: 1
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: short Lower: 1 Upper: 1
DESCRIPTION of RPNChange
MIDI::XML::RPNChange is used for representing RPNChange objects
$value = $Object->RPN([$new_value]);
Set or get value of the RPN attribute.
Type: short Lower: 1 Upper: 1
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: short Lower: 1 Upper: 1
DESCRIPTION of NRPNChange
MIDI::XML::NRPNChange is used for representing NRPNChange objects
$value = $Object->NRPN([$new_value]);
Set or get value of the NRPN attribute.
Type: short Lower: 1 Upper: 1
$value = $Object->Value([$new_value]);
Set or get value of the Value attribute.
Type: short Lower: 1 Upper: 1
DESCRIPTION of SysEx
MIDI::XML::SysEx is used for representing SysEx objects
DESCRIPTION of SysExDeviceID
MIDI::XML::SysExDeviceID is used for representing SysExDeviceID objects
$value = $Object->Multiplier([$new_value]);
Set or get value of the Multiplier attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Offset([$new_value]);
Set or get value of the Offset attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of SysExChannel
MIDI::XML::SysExChannel is used for representing SysExChannel objects
$value = $Object->Multiplier([$new_value]);
Set or get value of the Multiplier attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Offset([$new_value]);
Set or get value of the Offset attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of MTCQuarterFrame
MIDI::XML::MTCQuarterFrame is used for representing MTCQuarterFrame objects
$value = $Object->MessageType([$new_value]);
Set or get value of the MessageType attribute.
Type: mtc_category Lower: 1 Upper: 1
$value = $Object->DataNibble([$new_value]);
Set or get value of the DataNibble attribute.
Type: nybble Lower: 1 Upper: 1
DESCRIPTION of SongPositionPointer
MIDI::XML::SongPositionPointer is used for representing SongPositionPointer objects
$value = $Object->Position([$new_value]);
Set or get value of the Position attribute.
Type: short Lower: 1 Upper: 1
DESCRIPTION of SongSelect
MIDI::XML::SongSelect is used for representing SongSelect objects
$value = $Object->Number([$new_value]);
Set or get value of the Number attribute.
Type: byte Lower: 1 Upper: 1
DESCRIPTION of TuneRequest
MIDI::XML::TuneRequest is a class encapsulating MIDI Tune Request messages. A Tune Request message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Tune Request event encoded in 1 byte as follows:
11110110
The class for MIDI Tune Request messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of TimingClock
MIDI::XML::TimingClock is a class encapsulating MIDI Timing Clock messages. A Timing Clock message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Timing Clock event encoded in 1 byte as follows:
11111000
The class for MIDI Timing Clock messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of Start
MIDI::XML::Start is a class encapsulating MIDI Start messages. A Start message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Start event encoded in 1 byte as follows:
11111010
The class for MIDI Start messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of Continue
MIDI::XML::Continue is a class encapsulating MIDI Continue messages. A Continue message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Continue event encoded in 1 byte as follows:
11111011
The class for MIDI Continue messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of Stop
MIDI::XML::Stop is a class encapsulating MIDI Stop messages. A Stop message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Stop event encoded in 1 byte as follows:
11111100
The class for MIDI Stop messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of ActiveSensing
MIDI::XML::ActiveSensing is a class encapsulating MIDI Active Sensing messages. An Active Sensing message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI Active Sensing event encoded in 1 byte as follows:
11111110
The class for MIDI Active Sensing messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of SystemReset
MIDI::XML::SystemReset is a class encapsulating MIDI System Reset messages. A System Reset message includes either a delta time or absolute time as implemented by MIDI::XML::Message and the MIDI System Reset event encoded in 1 byte as follows:
11111111
The class for MIDI System Reset messages is derived from MIDI::XML::MIDISystemMessage.
DESCRIPTION of MIDISystemMessage
MIDI::XML::MIDISystemMessage is used for representing MIDISystemMessage objects
DESCRIPTION of MIDIfile
MIDI::XML::MIDIfile is used for representing MIDIfile objects
$value = $Object->Format([$new_value]);
Set or get value of the Format attribute.
Format indicates MIDI format 0, 1, or 2. So far only types 0 and 1 are explicitly supported by the MIDI XML format.
Type: int
Lower: 1
Upper: 1
$value = $Object->TrackCount([$new_value]);
Set or get value of the TrackCount attribute.
TrackCount indicate the number of tracks in a file: 1 for type 0, usually more for types 1 and 2. The TrackCount matches the number of Track elements in the MIDI XML file.
Type: int
Lower: 1
Upper: 1
$value = $Object->TicksPerBeat([$new_value]);
Set or get value of the TicksPerBeat attribute.
How many ticks in a beat (MIDI quarter note).
Type: int
Lower: 1
Upper: 1
$value = $Object->FrameRate([$new_value]);
Set or get value of the FrameRate attribute.
Frame rate and ticks per frame are used with SMPTE time codes.
Type: int
Lower: 1
Upper: 1
$value = $Object->TicksPerFrame([$new_value]);
Set or get value of the TicksPerFrame attribute.
Frame rate and ticks per frame are used with SMPTE time codes.
Type: int
Lower: 1
Upper: 1
$value = $Object->TimestampType([$new_value]);
Set or get value of the TimestampType attribute.
TimestampType should be Delta or Absolute. Indicates the element name to look for in the initial timestamp in each MIDI event.
Type: timestamp_type Lower: 1 Upper: 1
- $arrayref = $Object->track();
-
Returns a reference to an array of the contained Track objects. Get values of the track property.
Type:
- $value = $Object->push_track([$new_value]);
-
Set or get value of the track attribute.
Type:
DESCRIPTION of Format
MIDI::XML::Format is used for representing Format objects Format indicates MIDI format 0, 1, or 2. So far only types 0 and 1 are explicitly supported by the MIDI XML format.
DESCRIPTION of TrackCount
MIDI::XML::TrackCount is used for representing TrackCount objects TrackCount indicate the number of tracks in a file: 1 for type 0, usually more for types 1 and 2. The TrackCount matches the number of Track elements in the MIDI XML file.
DESCRIPTION of TicksPerBeat
MIDI::XML::TicksPerBeat is used for representing TicksPerBeat objects How many ticks in a beat (MIDI quarter note).
DESCRIPTION of FrameRate
MIDI::XML::FrameRate is used for representing FrameRate objects Frame rate and ticks per frame are used with SMPTE time codes.
DESCRIPTION of TicksPerFrame
MIDI::XML::TicksPerFrame is used for representing TicksPerFrame objects Frame rate and ticks per frame are used with SMPTE time codes.
DESCRIPTION of TimestampType
MIDI::XML::TimestampType is used for representing TimestampType objects TimestampType should be Delta or Absolute. Indicates the element name to look for in the initial timestamp in each MIDI event.
DESCRIPTION of Track
MIDI::XML::Track is used for representing Track objects
$value = $Object->Number([$new_value]);
Set or get value of the Number attribute.
Type: int Lower: 1 Upper: 1
- $arrayref = $Object->event();
-
Returns a reference to an array of the contained Event objects. Get values of the event property.
Type: ArrayRef
- $value = $Object->push_event([$new_value]);
-
Set or get value of the event attribute.
Return Type: ArrayRef
- $trackName = $Track->name();
-
Returns a the value of the first TrackName object in the Track.
Type: String
- $end = $Track->end() or $Track->end('refresh');
-
Returns the absolute time for the end of the track. If called with any parameter the value is refreshed before it is returned.
DESCRIPTION of Event
MIDI::XML::Event is used for representing Event objects
$value = $Object->Timestamp([$new_value]);
Set or get value of the Timestamp attribute.
Type: Timestamp Lower: 1 Upper: 1
$value = $Object->SmfEvent([$new_value]);
Set or get value of the SmfEvent attribute.
Type: SmfEvent Lower: 1 Upper: 1
DESCRIPTION of Timestamp
MIDI::XML::Timestamp is used for representing Timestamp objects
$value = $Object->Absolute([$new_value]);
Set or get value of the Absolute attribute.
Type: int Lower: 1 Upper: 1
$value = $Object->Delta([$new_value]);
Set or get value of the Delta attribute.
Type: int Lower: 1 Upper: 1
DESCRIPTION of Absolute
MIDI::XML::Absolute is used for representing Absolute objects
$value = $Object->Delta([$new_value]);
Set or get value of the Absolute element.
Type: int Lower: 1 Upper: 1
DESCRIPTION of Delta
MIDI::XML::Delta is used for representing Delta objects
$value = $Object->Delta([$new_value]);
Set or get value of the Delta element.
Type: int Lower: 1 Upper: 1
DESCRIPTION of SmfEvent
MIDI::XML::SmfEvent is used for representing SmfEvent objects
$value = $Object->ChannelMessage([$new_value]);
Set or get value of the ChannelMessage attribute.
Type: ChannelMessage Lower: 1 Upper: 1
$value = $Object->MetaEvent([$new_value]);
Set or get value of the MetaEvent attribute.
Type: MetaEvent Lower: 1 Upper: 1
$value = $Object->SysExEvent([$new_value]);
Set or get value of the SysExEvent attribute.
Type: SysExEvent Lower: 1 Upper: 1
DESCRIPTION of SysExEvent
MIDI::XML::SysExEvent is used for representing SysExEvent objects
DESCRIPTION of SystemExclusive
MIDI::XML::SystemExclusive is used for representing SystemExclusive objects
DESCRIPTION of EndOfExclusive
MIDI::XML::EndOfExclusive is used for representing EndOfExclusive objects
DESCRIPTION of timestamp_type enumeration
MIDI::XML::timestamp_type - Module representing the timestamp_type enumeration.
CONSTANTS for the timestamp_type enumeration
Absolute => 'Absolute'
Delta => 'Delta'
METHODS for the timestamp_type enumeration
@Literals = MIDI::XML::timestamp_type::Literals
Returns an array of literal name-value pairs.
%Literals = MIDI::XML::timestamp_type::Literals
Returns a hash of literal name-value pairs.
DESCRIPTION of control_change_enum enumeration
MIDI::XML::control_change_enum - Module representing the control_change_enum enumeration.
CONSTANTS for the control_change_enum enumeration
BankSelectMSB => 0
ModulationWheelMSB => 1
BreathControllerMSB => 2
FootControllerMSB => 4
PortamentoTimeMSB => 5
DataEntryMSB => 6
ChannelVolumeMSB => 7
BalanceMSB => 8
PanMSB => 10
ExpressionControllerMSB => 11
EffectControl1MSB => 12
EffectControl2MSB => 13
GeneralPurposeController1MSB => 16
GeneralPurposeController2MSB => 17
GeneralPurposeController3MSB => 18
GeneralPurposeController4MSB => 19
BankSelectLSB => 32
ModulationWheelLSB => 33
BreathControllerLSB => 34
FootControllerLSB => 36
PortamentoTimeLSB => 37
DataEntryLSB => 38
ChannelVolumeLSB => 39
BalanceLSB => 40
PanLSB => 42
ExpressionControllerLSB => 43
EffectControl1LSB => 44
EffectControl2LSB => 45
GeneralPurposeController1LSB => 48
GeneralPurposeController2LSB => 49
GeneralPurposeController3LSB => 50
GeneralPurposeController4LSB => 51
DamperPedal => 64
Portamento => 65
Sostenuto => 66
SoftPedal => 67
LegatoFootswitch => 68
Hold2 => 69
SoundVariation => 70
Timbre => 71
ReleaseTime => 72
AttackTime => 73
Brightness => 74
DecayTime => 75
VibratoRate => 76
VibratoDepth => 77
VibratoDelay => 78
SoundController10 => 79
GeneralPurposeController5 => 80
GeneralPurposeController6 => 81
GeneralPurposeController7 => 87
GeneralPurposeController8 => 83
PortamentoControl => 84
ReverbSendLevel => 91
TremoloDepth => 92
ChorusSendLevel => 93
Effects4Depth => 94
Effects5Depth => 95
DataIncrement => 96
DataDecrement => 97
NonRegisteredParameterNumberLSB => 98
NonRegisteredParameterNumberMSB => 99
RegisteredParameterNumberLSB => 100
RegisteredParameterNumberMSB => 101
METHODS for the control_change_enum enumeration
@Literals = MIDI::XML::control_change_enum::Literals
Returns an array of literal name-value pairs.
%Literals = MIDI::XML::control_change_enum::Literals
Returns a hash of literal name-value pairs.
DESCRIPTION of mtc_category enumeration
MIDI::XML::mtc_category - Module representing the mtc_category enumeration.
CONSTANTS for the mtc_category enumeration
FrameLSNibble => 0
FrameMSNibble => 1
SecsLSNibble => 2
SecsMSNibble => 3
MinsLSNibble => 4
MinsMSNibble => 5
HrsLSNibble => 6
HrsMSNibbleSMPTEType => 7
METHODS for the mtc_category enumeration
@Literals = MIDI::XML::mtc_category::Literals
Returns an array of literal name-value pairs.
%Literals = MIDI::XML::mtc_category::Literals
Returns a hash of literal name-value pairs.
AUTHOR
Brian M. Ames, <bmames@apk.net>
SEE ALSO
COPYRIGHT and LICENSE
Copyright 2008 Brian M. Ames. This software may be used under the terms of the GPL and Artistic licenses, the same as Perl itself.
8 POD Errors
The following errors were encountered while parsing the POD:
- Around line 232:
'=item' outside of any '=over'
- Around line 746:
You forgot a '=back' before '=head1'
- Around line 863:
'=item' outside of any '=over'
- Around line 1104:
You forgot a '=back' before '=head2'
- Around line 5098:
'=item' outside of any '=over'
- Around line 5148:
You forgot a '=back' before '=head1'
- Around line 5357:
'=item' outside of any '=over'
- Around line 5473:
You forgot a '=back' before '=head1'