Merge from default branch

This commit is contained in:
Chris Cannam
2024-10-02 11:17:11 +01:00
7 changed files with 44 additions and 37 deletions

View File

@@ -220,7 +220,7 @@ RubberBandLivePitchShifter::getDescriptor(unsigned long index)
const LV2_Descriptor const LV2_Descriptor
RubberBandLivePitchShifter::lv2DescriptorMono = RubberBandLivePitchShifter::lv2DescriptorMono =
{ {
"http://breakfastquay.com/rdf/lv2-rubberband-live#mono", "http://breakfastquay.com/rdf/lv2-rubberband#livemono",
instantiate, instantiate,
connectPort, connectPort,
activate, activate,
@@ -233,7 +233,7 @@ RubberBandLivePitchShifter::lv2DescriptorMono =
const LV2_Descriptor const LV2_Descriptor
RubberBandLivePitchShifter::lv2DescriptorStereo = RubberBandLivePitchShifter::lv2DescriptorStereo =
{ {
"http://breakfastquay.com/rdf/lv2-rubberband-live#stereo", "http://breakfastquay.com/rdf/lv2-rubberband#livestereo",
instantiate, instantiate,
connectPort, connectPort,
activate, activate,

View File

@@ -220,7 +220,7 @@ RubberBandR3PitchShifter::getDescriptor(unsigned long index)
const LV2_Descriptor const LV2_Descriptor
RubberBandR3PitchShifter::lv2DescriptorMono = RubberBandR3PitchShifter::lv2DescriptorMono =
{ {
"http://breakfastquay.com/rdf/lv2-rubberband-r3#mono", "http://breakfastquay.com/rdf/lv2-rubberband#r3mono",
instantiate, instantiate,
connectPort, connectPort,
activate, activate,
@@ -233,7 +233,7 @@ RubberBandR3PitchShifter::lv2DescriptorMono =
const LV2_Descriptor const LV2_Descriptor
RubberBandR3PitchShifter::lv2DescriptorStereo = RubberBandR3PitchShifter::lv2DescriptorStereo =
{ {
"http://breakfastquay.com/rdf/lv2-rubberband-r3#stereo", "http://breakfastquay.com/rdf/lv2-rubberband#r3stereo",
instantiate, instantiate,
connectPort, connectPort,
activate, activate,

View File

@@ -2,7 +2,7 @@
project( project(
'Rubber Band Library', 'Rubber Band Library',
'c', 'cpp', 'c', 'cpp',
version: '3.3.0', version: '4.0.0',
license: 'GPL-2.0-or-later', license: 'GPL-2.0-or-later',
default_options: [ default_options: [
'cpp_std=c++11', 'cpp_std=c++11',
@@ -15,7 +15,7 @@ project(
meson_version: '>= 0.53.0' meson_version: '>= 0.53.0'
) )
rubberband_dynamic_library_version = '2.3.0' rubberband_dynamic_library_version = '3.0.0'
system = host_machine.system() system = host_machine.system()
architecture = host_machine.cpu_family() architecture = host_machine.cpu_family()

View File

@@ -23,10 +23,10 @@
#ifndef RUBBERBAND_LIVE_SHIFTER_H #ifndef RUBBERBAND_LIVE_SHIFTER_H
#define RUBBERBAND_LIVE_SHIFTER_H #define RUBBERBAND_LIVE_SHIFTER_H
#define RUBBERBAND_LIVE_VERSION "0.0.1" #define RUBBERBAND_VERSION "4.0.0"
#define RUBBERBAND_LIVE_API_MAJOR_VERSION 0 #define RUBBERBAND_API_MAJOR_VERSION 3
#define RUBBERBAND_LIVE_API_MINOR_VERSION 0 #define RUBBERBAND_API_MINOR_VERSION 0
#undef RUBBERBAND_LIVE_DLLEXPORT #undef RUBBERBAND_LIVE_DLLEXPORT
#ifdef _MSC_VER #ifdef _MSC_VER
@@ -49,8 +49,9 @@ namespace RubberBand
* *
* RubberBand::RubberBandLiveShifter is an interface to the Rubber * RubberBand::RubberBandLiveShifter is an interface to the Rubber
* Band Library designed for applications that need to perform * Band Library designed for applications that need to perform
* pitch-shifting only, without time-stretching, and to do so with the * pitch-shifting only, without time-stretching, and to do so in a
* shortest available processing delay. * straightforward block-by-block process with the shortest available
* processing delay.
* *
* RubberBandLiveShifter has a much simpler API than the general * RubberBandLiveShifter has a much simpler API than the general
* RubberBandStretcher. Its process function, called * RubberBandStretcher. Its process function, called
@@ -67,15 +68,15 @@ namespace RubberBand
* it only needs to be queried once and then fixed-size buffers may be * it only needs to be queried once and then fixed-size buffers may be
* passed. * passed.
* *
* Using RubberBandLiveShifter also gives a substantially shorter * Using RubberBandLiveShifter also gives a shorter processing delay
* processing delay than a typical buffering setup using * than a typical buffering setup using RubberBandStretcher, making it
* RubberBandStretcher, making it a useful choice for some live * a useful choice for some streamed or live situations. However, it
* situations, although it is still not a low-latency effect (and * is still not a low-latency effect, with a delay of 50ms or more
* never will be) with a delay of 50ms or more between input and * between input and output signals depending on configuration. (The
* output signals depending on configuration. The actual value may be * actual value may be queried via
* queried via RubberBandLiveShifter::getStartDelay(). The shifter is * RubberBandLiveShifter::getStartDelay().) The shifter is real-time
* real-time safe in the sense of avoiding allocation, locking, or * safe in the sense of avoiding allocation, locking, or blocking
* blocking operations in the processing path. * operations in the processing path.
* *
* ### Thread safety * ### Thread safety
* *

View File

@@ -24,9 +24,9 @@
#ifndef RUBBERBAND_STRETCHER_H #ifndef RUBBERBAND_STRETCHER_H
#define RUBBERBAND_STRETCHER_H #define RUBBERBAND_STRETCHER_H
#define RUBBERBAND_VERSION "3.3.0" #define RUBBERBAND_VERSION "4.0.0"
#define RUBBERBAND_API_MAJOR_VERSION 2 #define RUBBERBAND_API_MAJOR_VERSION 3
#define RUBBERBAND_API_MINOR_VERSION 8 #define RUBBERBAND_API_MINOR_VERSION 0
#undef RUBBERBAND_DLLEXPORT #undef RUBBERBAND_DLLEXPORT
#ifdef _MSC_VER #ifdef _MSC_VER
@@ -53,13 +53,16 @@ namespace RubberBand
* *
* ### Summary * ### Summary
* *
* The Rubber Band Library API is contained in the single class * The primary Rubber Band Library API is contained in the class
* RubberBand::RubberBandStretcher. * RubberBand::RubberBandStretcher. This class can perform both pitch
* shifting and time stretching and supports every feature of the
* library. A simpler, more limited alternative API that supports only
* pitch-shifting can be found in RubberBand::RubberBandLiveShifter.
* *
* The Rubber Band stretcher supports two processing modes, offline * RubberBandStretcher supports two processing modes, offline and
* and real-time, and two processing "engines", known as the R2 or * real-time, and two processing "engines", known as the R2 or Faster
* Faster engine and the R3 or Finer engine. The choices of processing * engine and the R3 or Finer engine. The choices of processing mode
* mode and engine are fixed on construction: see * and engine are fixed on construction: see
* RubberBandStretcher::RubberBandStretcher. The two engines work * RubberBandStretcher::RubberBandStretcher. The two engines work
* identically in API terms, and both of them support both offline and * identically in API terms, and both of them support both offline and
* real-time modes as described below. * real-time modes as described below.

View File

@@ -28,10 +28,10 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#define RUBBERBAND_VERSION "3.3.0" #define RUBBERBAND_VERSION "4.0.0"
#define RUBBERBAND_API_MAJOR_VERSION 2 #define RUBBERBAND_API_MAJOR_VERSION 3
#define RUBBERBAND_API_MINOR_VERSION 8 #define RUBBERBAND_API_MINOR_VERSION 0
#undef RB_EXTERN #undef RB_EXTERN
#ifdef _MSC_VER #ifdef _MSC_VER

View File

@@ -27,9 +27,10 @@
This is a single-file compilation unit for Rubber Band Library. This is a single-file compilation unit for Rubber Band Library.
To use the library in your project without building it separately, To use the library in your project without building it separately,
include in your code either rubberband/RubberBandStretcher.h for include in your code either rubberband/RubberBandStretcher.h
use in C++ or rubberband/rubberband-c.h if you need the C and/or rubberband/RubberBandLiveShifter.h for use in C++, or
interface, then add this single C++ source file to your build. rubberband/rubberband-c.h if you need the C interface, then add
this single C++ source file to your build.
Don't move this file into your source tree - keep it in the same Don't move this file into your source tree - keep it in the same
place relative to the other Rubber Band code, so that the relative place relative to the other Rubber Band code, so that the relative
@@ -79,7 +80,9 @@
#include "../src/faster/R2Stretcher.cpp" #include "../src/faster/R2Stretcher.cpp"
#include "../src/faster/StretcherProcess.cpp" #include "../src/faster/StretcherProcess.cpp"
#include "../src/finer/R3Stretcher.cpp" #include "../src/finer/R3Stretcher.cpp"
#include "../src/finer/R3LiveShifter.cpp"
#include "../src/RubberBandStretcher.cpp" #include "../src/RubberBandStretcher.cpp"
#include "../src/RubberBandLiveShifter.cpp"
#include "../src/rubberband-c.cpp" #include "../src/rubberband-c.cpp"