shithub: aubio

ref: 99d27b7be002e2ef4fde2f09e341584f1968bb48
dir: /ext/midi/midi_event.c/

View raw version
/* 
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *  
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 * 02111-1307, USA
 */

/* this file originally taken from FluidSynth - A Software Synthesizer
 * Copyright (C) 2003  Peter Hanappe and others.
 */

#include "aubio_priv.h"
#include "midi_event.h"
#include "midi.h"

/******************************************************
 *
 *     aubio_event_t
 */

/*
 * new_aubio_midi_event
 */
aubio_midi_event_t* new_aubio_midi_event()
{
  aubio_midi_event_t* evt;
  evt = AUBIO_NEW(aubio_midi_event_t);
  if (evt == NULL) {
    AUBIO_ERR( "Out of memory");
    return NULL;
  }
  evt->dtime = 0;
  evt->type = 0;
  evt->channel = 0;
  evt->param1 = 0;
  evt->param2 = 0;
  evt->next = NULL;
  return evt;
}

/** del_aubio_midi_event */
int del_aubio_midi_event(aubio_midi_event_t* evt)
{
  aubio_midi_event_t *temp;
  while(evt)
  {
    temp = evt->next;
    AUBIO_FREE(evt);
    evt = temp;
  }
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_type
 */
int aubio_midi_event_get_type(aubio_midi_event_t* evt)
{
  return evt->type;
}

/*
 * aubio_midi_event_set_type
 */
int aubio_midi_event_set_type(aubio_midi_event_t* evt, int type)
{
  evt->type = type;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_channel
 */
int aubio_midi_event_get_channel(aubio_midi_event_t* evt)
{
  return evt->channel;
}

/*
 * aubio_midi_event_set_channel
 */
int aubio_midi_event_set_channel(aubio_midi_event_t* evt, int chan)
{
  evt->channel = chan;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_key
 */
int aubio_midi_event_get_key(aubio_midi_event_t* evt)
{
  return evt->param1;
}

/*
 * aubio_midi_event_set_key
 */
int aubio_midi_event_set_key(aubio_midi_event_t* evt, int v)
{
  evt->param1 = v;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_velocity
 */
int aubio_midi_event_get_velocity(aubio_midi_event_t* evt)
{
  return evt->param2;
}

/*
 * aubio_midi_event_set_velocity
 */
int aubio_midi_event_set_velocity(aubio_midi_event_t* evt, int v)
{
  evt->param2 = v;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_control
 */
int aubio_midi_event_get_control(aubio_midi_event_t* evt)
{
  return evt->param1;
}

/*
 * aubio_midi_event_set_control
 */
int aubio_midi_event_set_control(aubio_midi_event_t* evt, int v)
{
  evt->param1 = v;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_value
 */
int aubio_midi_event_get_value(aubio_midi_event_t* evt)
{
  return evt->param2;
}

/*
 * aubio_midi_event_set_value
 */
int aubio_midi_event_set_value(aubio_midi_event_t* evt, int v)
{
  evt->param2 = v;
  return AUBIO_OK;
}

int aubio_midi_event_get_program(aubio_midi_event_t* evt)
{
  return evt->param1;
}

int aubio_midi_event_set_program(aubio_midi_event_t* evt, int val)
{
  evt->param1 = val;
  return AUBIO_OK;
}

int aubio_midi_event_get_pitch(aubio_midi_event_t* evt)
{
  return evt->param1;
}

int aubio_midi_event_set_pitch(aubio_midi_event_t* evt, int val)
{
  evt->param1 = val;
  return AUBIO_OK;
}

/*
 * aubio_midi_event_get_param1
 */
/* int aubio_midi_event_get_param1(aubio_midi_event_t* evt) */
/* { */
/*   return evt->param1; */
/* } */

/*
 * aubio_midi_event_set_param1
 */
/* int aubio_midi_event_set_param1(aubio_midi_event_t* evt, int v) */
/* { */
/*   evt->param1 = v; */
/*   return AUBIO_OK; */
/* } */

/*
 * aubio_midi_event_get_param2
 */
/* int aubio_midi_event_get_param2(aubio_midi_event_t* evt) */
/* { */
/*   return evt->param2; */
/* } */

/*
 * aubio_midi_event_set_param2
 */
/* int aubio_midi_event_set_param2(aubio_midi_event_t* evt, int v) */
/* { */
/*   evt->param2 = v; */
/*   return AUBIO_OK; */
/* } */