t_max_err buffi_notify(t_buffi *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { buffer_ref_notify(x->src1_buffer_ref, s, msg, sender, data); buffer_ref_notify(x->src2_buffer_ref, s, msg, sender, data); return buffer_ref_notify(x->dest_buffer_ref, s, msg, sender, data); }
t_max_err cmgrainlabs_notify(t_cmgrainlabs *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { t_symbol *buffer_name = (t_symbol *)object_method((t_object *)sender, gensym("getname")); if (msg == ps_buffer_modified) { x->buffer_modified = 1; } if (buffer_name == x->window_name) { // check if calling object was the window buffer return buffer_ref_notify(x->w_buffer, s, msg, sender, data); // return with the calling buffer } else if (buffer_name == x->buffer_name) { // check if calling object was the sample buffer return buffer_ref_notify(x->buffer, s, msg, sender, data); // return with the calling buffer } else { // if calling object was none of the expected buffers return MAX_ERR_NONE; // return generic MAX_ERR_NONE } }
t_max_err multigrain_notify(t_multigrain *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { buffer_ref_notify(x->windowbuf, s, msg, sender, data); return buffer_ref_notify(x->wavebuf, s, msg, sender, data); }
t_max_err index_notify(t_index *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { return buffer_ref_notify(x->l_buffer_reference, s, msg, sender, data); }
t_max_err pokef_notify(t_pokef *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { return buffer_ref_notify(x->l_buffer, s, msg, sender, data); }
t_max_err breakgen_notify(t_breakgen *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { if (msg == buffy_modified) x->buffy_mod = true; return buffer_ref_notify(x->buffy, s, msg, sender, data); }
t_max_err buffer_proxy_notify(t_buffer_proxy *x, t_symbol *s, t_symbol *msg, void *sender, void *data) { if (msg == ps_buffer_modified) x->buffer_modified = true; return buffer_ref_notify(x->ref, s, msg, sender, data); }