Skip to content

Commit 26e2df1

Browse files
committed
Merge branch 'develop' of https://github.com/csound/csound into develop
2 parents 2757b16 + 665481f commit 26e2df1

File tree

12 files changed

+1383
-1307
lines changed

12 files changed

+1383
-1307
lines changed

Engine/csound_data_structures.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ char *cs_inverse_hash_get(CSOUND* csound, CS_HASH_TABLE* hashTable, int n)
356356
item = item->next;
357357
}
358358
}
359-
return NULL;
359+
return "";
360360
}
361361

362362

Opcodes/arrays.c

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2201,16 +2201,16 @@ static int32_t tabsuma(CSOUND *csound, TABQUERY1 *p)
22012201
if (UNLIKELY(early)) {
22022202
memset(&ans[nsmps], '\0', early*sizeof(MYFLT));
22032203
}
2204-
2204+
22052205
memcpy(ans,&(t->data[0]) + offset,
2206-
sizeof(MYFLT)*nsmps);
2206+
sizeof(MYFLT)*nsmps);
22072207
for (i=0; i<t->dimensions; i++) size += t->sizes[i];
22082208
for (i=1; i<size; i++) {
22092209
int j, k = i*span;
22102210
in = &(t->data[k]);
2211-
for(j=offset; j < nsmps; j++)
2211+
for(j=offset; j < nsmps; j++)
22122212
ans[j] += in[j];
2213-
}
2213+
}
22142214
return OK;
22152215
}
22162216

@@ -3531,14 +3531,38 @@ int32_t shiftout_perf(CSOUND *csound, FFT *p) {
35313531
return OK;
35323532
}
35333533

3534-
int32_t scalarset(CSOUND *csound, FFT *p) {
3534+
int32_t scalarset(CSOUND *csound, TABCOPY *p) {
35353535
IGN(csound);
3536-
uint32_t siz = 0 , dim = p->out->dimensions, i;
3537-
MYFLT val = *((MYFLT *)p->in);
3536+
uint32_t siz = 0 , dim = p->tab->dimensions, i;
3537+
MYFLT val = *p->kfn;
35383538
for (i=0; i < dim; i++)
3539-
siz += p->out->sizes[i];
3539+
siz += p->tab->sizes[i];
35403540
for (i=0; i < siz; i++)
3541-
p->out->data[i] = val;
3541+
p->tab->data[i] = val;
3542+
return OK;
3543+
}
3544+
3545+
int32_t arrayass(CSOUND *csound, TABCOPY *p)
3546+
{
3547+
IGN(csound);
3548+
uint32_t siz = 0 , dim = p->tab->dimensions, i;
3549+
uint32_t offset = p->h.insdshead->ksmps_offset;
3550+
uint32_t early = p->h.insdshead->ksmps_no_end;
3551+
uint32_t n, nsmps = CS_KSMPS;
3552+
int32_t span = (p->tab->arrayMemberSize)/sizeof(MYFLT);
3553+
MYFLT *val = p->kfn;
3554+
3555+
for (i=0; i < dim; i++)
3556+
siz += p->tab->sizes[i];
3557+
for (i=0; i < siz; i++) {
3558+
int32_t pp = i*span;
3559+
for (n=0; n<offset; n++)
3560+
p->tab->data[pp+n] = FL(0.0);
3561+
for (n=offset; n<nsmps-early; n++)
3562+
p->tab->data[pp+n] = val[n];
3563+
for (n=nsmps-early; n<nsmps; n++)
3564+
p->tab->data[pp+n] = FL(0.0);
3565+
}
35423566
return OK;
35433567
}
35443568

@@ -4054,9 +4078,9 @@ static OENTRY arrayvars_localops[] =
40544078
{ "lentab.k", sizeof(TABQUERY1), _QQ, 1, "k", "k[]p", NULL, (SUBR) tablength },
40554079
{ "lenarray.ix", sizeof(TABQUERY1), 0, 1, "i", ".[]p", (SUBR) tablength },
40564080
{ "lenarray.kx", sizeof(TABQUERY1), 0, 2, "k", ".[]p", NULL, (SUBR)tablength },
4057-
{ "out.A", sizeof(OUTA), 0, 3,"", "a[]", (SUBR)outa_set, (SUBR)outa},
4081+
{ "out.A", sizeof(OUTA), IR, 3,"", "a[]", (SUBR)outa_set, (SUBR)outa},
40584082
{ "in.A", sizeof(OUTA), 0, 3, "a[]", "", (SUBR)ina_set, (SUBR)ina},
4059-
{ "monitor.A", sizeof(OUTA), 0, 3, "a[]", "",
4083+
{ "monitor.A", sizeof(OUTA), IB, 3, "a[]", "",
40604084
(SUBR)monitora_init, (SUBR)monitora_perf},
40614085
{ "rfft", sizeof(FFT), 0, 3, "k[]","k[]",
40624086
(SUBR) init_rfft, (SUBR) perf_rfft, NULL},
@@ -4128,8 +4152,9 @@ static OENTRY arrayvars_localops[] =
41284152
(SUBR) shiftout_init, (SUBR) shiftout_perf},
41294153
{"unwrap", sizeof(FFT), 0, 3, "k[]","k[]",
41304154
(SUBR) init_recttopol, (SUBR) unwrap},
4131-
{"=.k", sizeof(FFT), 0, 3, "k[]","k", (SUBR) scalarset, (SUBR) scalarset},
4132-
{"dct", sizeof(FFT), 0, 3, "k[]","k[]",
4155+
{"=.X", sizeof(TABCOPY), 0, 3, "k[]","k", (SUBR) scalarset, (SUBR) scalarset},
4156+
{"=.Z", sizeof(TABCOPY), 0 , 2, "a[]", "a", NULL, (SUBR) arrayass},
4157+
{"dct", sizeof(FFT), 0, 3, "k[]","k[]",
41334158
(SUBR) init_dct, (SUBR) kdct, NULL},
41344159
{"dct", sizeof(FFT), 0, 1, "i[]","i[]",
41354160
(SUBR) dct, NULL, NULL},

cmake/Modules/FindLIBLO.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
find_path(LIBLO_INCLUDE_DIR lo.h PATH_SUFFIXES lo)
88

99
if(LINUX)
10-
find_library(LIBLO_LIBRARY NAMES lo)
10+
find_library(LIBLO_LIBRARY NAMES lo)
1111
else()
12-
find_library(LIBLO_LIBRARY NAMES liblo.a lo)
12+
find_library(LIBLO_LIBRARY NAMES liblo.a liblo)
1313
endif()
1414

1515
set(LIBLO_INCLUDE_DIRS ${LIBLO_INCLUDE_DIR})

0 commit comments

Comments
 (0)