Merge from default branch

This commit is contained in:
Chris Cannam
2024-01-31 17:32:07 +00:00
14 changed files with 243 additions and 16 deletions

View File

@@ -192,7 +192,7 @@ D_IPP::D_IPP(Resampler::Quality /* quality */,
// elements with indices greater than m_time + length for the
// right filter wing for the last element.
m_history = int(m_window * 0.5 * max(1.0, 1.0 / m_factor)) + 1;
m_history = int(m_window * 0.5 * std::max(1.0, 1.0 / m_factor)) + 1;
m_state = new IppsResamplingPolyphase_32f *[m_channels];
@@ -305,7 +305,7 @@ D_IPP::resample(float *const BQ_R__ *const BQ_R__ out,
{
if (ratio > m_factor) {
m_factor = ratio;
m_history = int(m_window * 0.5 * max(1.0, 1.0 / m_factor)) + 1;
m_history = int(m_window * 0.5 * std::max(1.0, 1.0 / m_factor)) + 1;
}
if (m_debugLevel > 2) {
@@ -348,7 +348,7 @@ D_IPP::resampleInterleaved(float *const BQ_R__ out,
{
if (ratio > m_factor) {
m_factor = ratio;
m_history = int(m_window * 0.5 * max(1.0, 1.0 / m_factor)) + 1;
m_history = int(m_window * 0.5 * std::max(1.0, 1.0 / m_factor)) + 1;
}
if (m_debugLevel > 2) {

View File

@@ -152,7 +152,7 @@ system_is_multiprocessor()
#ifdef _WIN32
void gettimeofday(struct timeval *tv, void *tz)
void gettimeofday(struct timeval *tv, void * /* tz */)
{
union {
long long ns100;

View File

@@ -45,6 +45,19 @@
# define R__
#endif
#ifndef RUBBERBAND_ENABLE_WARNINGS
#if defined(_MSC_VER)
#pragma warning(disable:4127; disable:4244; disable:4267)
#elif defined(__GNUC__)
#pragma GCC diagnostic ignored "-Wconversion"
#elif defined(__clang__)
#pragma clang diagnostic ignored "-Wsign-conversion"
#pragma clang diagnostic ignored "-Wfloat-conversion"
#pragma clang diagnostic ignored "-Wimplicit-float-conversion"
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
#endif
#endif
#ifdef __clang__
# define RTENTRY__ __attribute__((annotate("realtime")))
#else

View File

@@ -35,6 +35,10 @@
#include <stdlib.h>
#include <string.h>
#ifdef _MSC_VER
#pragma warning (disable: 4131; disable: 4706)
#endif
int opterr = 1, /* if error message should be printed */
optind = 1, /* index into parent argv vector */
optopt, /* character checked for validity */

View File

@@ -54,6 +54,10 @@
#include <stdio.h>
#include <stdarg.h>
#ifdef _MSC_VER
#pragma warning (disable: 4131; disable: 4996)
#endif
GETOPT_API extern char opterrmsg[128];
char opterrmsg[128]; /* last error message is stored here */

View File

@@ -89,8 +89,7 @@ R2Stretcher::ChannelData::construct(const std::set<size_t> &sizes,
unityResetLow = 16000.f;
for (std::set<size_t>::const_iterator i = sizes.begin();
i != sizes.end(); ++i) {
for (i = sizes.begin(); i != sizes.end(); ++i) {
ffts[*i] = new FFT(*i);
if (sizeof(process_t) == sizeof(double)) {
ffts[*i]->initDouble();

View File

@@ -1006,7 +1006,7 @@ R3Stretcher::consume(bool final)
while (true) {
Profiler profiler("R3Stretcher::consume/loop");
Profiler profiler2("R3Stretcher::consume/loop");
int readSpace = cd0->inbuf->getReadSpace();
m_log.log(2, "consume: read space", readSpace);

View File

@@ -87,6 +87,22 @@ JNIEXPORT jdouble JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_
JNIEXPORT jdouble JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_getPitchScale
(JNIEnv *, jobject);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: getPreferredStartPad
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_getPreferredStartPad
(JNIEnv *, jobject);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: getStartDelay
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_getStartDelay
(JNIEnv *, jobject);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: getLatency
@@ -151,6 +167,14 @@ JNIEXPORT void JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_set
JNIEXPORT void JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_setMaxProcessSize
(JNIEnv *, jobject, jint);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: getProcessSizeLimit
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_getProcessSizeLimit
(JNIEnv *, jobject);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: getSamplesRequired
@@ -159,6 +183,14 @@ JNIEXPORT void JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_set
JNIEXPORT jint JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_getSamplesRequired
(JNIEnv *, jobject);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: setKeyFrameMap
* Signature: ([J[J)V
*/
JNIEXPORT void JNICALL Java_com_breakfastquay_rubberband_RubberBandStretcher_setKeyFrameMap
(JNIEnv *, jobject, jlongArray, jlongArray);
/*
* Class: com_breakfastquay_rubberband_RubberBandStretcher
* Method: study
@@ -269,6 +301,18 @@ Java_com_breakfastquay_rubberband_RubberBandStretcher_getPitchScale(JNIEnv *env,
return getStretcher(env, obj)->getPitchScale();
}
JNIEXPORT jint JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_getPreferredStartPad(JNIEnv *env, jobject obj)
{
return getStretcher(env, obj)->getPreferredStartPad();
}
JNIEXPORT jint JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_getStartDelay(JNIEnv *env, jobject obj)
{
return getStretcher(env, obj)->getStartDelay();
}
JNIEXPORT jint JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_getLatency(JNIEnv *env, jobject obj)
{
@@ -317,12 +361,34 @@ Java_com_breakfastquay_rubberband_RubberBandStretcher_setMaxProcessSize(JNIEnv *
getStretcher(env, obj)->setMaxProcessSize(size);
}
JNIEXPORT jint JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_getProcessSizeLimit(JNIEnv *env, jobject obj)
{
return getStretcher(env, obj)->getProcessSizeLimit();
}
JNIEXPORT jint JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_getSamplesRequired(JNIEnv *env, jobject obj)
{
return getStretcher(env, obj)->getSamplesRequired();
}
JNIEXPORT void JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_setKeyFrameMap(JNIEnv *env, jobject obj, jlongArray from, jlongArray to)
{
std::map<size_t, size_t> m;
int flen = env->GetArrayLength(from);
int tlen = env->GetArrayLength(to);
jlong *farr = env->GetLongArrayElements(from, 0);
jlong *tarr = env->GetLongArrayElements(to, 0);
for (int i = 0; i < flen && i < tlen; ++i) {
m[farr[i]] = tarr[i];
}
env->ReleaseLongArrayElements(from, farr, 0);
env->ReleaseLongArrayElements(to, tarr, 0);
getStretcher(env, obj)->setKeyFrameMap(m);
}
JNIEXPORT void JNICALL
Java_com_breakfastquay_rubberband_RubberBandStretcher_study(JNIEnv *env, jobject obj, jobjectArray data, jint offset, jint n, jboolean final)
{

View File

@@ -90,17 +90,17 @@ double rubberband_get_formant_scale(const RubberBandState state)
unsigned int rubberband_get_preferred_start_pad(const RubberBandState state)
{
return state->m_s->getPreferredStartPad();
return (unsigned int)state->m_s->getPreferredStartPad();
}
unsigned int rubberband_get_start_delay(const RubberBandState state)
{
return state->m_s->getStartDelay();
return (unsigned int)state->m_s->getStartDelay();
}
unsigned int rubberband_get_latency(const RubberBandState state)
{
return state->m_s->getLatency();
return (unsigned int)state->m_s->getLatency();
}
void rubberband_set_transients_option(RubberBandState state, RubberBandOptions options)
@@ -135,7 +135,7 @@ void rubberband_set_expected_input_duration(RubberBandState state, unsigned int
unsigned int rubberband_get_samples_required(const RubberBandState state)
{
return state->m_s->getSamplesRequired();
return (unsigned int)state->m_s->getSamplesRequired();
}
void rubberband_set_max_process_size(RubberBandState state, unsigned int samples)
@@ -145,7 +145,7 @@ void rubberband_set_max_process_size(RubberBandState state, unsigned int samples
unsigned int rubberband_get_process_size_limit(RubberBandState state)
{
return state->m_s->getProcessSizeLimit();
return (unsigned int)state->m_s->getProcessSizeLimit();
}
void rubberband_set_key_frame_map(RubberBandState state, unsigned int keyframecount, unsigned int *from, unsigned int *to)
@@ -174,12 +174,12 @@ int rubberband_available(const RubberBandState state)
unsigned int rubberband_retrieve(const RubberBandState state, float *const *output, unsigned int samples)
{
return state->m_s->retrieve(output, samples);
return (unsigned int)state->m_s->retrieve(output, samples);
}
unsigned int rubberband_get_channel_count(const RubberBandState state)
{
return state->m_s->getChannelCount();
return (unsigned int)state->m_s->getChannelCount();
}
void rubberband_calculate_stretch(RubberBandState state)