예제 #1
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_symbol(lo_message m, const char *a)
{
    const int size = lo_strsize(a);
    char *nptr = lo_message_add_data(m, size);

    lo_message_add_typechar(m, LO_SYMBOL);
    strncpy(nptr, a, size);
}
예제 #2
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_midi(lo_message m, uint8_t a[4])
{
    char *nptr = lo_message_add_data(m, sizeof(a));

    lo_message_add_typechar(m, LO_MIDI);

    memcpy(nptr, a, sizeof(a));
}
예제 #3
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_string(lo_message m, const char *a)
{
    const int size = lo_strsize(a);
    char *nptr = lo_message_add_data(m, size);

    lo_message_add_typechar(m, LO_STRING);
    strncpy(nptr, a, size);
}
예제 #4
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_float(lo_message m, float a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(a));
    b.f = a;

    lo_message_add_typechar(m, LO_FLOAT);
    *nptr = lo_htoo32(b.nl);
}
예제 #5
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_timetag(lo_message m, lo_timetag a)
{
    lo_pcast64 b;
    uint64_t *nptr = lo_message_add_data(m, sizeof(a));
    b.tt = a;

    lo_message_add_typechar(m, LO_TIMETAG);
    *nptr = lo_htoo64(b.nl);
}
예제 #6
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_int32(lo_message m, int32_t a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(a));
    b.i = a;

    lo_message_add_typechar(m, LO_INT32);
    *nptr = lo_htoo32(b.nl);
}
예제 #7
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_double(lo_message m, double a)
{
    lo_pcast64 b;
    uint64_t *nptr = lo_message_add_data(m, sizeof(a));
    b.f = a;

    lo_message_add_typechar(m, LO_DOUBLE);
    *nptr = lo_htoo64(b.nl);
}
예제 #8
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_int64(lo_message m, int64_t a)
{
    lo_pcast64 b;
    uint64_t *nptr = lo_message_add_data(m, sizeof(a));
    b.i = a;

    lo_message_add_typechar(m, LO_INT64);
    *nptr = lo_htoo64(b.nl);
}
예제 #9
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_char(lo_message m, char a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(int32_t));

    b.c = a;

    lo_message_add_typechar(m, LO_CHAR);
    *nptr = lo_htoo32(b.nl);
}
예제 #10
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_blob(lo_message m, lo_blob a)
{
    const int size = lo_blobsize(a);
    const int32_t dsize = lo_htoo32(lo_blob_datasize(a));
    char *nptr = lo_message_add_data(m, size);

    lo_message_add_typechar(m, LO_BLOB);
    memset(nptr + size - 4, 0, 4);

    memcpy(nptr, &dsize, sizeof(dsize));
    memcpy(nptr + sizeof(int32_t), lo_blob_dataptr(a), lo_blob_datasize(a));
}
예제 #11
0
int lo_message_add_midi(lo_message m, uint8_t a[4])
{
    char *nptr = lo_message_add_data(m, 4);
    if (!nptr)
        return -1;

    if (lo_message_add_typechar(m, LO_MIDI))
        return -1;

    memcpy(nptr, a, 4 * sizeof(uint8_t));
    return 0;
}
예제 #12
0
int lo_message_add_symbol(lo_message m, const char *a)
{
    const int size = lo_strsize(a);
    char *nptr = lo_message_add_data(m, size);
    if (!nptr)
        return -1;

    if (lo_message_add_typechar(m, LO_SYMBOL))
        return -1;
    strncpy(nptr, a, size);
    return 0;
}
예제 #13
0
int lo_message_add_float(lo_message m, float a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(a));
    if (!nptr)
        return -1;
    b.f = a;

    if (lo_message_add_typechar(m, LO_FLOAT))
        return -1;
    *nptr = b.nl;
    return 0;
}
예제 #14
0
int lo_message_add_int32(lo_message m, int32_t a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(a));
    if (!nptr)
        return -1;
    b.i = a;

    if (lo_message_add_typechar(m, LO_INT32))
        return -1;
    *nptr = b.nl;
    return 0;
}
예제 #15
0
int lo_message_add_int64(lo_message m, int64_t a)
{
    lo_pcast64 b;
    uint64_t *nptr = lo_message_add_data(m, sizeof(a));
    if (!nptr)
        return -1;
    b.i = a;

    if (lo_message_add_typechar(m, LO_INT64))
        return -1;
    *nptr = b.nl;
    return 0;
}
예제 #16
0
int lo_message_add_timetag(lo_message m, lo_timetag a)
{
    uint32_t *nptr = lo_message_add_data(m, sizeof(a));
    if (!nptr)
        return -1;

    if (lo_message_add_typechar(m, LO_TIMETAG))
        return -1;
    *nptr = a.sec;
    nptr++;
    *nptr = a.frac;
    return 0;
}
예제 #17
0
int lo_message_add_double(lo_message m, double a)
{
    lo_pcast64 b;
    uint64_t *nptr = lo_message_add_data(m, sizeof(a));
    if (!nptr)
        return -1;
    b.f = a;

    if (lo_message_add_typechar(m, LO_DOUBLE))
        return -1;
    *nptr = b.nl;
    return 0;
}
예제 #18
0
int lo_message_add_char(lo_message m, char a)
{
    lo_pcast32 b;
    int32_t *nptr = lo_message_add_data(m, sizeof(int32_t));
    if (!nptr)
        return -1;

    b.i = 0; // zero the 32 bits before writing the char
    b.c = a;

    if (lo_message_add_typechar(m, LO_CHAR))
        return -1;
    *nptr = b.nl;
    return 0;
}
예제 #19
0
int lo_message_add_blob(lo_message m, lo_blob a)
{
    const uint32_t size = lo_blobsize(a);
    const uint32_t dsize = lo_blob_datasize(a);
    char *nptr = lo_message_add_data(m, size);
    if (!nptr)
        return -1;

    if (lo_message_add_typechar(m, LO_BLOB))
        return -1;
    memset(nptr + size - 4, 0, 4);

    memcpy(nptr, &dsize, sizeof(dsize));
    memcpy(nptr + sizeof(int32_t), lo_blob_dataptr(a),
           lo_blob_datasize(a));
    return 0;
}
예제 #20
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_infinitum(lo_message m)
{
    lo_message_add_typechar(m, LO_INFINITUM);
}
예제 #21
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_nil(lo_message m)
{
    lo_message_add_typechar(m, LO_NIL);
}
예제 #22
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_false(lo_message m)
{
    lo_message_add_typechar(m, LO_FALSE);
}
예제 #23
0
파일: message.c 프로젝트: foogywoo/drone
void lo_message_add_true(lo_message m)
{
    lo_message_add_typechar(m, LO_TRUE);
}
예제 #24
0
int lo_message_add_true(lo_message m)
{
    return lo_message_add_typechar(m, LO_TRUE);
}
예제 #25
0
int lo_message_add_false(lo_message m)
{
    return lo_message_add_typechar(m, LO_FALSE);
}
예제 #26
0
int lo_message_add_nil(lo_message m)
{
    return lo_message_add_typechar(m, LO_NIL);
}
예제 #27
0
int lo_message_add_infinitum(lo_message m)
{
    return lo_message_add_typechar(m, LO_INFINITUM);
}