Class: AudioToolbox::MIDIChannelMessage
- Inherits:
-
Object
- Object
- AudioToolbox::MIDIChannelMessage
show all
- Defined in:
- lib/midiosx.rb,
ext/music_player/midiosx.c
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Object
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
|
# File 'ext/music_player/midiosx.c', line 1115
static VALUE
midi_channel_message_init (VALUE self, VALUE rb_opts)
{
Check_Type(rb_opts, T_HASH);
MIDIChannelMessage *msg;
VALUE rb_status, rb_data1, rb_data2;
Data_Get_Struct(self, MIDIChannelMessage, msg);
rb_status = rb_hash_aref(rb_opts, rb_sStatus);
if (!FIXNUM_P(rb_status))
rb_raise(rb_eArgError, ":status is required.");
else
msg->status = NUM2DBL(rb_status);
rb_data1 = rb_hash_aref(rb_opts, rb_sData1);
if (!NIL_P(rb_data1)) msg->data1 = (UInt8) FIX2INT(rb_data1);
rb_data2 = rb_hash_aref(rb_opts, rb_sData2);
if (!NIL_P(rb_data2)) msg->data2 = (UInt8) FIX2INT(rb_data2);
return self;
}
|
Instance Method Details
#==(msg) ⇒ Object
122
123
124
125
126
127
|
# File 'lib/midiosx.rb', line 122
def ==(msg)
self.class == msg.class &&
status == msg.status &&
data1 == msg.data1 &&
data2 == msg.data2
end
|
#add(time, track) ⇒ Object
137
138
139
|
# File 'lib/midiosx.rb', line 137
def add(time, track)
track.add_midi_channel_message(time, self)
end
|
#channel ⇒ Object
129
130
131
|
# File 'lib/midiosx.rb', line 129
def channel
status ^ mask
end
|
#data1 ⇒ Object
1147
1148
1149
1150
1151
1152
1153
|
# File 'ext/music_player/midiosx.c', line 1147
static VALUE
midi_channel_message_data1 (VALUE self)
{
MIDIChannelMessage *msg;
Data_Get_Struct(self, MIDIChannelMessage, msg);
return UINT2NUM(msg->data1);
}
|
#data2 ⇒ Object
1155
1156
1157
1158
1159
1160
1161
|
# File 'ext/music_player/midiosx.c', line 1155
static VALUE
midi_channel_message_data2 (VALUE self)
{
MIDIChannelMessage *msg;
Data_Get_Struct(self, MIDIChannelMessage, msg);
return UINT2NUM(msg->data2);
}
|
#mask ⇒ Object
133
134
135
|
# File 'lib/midiosx.rb', line 133
def mask
raise NotImplementedError, "Subclass responsibility."
end
|
#status ⇒ Object
1139
1140
1141
1142
1143
1144
1145
|
# File 'ext/music_player/midiosx.c', line 1139
static VALUE
midi_channel_message_status (VALUE self)
{
MIDIChannelMessage *msg;
Data_Get_Struct(self, MIDIChannelMessage, msg);
return UINT2NUM(msg->status);
}
|