예제 #1
0
/////////////////////////////////////////////////////////
// floatMess
//
/////////////////////////////////////////////////////////
void linear_path :: floatMess(float val)
{
    if (!m_array)
    {
        error("no array");
        return;
    }

    int size;
    t_float *vec;
    if (!garray_getfloatarray(m_array, &size, &vec))
        return;

    if (size % m_numDimens)
    {
        error("size is not a mod of dimensions");
        return;
    }

    float output[64];
    linearFunc(val, output, m_numDimens, size / m_numDimens, vec);

	t_atom argv[64];
    for (int i = 0; i < m_numDimens; i++)
        SETFLOAT((&argv[i]), output[i]);

	outlet_list(m_out1, &s_list, m_numDimens, argv);
}
예제 #2
0
/////////////////////////////////////////////////////////
// floatMess
//
/////////////////////////////////////////////////////////
void linear_path :: lookupFunc(t_float x, t_float *ret, int numDimen, int npnts, t_float *pnts)
{
    linearFunc(x, ret, numDimen, npnts, pnts);
}