AudioNet / node-core-audio

Bindings for PortAudio giving JavaScript access to sound card samples (mostly unmaintained)
MIT License
330 stars 66 forks source link

Compile Error Node 13 Linux #76

Open mnini opened 4 years ago

mnini commented 4 years ago
make: Entering directory '/home/me/Code/Node/Audio/node_modules/node-core-audio/build'
  CXX(target) Release/obj.target/NodeCoreAudio/NodeCoreAudio/AudioEngine.o
In file included from ../NodeCoreAudio/AudioEngine.h:12,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../NodeCoreAudio/AudioEngine.cpp:9:
../NodeCoreAudio/AudioEngine.h: At global scope:
../NodeCoreAudio/AudioEngine.h:30:24: error: ‘v8::Handle’ has not been declared
   static void Init(v8::Handle<v8::Object> target);
                        ^~~~~~
../NodeCoreAudio/AudioEngine.h:30:30: error: expected ‘,’ or ‘...’ before ‘<’ token
   static void Init(v8::Handle<v8::Object> target);
                              ^
../NodeCoreAudio/AudioEngine.h:76:24: error: ‘v8::Handle’ has not been declared
   void wrapObject( v8::Handle<v8::Object> object );  //!< Wraps a handle into an object
                        ^~~~~~
../NodeCoreAudio/AudioEngine.h:76:30: error: expected ‘,’ or ‘...’ before ‘<’ token
   void wrapObject( v8::Handle<v8::Object> object );  //!< Wraps a handle into an object
                              ^
../NodeCoreAudio/AudioEngine.h:78:27: error: ‘Handle’ has not been declared
   void queueOutputBuffer( Handle<Array> result );   //!< Queues up an array to be sent to the sound card
                           ^~~~~~
../NodeCoreAudio/AudioEngine.h:78:33: error: expected ‘,’ or ‘...’ before ‘<’ token
   void queueOutputBuffer( Handle<Array> result );   //!< Queues up an array to be sent to the sound card
                                 ^
../NodeCoreAudio/AudioEngine.h:79:33: error: ‘Handle’ has not been declared
   void setSample( int position, Handle<Value> sample ); //!< Sets a sample in the queued output buffer
                                 ^~~~~~
../NodeCoreAudio/AudioEngine.h:79:39: error: expected ‘,’ or ‘...’ before ‘<’ token
   void setSample( int position, Handle<Value> sample ); //!< Sets a sample in the queued output buffer
                                       ^
../NodeCoreAudio/AudioEngine.h:82:3: error: ‘Handle’ does not name a type; did you mean ‘rand_r’?
   Handle<Number> getSample( int position );    //!< Returns a sound card sample converted to a v8 Number
   ^~~~~~
   rand_r
../NodeCoreAudio/AudioEngine.cpp: In constructor ‘Audio::AudioEngine::AudioEngine(v8::Local<v8::Object>)’:
../NodeCoreAudio/AudioEngine.cpp:66:71: error: no matching function for call to ‘v8::Array::Set(int&, Nan::imp::FactoryBase<v8::Array>::return_t)’
   m_hInputBuffer->Set( iChannel, Nan::New<Array>(m_uSamplesPerBuffer) );
                                                                       ^
In file included from ../NodeCoreAudio/AudioEngine.h:9,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3547:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                     ^~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3550:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                     ^~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
../NodeCoreAudio/AudioEngine.cpp: In member function ‘v8::Local<v8::Array> Audio::AudioEngine::getInputBuffer()’:
../NodeCoreAudio/AudioEngine.cpp:252:34: error: ‘getSample’ was not declared in this scope
    m_hInputBuffer->Set( iSample, getSample(iSample) );
                                  ^~~~~~~~~
../NodeCoreAudio/AudioEngine.cpp:252:34: note: suggested alternative: ‘setSample’
    m_hInputBuffer->Set( iSample, getSample(iSample) );
                                  ^~~~~~~~~
                                  setSample
../NodeCoreAudio/AudioEngine.cpp:260:31: error: ‘getSample’ was not declared in this scope
     tempBuffer->Set( iSample, getSample(iSample) );
                               ^~~~~~~~~
../NodeCoreAudio/AudioEngine.cpp:260:31: note: suggested alternative: ‘setSample’
     tempBuffer->Set( iSample, getSample(iSample) );
                               ^~~~~~~~~
                               setSample
../NodeCoreAudio/AudioEngine.cpp:263:46: error: no matching function for call to ‘v8::Array::Set(int&, v8::Local<v8::Array>&)’
    m_hInputBuffer->Set( iChannel, tempBuffer );
                                              ^
In file included from ../NodeCoreAudio/AudioEngine.h:9,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3547:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                     ^~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3547:37: note:   candidate expects 3 arguments, 2 provided
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3550:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                     ^~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:3550:37: note:   candidate expects 3 arguments, 2 provided
../NodeCoreAudio/AudioEngine.cpp: At global scope:
../NodeCoreAudio/AudioEngine.cpp:273:1: error: ‘Handle’ does not name a type; did you mean ‘rand_r’?
 Handle<Number> Audio::AudioEngine::getSample( int position ) {
 ^~~~~~
 rand_r
../NodeCoreAudio/AudioEngine.cpp:311:51: error: ‘Handle’ has not been declared
 void Audio::AudioEngine::setSample( int position, Handle<Value> sample ) {
                                                   ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:311:57: error: expected ‘,’ or ‘...’ before ‘<’ token
 void Audio::AudioEngine::setSample( int position, Handle<Value> sample ) {
                                                         ^
../NodeCoreAudio/AudioEngine.cpp: In member function ‘void Audio::AudioEngine::setSample(int, int)’:
../NodeCoreAudio/AudioEngine.cpp:315:82: error: ‘sample’ was not declared in this scope
   ((float *)m_cachedOutputSampleBlock[m_uCurrentWriteBuffer])[position] = (float)sample->NumberValue();
                                                                                  ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:315:82: note: suggested alternative: ‘setSample’
   ((float *)m_cachedOutputSampleBlock[m_uCurrentWriteBuffer])[position] = (float)sample->NumberValue();
                                                                                  ^~~~~~
                                                                                  setSample
../NodeCoreAudio/AudioEngine.cpp: At global scope:
../NodeCoreAudio/AudioEngine.cpp:342:45: error: variable or field ‘queueOutputBuffer’ declared void
 void Audio::AudioEngine::queueOutputBuffer( Handle<Array> result ) {
                                             ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:342:45: error: ‘Handle’ was not declared in this scope
../NodeCoreAudio/AudioEngine.cpp:342:45: note: suggested alternative: ‘rand_r’
 void Audio::AudioEngine::queueOutputBuffer( Handle<Array> result ) {
                                             ^~~~~~
                                             rand_r
../NodeCoreAudio/AudioEngine.cpp:342:57: error: expected primary-expression before ‘>’ token
 void Audio::AudioEngine::queueOutputBuffer( Handle<Array> result ) {
                                                         ^
../NodeCoreAudio/AudioEngine.cpp:342:59: error: ‘result’ was not declared in this scope
 void Audio::AudioEngine::queueOutputBuffer( Handle<Array> result ) {
                                                           ^~~~~~
In file included from ../NodeCoreAudio/AudioEngine.h:12,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
../NodeCoreAudio/AudioEngine.cpp:416:17: error: no declaration matches ‘void Audio::AudioEngine::Init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’
 NAN_MODULE_INIT(Audio::AudioEngine::Init) {
                 ^~~~~
../../nan/nan.h:155:10: note: in definition of macro ‘NAN_MODULE_INIT’
     void name(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target)
          ^~~~
In file included from ../NodeCoreAudio/AudioEngine.cpp:9:
../NodeCoreAudio/AudioEngine.h:30:15: note: candidate is: ‘static void Audio::AudioEngine::Init(int)’
   static void Init(v8::Handle<v8::Object> target);
               ^~~~
../NodeCoreAudio/AudioEngine.h:24:8: note: ‘class Audio::AudioEngine’ defined here
  class AudioEngine : public node::ObjectWrap {
        ^~~~~~~~~~~
../NodeCoreAudio/AudioEngine.cpp: In static member function ‘static void Audio::AudioEngine::NewInstance(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../NodeCoreAudio/AudioEngine.cpp:466:2: error: ‘Handle’ was not declared in this scope
  Handle<Value>* argv = new Handle<Value>[argc];
  ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:466:2: note: suggested alternative: ‘handle’
  Handle<Value>* argv = new Handle<Value>[argc];
  ^~~~~~
  handle
../NodeCoreAudio/AudioEngine.cpp:466:14: error: expected primary-expression before ‘>’ token
  Handle<Value>* argv = new Handle<Value>[argc];
              ^
../NodeCoreAudio/AudioEngine.cpp:466:17: error: ‘argv’ was not declared in this scope
  Handle<Value>* argv = new Handle<Value>[argc];
                 ^~~~
../NodeCoreAudio/AudioEngine.cpp:466:17: note: suggested alternative: ‘argc’
  Handle<Value>* argv = new Handle<Value>[argc];
                 ^~~~
                 argc
../NodeCoreAudio/AudioEngine.cpp:466:28: error: ‘Handle’ does not name a type; did you mean ‘rand_r’?
  Handle<Value>* argv = new Handle<Value>[argc];
                            ^~~~~~
                            rand_r
../NodeCoreAudio/AudioEngine.cpp:466:40: error: expected primary-expression before ‘>’ token
  Handle<Value>* argv = new Handle<Value>[argc];
                                        ^
../NodeCoreAudio/AudioEngine.cpp: In lambda function:
../NodeCoreAudio/AudioEngine.cpp:466:47: error: expected ‘{’ before ‘;’ token
  Handle<Value>* argv = new Handle<Value>[argc];
                                               ^
../NodeCoreAudio/AudioEngine.cpp: In static member function ‘static void Audio::AudioEngine::write(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../NodeCoreAudio/AudioEngine.cpp:516:58: error: no matching function for call to ‘Audio::AudioEngine::queueOutputBuffer(v8::Local<v8::Array>)’
  pEngine->queueOutputBuffer( Local<Array>::Cast(info[0]) );
                                                          ^
In file included from ../NodeCoreAudio/AudioEngine.cpp:9:
../NodeCoreAudio/AudioEngine.h:78:8: note: candidate: ‘void Audio::AudioEngine::queueOutputBuffer(int)’
   void queueOutputBuffer( Handle<Array> result );   //!< Queues up an array to be sent to the sound card
        ^~~~~~~~~~~~~~~~~
../NodeCoreAudio/AudioEngine.h:78:8: note:   no known conversion for argument 1 from ‘v8::Local<v8::Array>’ to ‘int’
../NodeCoreAudio/AudioEngine.cpp: In static member function ‘static void Audio::AudioEngine::getDeviceName(const Nan::FunctionCallbackInfo<v8::Value>&)’:
../NodeCoreAudio/AudioEngine.cpp:581:94: error: no matching function for call to ‘v8::Number::NumberValue()’
  const PaDeviceInfo* pDeviceInfo = Pa_GetDeviceInfo( (PaDeviceIndex)deviceIndex->NumberValue() );
                                                                                              ^
In file included from ../NodeCoreAudio/AudioEngine.h:9,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:2773:39: note: candidate: ‘v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const’
   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
                                       ^~~~~~~~~~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:2773:39: note:   candidate expects 1 argument, 0 provided
../NodeCoreAudio/AudioEngine.cpp: At global scope:
../NodeCoreAudio/AudioEngine.cpp:641:42: error: variable or field ‘wrapObject’ declared void
 void Audio::AudioEngine::wrapObject( v8::Handle<v8::Object> object ) {
                                          ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:641:42: error: ‘Handle’ is not a member of ‘v8’
../NodeCoreAudio/AudioEngine.cpp:641:59: error: expected primary-expression before ‘>’ token
 void Audio::AudioEngine::wrapObject( v8::Handle<v8::Object> object ) {
                                                           ^
../NodeCoreAudio/AudioEngine.cpp:641:61: error: ‘object’ was not declared in this scope
 void Audio::AudioEngine::wrapObject( v8::Handle<v8::Object> object ) {
                                                             ^~~~~~
../NodeCoreAudio/AudioEngine.cpp:641:61: note: suggested alternative: ‘connect’
 void Audio::AudioEngine::wrapObject( v8::Handle<v8::Object> object ) {
                                                             ^~~~~~
                                                             connect
In file included from ../NodeCoreAudio/AudioEngine.h:9,
                 from ../NodeCoreAudio/AudioEngine.cpp:9:
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/node_object_wrap.h:85:78:   required from here
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:10400:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../nan/nan_object_wrap.h:65:61:   required from here
/home/me/snap/code/common/.cache/node-gyp/13.6.0/include/node/v8.h:10400:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
make: *** [NodeCoreAudio.target.mk:116: Release/obj.target/NodeCoreAudio/NodeCoreAudio/AudioEngine.o] Error 1
make: Leaving directory '/home/me/Code/Node/Audio/node_modules/node-core-audio/build'

gcc/x86_64-linux-gnu/8/

theoparis commented 4 years ago

Same issue :/