stephen / airsonos

:musical_note: AirPlay to Sonos
MIT License
2.1k stars 252 forks source link

airsonos on mac 10.12.2 #348

Open rajeevtom opened 7 years ago

rajeevtom commented 7 years ago

Hi Stephen n others,

airsonos is a solution of my biggest problem it seems :-) I am trying to install airsonos on my mac and getting following error. I tried playing with different versions of node.js but of no use. Any help will be highly appreciated.

rajeevs-air:airsonos root# node -v v6.9.2 rajeevs-air:airsonos root# npm -v 3.10.9

rajeevs-air:airsonos root# npm install -g npm WARN cannot run in wd airsonos@0.2.6 babel ./lib/ -d ./bin/ (wd=/Users/rajeev/airsonos) npm WARN engine nodetunes@0.3.0: wanted: {"node":"0.12.x"} (current: {"node":"4.0.0","npm":"2.14.2"}) npm WARN deprecated static-favicon@1.0.2: use serve-favicon module npm WARN deprecated node-uuid@1.4.7: use uuid module instead npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated |

mdns@2.3.3 install /usr/local/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/mdns node-gyp rebuild

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied sh: node-gyp: command not found

libalac@0.1.2 install /usr/local/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/alac2pcm/node_modules/libalac node-gyp rebuild

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied sh: node-gyp: command not found npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

fsevents@1.0.15 install /usr/local/lib/node_modules/airsonos/node_modules/babel/node_modules/chokidar/node_modules/fsevents node-pre-gyp install --fallback-to-build

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied sh: node-pre-gyp: command not found npm WARN optional dep failed, continuing fsevents@1.0.15

lame@1.2.4 install /usr/local/lib/node_modules/airsonos/node_modules/nicercast/node_modules/lame node-gyp rebuild

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied sh: node-gyp: command not found npm ERR! Darwin 16.3.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" npm ERR! node v4.0.0 npm ERR! npm v2.14.2 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn

npm ERR! mdns@2.3.3 install: node-gyp rebuild npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the mdns@2.3.3 install script 'node-gyp rebuild'. npm ERR! This is most likely a problem with the mdns package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls mdns npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request: npm ERR! /Users/rajeev/airsonos/npm-debug.log rajeevs-air:airsonos root# npm install -g npm ERR! Darwin 16.3.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" npm ERR! node v6.9.2 npm ERR! npm v3.10.9 npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'github-url-from-git' npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! https://github.com/npm/npm/issues

npm ERR! Please include the following file with any support request: npm ERR! /Users/rajeev/airsonos/npm-debug.log rajeevs-air:airsonos root# node -v v6.9.2 rajeevs-air:airsonos root# npm -v 3.10.9 rajeevs-air:airsonos root#

Thanks and Regards Rajeev

tomodwyer commented 7 years ago

@rajeevtom

It seems this project is dead at the moment. I have forked the repository and it's dependencies here: https://github.com/tomodwyer/airsonos - could you try following the install instructions from there and let me know if that works?

I just testing using your version of Node with my copy and everything seems to work :+1:

rajeevtom commented 7 years ago

Hi Tom

Million thanks for your reply. I tried as per your instructions but it is still not working, it is asking for some module as shown below :

rajeevs-air:rajeev root# rm -rf airsonos rajeevs-air:rajeev root# node -v v7.4.0 rajeevs-air:rajeev root# npm -v 4.0.5 rajeevs-air:rajeev root# git clone https://github.com/tomodwyer/airsonos.git Cloning into 'airsonos'... remote: Counting objects: 539, done. remote: Compressing objects: 100% (56/56), done. remote: Total 539 (delta 26), reused 0 (delta 0), pack-reused 481 Receiving objects: 100% (539/539), 752.23 KiB | 779.00 KiB/s, done. Resolving deltas: 100% (267/267), done. rajeevs-air:rajeev root# cd airsonos/ rajeevs-air:airsonos root# npm install npm ERR! Darwin 16.3.0 npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" npm ERR! node v7.4.0 npm ERR! npm v4.0.5 npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'github-url-from-git' npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! https://github.com/npm/npm/issues

npm ERR! Please include the following file with any support request: npm ERR! /Users/rajeev/airsonos/npm-debug.log rajeevs-air:airsonos root#

am i doing something wrong ? My MacBook Air iOS Sierra Version is 10.12.2

Regards Rajeev

tomodwyer commented 7 years ago

Looks like that's an issue with the npm install rather than the module. As a starting point could you try the solution from here: https://github.com/npm/npm/issues/14026#issuecomment-269422830

rajeevtom commented 7 years ago

Hi Tom

I googled for my error and found the tip that I should completely remove nom directory first and then do the installation again. I did it and its looking better with few warnings. Can you please have a fast look into the log below, just to cross check that you also think its working fine. what is absolute path of node.js ?

As I am getting problem in starting node.js in the end

rajeevs-air:node_modules rajeev$ sudo rm -rf * Password: rajeevs-air:node_modules rajeev$ sudo su - rajeevs-air:~ root# pwd /var/root rajeevs-air:~ root# cd rajeevs-air:~ root# pwd /var/root rajeevs-air:~ root# cd /users rajeevs-air:users root# cd rajeev rajeevs-air:rajeev root# ls .CFUserTextEncoding .bash_history .cups Desktop Google Drive Music airsonos .DS_Store .bash_sessions .npm Documents Library Pictures npm-debug.log .Trash .config .subversion Downloads Movies Public rajeevs-air:rajeev root# rm -rf airsonos/ rajeevs-air:rajeev root# git clone https://github.com/tomodwyer/airsonos.git Cloning into 'airsonos'... remote: Counting objects: 539, done. remote: Compressing objects: 100% (56/56), done. remote: Total 539 (delta 26), reused 0 (delta 0), pack-reused 481 Receiving objects: 100% (539/539), 752.23 KiB | 643.00 KiB/s, done. Resolving deltas: 100% (267/267), done. rajeevs-air:rajeev root# cd airsonos/ rajeevs-air:airsonos root# npm install npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated npm WARN deprecated node-uuid@1.4.7: use uuid module instead npm WARN prefer global jshint@2.9.4 should be installed with -g npm WARN prefer global react-tools@0.13.3 should be installed with -g

mdns@2.3.3 install /Users/rajeev/airsonos/node_modules/mdns node-gyp rebuild

CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_browse.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_register.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o CXX(target) Release/obj.target/dns_sd_bindings/src/mdns_utils.o CXX(target) Release/obj.target/dns_sd_bindings/src/network_interface.o CXX(target) Release/obj.target/dns_sd_bindings/src/socket_watcher.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_ref.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_create.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o SOLINK_MODULE(target) Release/dns_sd_bindings.node

fsevents@1.0.17 install /Users/rajeev/airsonos/node_modules/fsevents node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/rajeev/airsonos/node_modules/fsevents/lib/binding/Release/node-v51-darwin-x64/fse.node" is installed via remote

libalac@0.1.2 install /Users/rajeev/airsonos/node_modules/libalac node-gyp rebuild

CC(target) Release/obj.target/binding/ALAC/codec/EndianPortable.o CC(target) Release/obj.target/binding/ALAC/codec/ALACBitUtilities.o CXX(target) Release/obj.target/binding/ALAC/codec/ALACDecoder.o ../ALAC/codec/ALACDecoder.cpp:38:16: warning: unused variable 'kMaxBitDepth' [-Wunused-const-variable] const uint32_t kMaxBitDepth = 32; // max allowed bit depth is 32 ^ 1 warning generated. CXX(target) Release/obj.target/binding/ALAC/codec/ALACEncoder.o ../ALAC/codec/ALACEncoder.cpp:1216:38: warning: missing field 'compatibleVersion' initializer [-Wmissing-field-initializers] ALACSpecificConfig theConfig = {0}; ^ ../ALAC/codec/ALACEncoder.cpp:1217:49: warning: missing field 'mChannelBitmap' initializer [-Wmissing-field-initializers] ALACAudioChannelLayout theChannelLayout = {0}; ^ ../ALAC/codec/ALACEncoder.cpp:48:16: warning: unused variable 'kALACEncoderMagic' [-Wunused-const-variable] const uint32_t kALACEncoderMagic = 'dpge'; ^ ../ALAC/codec/ALACEncoder.cpp:94:23: warning: unused variable 'sSupportediPodSampleRates' [-Wunused-const-variable] static const uint32_t sSupportediPodSampleRates[] = ^ 4 warnings generated. CC(target) Release/obj.target/binding/ALAC/codec/ag_dec.o ../ALAC/codec/ag_dec.c:299:14: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare] while (c < numSamples) ~ ^ ~~ ../ALAC/codec/ag_dec.c:333:44: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare] if (((mb << MMULSHIFT) < QB) && (c < numSamples)) ~ ^ ~~ ../ALAC/codec/ag_dec.c:341:31: warning: comparison of integers of different signs: 'unsigned int' and 'int32_t' (aka 'int') [-Wsign-compare] RequireAction(c+n <= numSamples, status = kALAC_ParamError; goto Exit; );


../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro 'RequireAction'
#define RequireAction(condition, action)                        if (!(condition)) { action }
                                                                      ^~~~~~~~~
3 warnings generated.
  CC(target) Release/obj.target/binding/ALAC/codec/ag_enc.o
../ALAC/codec/ag_enc.c:284:14: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare]
    while (c < numSamples)
           ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_enc.c:328:25: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare]
        RequireAction(c <= numSamples, status = kALAC_ParamError; goto Exit; );
                      ~ ^  ~~~~~~~~~~
../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro 'RequireAction'
#define RequireAction(condition, action)                        if (!(condition)) { action }
                                                                      ^~~~~~~~~
../ALAC/codec/ag_enc.c:330:44: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare]
        if (((mb << MMULSHIFT) < QB) && (c < numSamples))
                                         ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_enc.c:335:20: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int') [-Wsign-compare]
            while(c<numSamples && *inPtr == 0)
                  ~^~~~~~~~~~~
../ALAC/codec/ag_enc.c:101:38: warning: unused function 'read32bit' [-Wunused-function]
static inline uint32_t ALWAYS_INLINE read32bit( uint8_t * buffer )
                                     ^
5 warnings generated.
  CC(target) Release/obj.target/binding/ALAC/codec/dp_dec.o
  CC(target) Release/obj.target/binding/ALAC/codec/dp_enc.o
  CC(target) Release/obj.target/binding/ALAC/codec/matrix_dec.o
  CC(target) Release/obj.target/binding/ALAC/codec/matrix_enc.o
  CXX(target) Release/obj.target/binding/binding.o
  SOLINK_MODULE(target) Release/binding.node

> lame@1.2.4 install /Users/rajeev/airsonos/node_modules/lame
> node-gyp rebuild

deps/mpg123/test.target.mk:166: warning: overriding commands for target `Release/test'
deps/lame/test.target.mk:174: warning: ignoring old commands for target `Release/test'
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/VbrTag.o
../deps/lame/libmp3lame/VbrTag.c:263:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[0], 8u, 0xffu);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:265:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 3u, 7);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:266:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (cfg->samplerate_out < 16000) ? 0 : 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:267:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, cfg->version);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:268:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 2u, 4 - 3);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:269:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (!cfg->error_protection) ? 1 : 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:271:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 4u, eov->bitrate_index);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:272:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 2u, cfg->samplerate_index);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:273:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 1u, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:274:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 1u, cfg->extension);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:276:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->mode);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:277:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, eov->mode_ext);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:278:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->copyright);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:279:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->original);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:280:5: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->emphasis);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
                                                                ~~ ^
../deps/lame/libmp3lame/VbrTag.c:430:23: warning: comparison of array 'pTagData->toc' not equal to a null pointer is always true [-Wtautological-pointer-compare]
        if (pTagData->toc != NULL) {
            ~~~~~~~~~~^~~    ~~~~
16 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/bitstream.o
../deps/lame/libmp3lame/bitstream.c:990:34: warning: unused variable 'cfg' [-Wunused-variable]
    SessionConfig_t const *const cfg = &gfc->cfg;
                                 ^
../deps/lame/libmp3lame/bitstream.c:991:32: warning: unused variable 'rsv' [-Wunused-variable]
    RpgStateVar_t const *const rsv = &gfc->sv_rpg;
                               ^
../deps/lame/libmp3lame/bitstream.c:992:24: warning: unused variable 'rov' [-Wunused-variable]
    RpgResult_t *const rov = &gfc->ov_rpg;
                       ^
3 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/encoder.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/fft.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/gain_analysis.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/id3tag.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/lame.o
../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (EQ(gfp->compression_ratio, 0))
            ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (EQ(gfp->compression_ratio, 0))
            ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {
            ^
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {
            ^
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
4 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/newmdct.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/presets.o
../deps/lame/libmp3lame/presets.c:170:5: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp, set->quant_comp, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:170:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:171:5: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp_short, set->quant_comp_s, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:171:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:280:5: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:280:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:281:5: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:281:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
4 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/psymodel.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize_pvt.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/reservoir.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/set_get.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/tables.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/takehiro.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/util.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/vbrquantize.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/version.o
  LIBTOOL-STATIC Release/libmp3lame.a
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/compat.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/parse.o
../deps/mpg123/src/libmpg123/parse.c:184:27: warning: comparison of integers of different signs: 'off_t' (aka 'long long') and 'unsigned long' [-Wsign-compare]
                                                if(fr->track_frames > TRACK_MAX_FRAMES) fr->track_frames = 0; /* endless stream? */
                                                   ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/frame.o
../deps/mpg123/src/libmpg123/frame.c:285:28: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
        if(2*2*0x110*sizeof(real) > buffssize)
           ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/format.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/equalizer.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/id3.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/optimize.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/readers.o
../deps/mpg123/src/libmpg123/readers.c:856:11: warning: comparison of integers of different signs: 'ssize_t' (aka 'long') and 'unsigned long' [-Wsign-compare]
                        if(got < sizeof(readbuf)) /* That naturally catches got == 0, too. */
                           ~~~ ^ ~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/tabinit.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/libmpg123.o
../deps/mpg123/src/libmpg123/libmpg123.c:1581:29: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
        if(errcode >= 0 && errcode < sizeof(mpg123_error)/sizeof(char*))
                           ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/index.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/stringbuf.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy2utf8.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/ntom.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_8bit.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer1.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer2.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer3.o
../deps/mpg123/src/libmpg123/layer3.c:804:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:818:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:842:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:890:4: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                        REFRESH_MASK;
                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1021:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1036:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1059:6: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1088:4: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
                        REFRESH_MASK;
                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro 'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
8 warnings generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/feature.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64_float.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_real.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_float.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_float.o
  LIBTOOL-STATIC Release/libmpg123.a
  CC(target) Release/obj.target/lamevectorroutines/deps/lame/libmp3lame/vector/xmm_quantize_sub.o
  LIBTOOL-STATIC Release/liblamevectorroutines.a
  CXX(target) Release/obj.target/bindings/src/bindings.o
  CXX(target) Release/obj.target/bindings/src/node_lame.o
  CXX(target) Release/obj.target/bindings/src/node_mpg123.o
../src/node_mpg123.cc:322:130: warning: comparison of array 'v1->comment' equal to a null pointer is always false [-Wtautological-pointer-compare]
        Nan::Set(o, Nan::New<String>("comment").ToLocalChecked(), Nan::New<String>(v1->comment, min(sizeof(v1->comment) - 2, v1->comment == NULL ? 0 : strlen(v1->com...
                                                                                                                             ~~~~^~~~~~~    ~~~~
1 warning generated.
  SOLINK_MODULE(target) Release/bindings.node
npm WARN prepublish-on-install As of npm@5, `prepublish` scripts will run only for `npm publish`.
npm WARN prepublish-on-install (In npm@4 and previous versions, it also runs for `npm install`.)
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
npm WARN lifecycle airsonos@0.2.8~prepublish: cannot run in wd %s %s (wd=%s) airsonos@0.2.8 babel ./lib/ -d ./bin/ /Users/rajeev/airsonos
airsonos@0.2.8 /Users/rajeev/airsonos
+-- babel-cli@6.18.0 
| +-- babel-polyfill@6.20.0 
| | +-- core-js@2.4.1 
| | `-- regenerator-runtime@0.10.1 
| +-- babel-register@6.18.0 
| | +-- home-or-tmp@2.0.0 
| | | `-- os-tmpdir@1.0.2 
| | `-- source-map-support@0.4.8 
| +-- babel-runtime@6.20.0 
| +-- chokidar@1.6.1 
| | +-- anymatch@1.3.0 
| | | +-- arrify@1.0.1 
| | | `-- micromatch@2.3.11 
| | |   +-- arr-diff@2.0.0 
| | |   | `-- arr-flatten@1.0.1 
| | |   +-- array-unique@0.2.1 
| | |   +-- braces@1.8.5 
| | |   | +-- expand-range@1.8.2 
| | |   | | `-- fill-range@2.2.3 
| | |   | |   +-- is-number@2.1.0 
| | |   | |   +-- isobject@2.1.0 
| | |   | |   +-- randomatic@1.1.6 
| | |   | |   `-- repeat-string@1.6.1 
| | |   | +-- preserve@0.2.0 
| | |   | `-- repeat-element@1.1.2 
| | |   +-- expand-brackets@0.1.5 
| | |   | `-- is-posix-bracket@0.1.1 
| | |   +-- extglob@0.3.2 
| | |   +-- filename-regex@2.0.0 
| | |   +-- kind-of@3.1.0 
| | |   | `-- is-buffer@1.1.4 
| | |   +-- normalize-path@2.0.1 
| | |   +-- object.omit@2.0.1 
| | |   | +-- for-own@0.1.4 
| | |   | | `-- for-in@0.1.6 
| | |   | `-- is-extendable@0.1.1 
| | |   +-- parse-glob@3.0.4 
| | |   | +-- glob-base@0.3.0 
| | |   | `-- is-dotfile@1.0.2 
| | |   `-- regex-cache@0.4.3 
| | |     +-- is-equal-shallow@0.1.3 
| | |     `-- is-primitive@2.0.0 
| | +-- async-each@1.0.1 
| | +-- fsevents@1.0.17 
| | | `-- node-pre-gyp@0.6.32 
| | |   +-- mkdirp@0.5.1 
| | |   | `-- minimist@0.0.8 
| | |   +-- nopt@3.0.6 
| | |   | `-- abbrev@1.0.9 
| | |   +-- npmlog@4.0.2 
| | |   | +-- are-we-there-yet@1.1.2 
| | |   | | +-- delegates@1.0.0 
| | |   | | `-- readable-stream@2.2.2 
| | |   | +-- console-control-strings@1.1.0 
| | |   | +-- gauge@2.7.2 
| | |   | | +-- aproba@1.0.4 
| | |   | | +-- has-unicode@2.0.1 
| | |   | | +-- object-assign@4.1.0 
| | |   | | +-- signal-exit@3.0.2 
| | |   | | +-- string-width@1.0.2 
| | |   | | | +-- code-point-at@1.1.0 
| | |   | | | `-- is-fullwidth-code-point@1.0.0 
| | |   | | |   `-- number-is-nan@1.0.1 
| | |   | | +-- strip-ansi@3.0.1 
| | |   | | | `-- ansi-regex@2.0.0 
| | |   | | +-- supports-color@0.2.0 
| | |   | | `-- wide-align@1.1.0 
| | |   | `-- set-blocking@2.0.0 
| | |   +-- rc@1.1.6 
| | |   | +-- deep-extend@0.4.1 
| | |   | +-- ini@1.3.4 
| | |   | +-- minimist@1.2.0 
| | |   | `-- strip-json-comments@1.0.4 
| | |   +-- request@2.79.0 
| | |   | +-- aws-sign2@0.6.0 
| | |   | +-- aws4@1.5.0 
| | |   | +-- caseless@0.11.0 
| | |   | +-- combined-stream@1.0.5 
| | |   | | `-- delayed-stream@1.0.0 
| | |   | +-- extend@3.0.0 
| | |   | +-- forever-agent@0.6.1 
| | |   | +-- form-data@2.1.2 
| | |   | | `-- asynckit@0.4.0 
| | |   | +-- har-validator@2.0.6 
| | |   | | +-- chalk@1.1.3 
| | |   | | | +-- ansi-styles@2.2.1 
| | |   | | | +-- escape-string-regexp@1.0.5 
| | |   | | | +-- has-ansi@2.0.0 
| | |   | | | `-- supports-color@2.0.0 
| | |   | | +-- commander@2.9.0 
| | |   | | | `-- graceful-readlink@1.0.1 
| | |   | | +-- is-my-json-valid@2.15.0 
| | |   | | | +-- generate-function@2.0.0 
| | |   | | | +-- generate-object-property@1.2.0 
| | |   | | | | `-- is-property@1.0.2 
| | |   | | | +-- jsonpointer@4.0.1 
| | |   | | | `-- xtend@4.0.1 
| | |   | | `-- pinkie-promise@2.0.1 
| | |   | |   `-- pinkie@2.0.4 
| | |   | +-- hawk@3.1.3 
| | |   | | +-- boom@2.10.1 
| | |   | | +-- cryptiles@2.0.5 
| | |   | | +-- hoek@2.16.3 
| | |   | | `-- sntp@1.0.9 
| | |   | +-- http-signature@1.1.1 
| | |   | | +-- assert-plus@0.2.0 
| | |   | | +-- jsprim@1.3.1 
| | |   | | | +-- extsprintf@1.0.2 
| | |   | | | +-- json-schema@0.2.3 
| | |   | | | `-- verror@1.3.6 
| | |   | | `-- sshpk@1.10.1 
| | |   | |   +-- asn1@0.2.3 
| | |   | |   +-- assert-plus@1.0.0 
| | |   | |   +-- bcrypt-pbkdf@1.0.0 
| | |   | |   +-- dashdash@1.14.1 
| | |   | |   | `-- assert-plus@1.0.0 
| | |   | |   +-- ecc-jsbn@0.1.1 
| | |   | |   +-- getpass@0.1.6 
| | |   | |   | `-- assert-plus@1.0.0 
| | |   | |   +-- jodid25519@1.0.2 
| | |   | |   +-- jsbn@0.1.0 
| | |   | |   `-- tweetnacl@0.14.5 
| | |   | +-- is-typedarray@1.0.0 
| | |   | +-- isstream@0.1.2 
| | |   | +-- json-stringify-safe@5.0.1 
| | |   | +-- mime-types@2.1.13 
| | |   | | `-- mime-db@1.25.0 
| | |   | +-- oauth-sign@0.8.2 
| | |   | +-- qs@6.3.0 
| | |   | +-- stringstream@0.0.5 
| | |   | +-- tough-cookie@2.3.2 
| | |   | | `-- punycode@1.4.1 
| | |   | +-- tunnel-agent@0.4.3 
| | |   | `-- uuid@3.0.1 
| | |   +-- rimraf@2.5.4 
| | |   | `-- glob@7.1.1 
| | |   |   +-- fs.realpath@1.0.0 
| | |   |   +-- inflight@1.0.6 
| | |   |   +-- minimatch@3.0.3 
| | |   |   | `-- brace-expansion@1.1.6 
| | |   |   |   +-- balanced-match@0.4.2 
| | |   |   |   `-- concat-map@0.0.1 
| | |   |   +-- once@1.4.0 
| | |   |   `-- path-is-absolute@1.0.1 
| | |   +-- semver@5.3.0 
| | |   +-- tar@2.2.1 
| | |   | +-- block-stream@0.0.9 
| | |   | +-- fstream@1.0.10 
| | |   | | `-- graceful-fs@4.1.11 
| | |   | `-- inherits@2.0.3 
| | |   `-- tar-pack@3.3.0 
| | |     +-- debug@2.2.0 
| | |     | `-- ms@0.7.1 
| | |     +-- fstream-ignore@1.0.5 
| | |     +-- once@1.3.3 
| | |     | `-- wrappy@1.0.2 
| | |     +-- readable-stream@2.1.5 
| | |     | +-- buffer-shims@1.0.0 
| | |     | +-- core-util-is@1.0.2 
| | |     | +-- isarray@1.0.0 
| | |     | +-- process-nextick-args@1.0.7 
| | |     | +-- string_decoder@0.10.31 
| | |     | `-- util-deprecate@1.0.2 
| | |     `-- uid-number@0.0.6 
| | +-- glob-parent@2.0.0 
| | +-- inherits@2.0.3 
| | +-- is-binary-path@1.0.1 
| | | `-- binary-extensions@1.8.0 
| | +-- is-glob@2.0.1 
| | | `-- is-extglob@1.0.0 
| | `-- readdirp@2.1.0 
| |   `-- set-immediate-shim@1.0.1 
| +-- commander@2.9.0 
| | `-- graceful-readlink@1.0.1 
| +-- convert-source-map@1.3.0 
| +-- fs-readdir-recursive@1.0.0 
| +-- glob@5.0.15 
| | +-- inflight@1.0.6 
| | | `-- wrappy@1.0.2 
| | `-- once@1.4.0 
| +-- lodash@4.17.4 
| +-- output-file-sync@1.1.2 
| | `-- graceful-fs@4.1.11 
| +-- path-is-absolute@1.0.1 
| +-- slash@1.0.0 
| +-- source-map@0.5.6 
| `-- v8flags@2.0.11 
|   `-- user-home@1.1.1 
+-- babel-core@6.21.0 
| +-- babel-code-frame@6.20.0 
| | `-- js-tokens@2.0.0 
| +-- babel-generator@6.21.0 
| | +-- detect-indent@4.0.0 
| | | `-- repeating@2.0.1 
| | |   `-- is-finite@1.0.2 
| | `-- jsesc@1.3.0 
| +-- babel-helpers@6.16.0 
| +-- babel-messages@6.8.0 
| +-- babel-template@6.16.0 
| +-- babel-traverse@6.21.0 
| | `-- invariant@2.2.2 
| |   `-- loose-envify@1.3.0 
| +-- babel-types@6.21.0 
| | `-- to-fast-properties@1.0.2 
| +-- babylon@6.15.0 
| +-- debug@2.6.0 
| | `-- ms@0.7.2 
| +-- json5@0.5.1 
| +-- minimatch@3.0.3 
| | `-- brace-expansion@1.1.6 
| |   +-- balanced-match@0.4.2 
| |   `-- concat-map@0.0.1 
| `-- private@0.1.6 
+-- bluebird@3.4.7 
+-- eslint@3.13.1 
| +-- chalk@1.1.3 
| | +-- ansi-styles@2.2.1 
| | +-- escape-string-regexp@1.0.5 
| | +-- has-ansi@2.0.0 
| | +-- strip-ansi@3.0.1 
| | `-- supports-color@2.0.0 
| +-- concat-stream@1.6.0 
| | `-- typedarray@0.0.6 
| +-- doctrine@1.5.0 
| | `-- isarray@1.0.0 
| +-- escope@3.6.0 
| | +-- es6-map@0.1.4 
| | | +-- d@0.1.1 
| | | +-- es5-ext@0.10.12 
| | | +-- es6-iterator@2.0.0 
| | | +-- es6-set@0.1.4 
| | | +-- es6-symbol@3.1.0 
| | | `-- event-emitter@0.3.4 
| | +-- es6-weak-map@2.0.1 
| | `-- esrecurse@4.1.0 
| |   `-- estraverse@4.1.1 
| +-- espree@3.3.2 
| | +-- acorn@4.0.4 
| | `-- acorn-jsx@3.0.1 
| |   `-- acorn@3.3.0 
| +-- estraverse@4.2.0 
| +-- esutils@2.0.2 
| +-- file-entry-cache@2.0.0 
| | `-- flat-cache@1.2.2 
| |   +-- circular-json@0.3.1 
| |   +-- del@2.2.2 
| |   | +-- globby@5.0.0 
| |   | | +-- array-union@1.0.2 
| |   | | `-- glob@7.1.1 
| |   | +-- is-path-cwd@1.0.0 
| |   | +-- is-path-in-cwd@1.0.0 
| |   | | `-- is-path-inside@1.0.0 
| |   | +-- pify@2.3.0 
| |   | `-- rimraf@2.5.4 
| |   |   `-- glob@7.1.1 
| |   `-- write@0.2.1 
| +-- glob@7.1.1 
| | `-- fs.realpath@1.0.0 
| +-- globals@9.14.0 
| +-- ignore@3.2.0 
| +-- imurmurhash@0.1.4 
| +-- inquirer@0.12.0 
| | +-- ansi-escapes@1.4.0 
| | +-- ansi-regex@2.0.0 
| | +-- cli-cursor@1.0.2 
| | | `-- restore-cursor@1.0.1 
| | |   +-- exit-hook@1.1.1 
| | |   `-- onetime@1.1.0 
| | +-- cli-width@2.1.0 
| | +-- figures@1.7.0 
| | +-- readline2@1.0.1 
| | | +-- code-point-at@1.1.0 
| | | +-- is-fullwidth-code-point@1.0.0 
| | | | `-- number-is-nan@1.0.1 
| | | `-- mute-stream@0.0.5 
| | +-- run-async@0.1.0 
| | +-- rx-lite@3.1.2 
| | +-- string-width@1.0.2 
| | `-- through@2.3.8 
| +-- is-my-json-valid@2.15.0 
| | +-- generate-function@2.0.0 
| | +-- generate-object-property@1.2.0 
| | | `-- is-property@1.0.2 
| | +-- jsonpointer@4.0.1 
| | `-- xtend@4.0.1 
| +-- is-resolvable@1.0.0 
| | `-- tryit@1.0.3 
| +-- js-yaml@3.7.0 
| | +-- argparse@1.0.9 
| | | `-- sprintf-js@1.0.3 
| | `-- esprima@2.7.3 
| +-- json-stable-stringify@1.0.1 
| | `-- jsonify@0.0.0 
| +-- levn@0.3.0 
| | +-- prelude-ls@1.1.2 
| | `-- type-check@0.3.2 
| +-- mkdirp@0.5.1 
| | `-- minimist@0.0.8 
| +-- natural-compare@1.4.0 
| +-- optionator@0.8.2 
| | +-- deep-is@0.1.3 
| | +-- fast-levenshtein@2.0.6 
| | `-- wordwrap@1.0.0 
| +-- path-is-inside@1.0.2 
| +-- pluralize@1.2.1 
| +-- progress@1.1.8 
| +-- require-uncached@1.0.3 
| | +-- caller-path@0.1.0 
| | | `-- callsites@0.2.0 
| | `-- resolve-from@1.0.1 
| +-- shelljs@0.7.6 
| | +-- interpret@1.0.1 
| | `-- rechoir@0.6.2 
| +-- strip-bom@3.0.0 
| +-- strip-json-comments@2.0.1 
| +-- table@3.8.3 
| | +-- ajv@4.10.4 
| | | `-- co@4.6.0 
| | +-- ajv-keywords@1.5.0 
| | +-- slice-ansi@0.0.4 
| | `-- string-width@2.0.0 
| |   `-- is-fullwidth-code-point@2.0.0 
| +-- text-table@0.2.0 
| `-- user-home@2.0.0 
|   `-- os-homedir@1.0.2 
+-- eslint-config-airbnb@13.0.0 
| `-- eslint-config-airbnb-base@10.0.1 
+-- eslint-plugin-import@2.2.0 
| +-- builtin-modules@1.1.1 
| +-- contains-path@0.1.0 
| +-- eslint-import-resolver-node@0.2.3 
| | `-- resolve@1.2.0 
| +-- eslint-module-utils@2.0.0 
| | +-- debug@2.2.0 
| | | `-- ms@0.7.1 
| | `-- pkg-dir@1.0.0 
| +-- has@1.0.1 
| | `-- function-bind@1.1.0 
| +-- lodash.cond@4.5.2 
| `-- pkg-up@1.0.0 
|   `-- find-up@1.1.2 
|     +-- path-exists@2.1.0 
|     `-- pinkie-promise@2.0.1 
|       `-- pinkie@2.0.4 
+-- eslint-plugin-jsx-a11y@2.2.3 
| +-- damerau-levenshtein@1.0.3 
| +-- jsx-ast-utils@1.3.5 
| `-- object-assign@4.1.0 
+-- eslint-plugin-react@6.9.0 
| `-- array.prototype.find@2.0.1 
|   +-- define-properties@1.1.2 
|   | +-- foreach@2.0.5 
|   | `-- object-keys@1.0.11 
|   `-- es-abstract@1.6.1 
|     +-- es-to-primitive@1.1.1 
|     | +-- is-date-object@1.0.1 
|     | `-- is-symbol@1.0.1 
|     +-- is-callable@1.1.3 
|     `-- is-regex@1.0.3 
+-- flags@0.1.3 
+-- ip@1.1.4 
+-- nicercast@0.1.0  (git://github.com/tomodwyer/nicercast.git#9fc35f4ae47bf5918b46335ac2edb44a047e4827)
| +-- express@3.21.2 
| | +-- basic-auth@1.0.4 
| | +-- commander@2.6.0 
| | +-- connect@2.30.2 
| | | +-- basic-auth-connect@1.0.0 
| | | +-- body-parser@1.13.3 
| | | | +-- debug@2.2.0 
| | | | | `-- ms@0.7.1 
| | | | +-- iconv-lite@0.4.11 
| | | | `-- raw-body@2.1.7 
| | | |   +-- bytes@2.4.0 
| | | |   `-- iconv-lite@0.4.13 
| | | +-- bytes@2.1.0 
| | | +-- compression@1.5.2 
| | | | +-- accepts@1.2.13 
| | | | | `-- negotiator@0.5.3 
| | | | +-- compressible@2.0.9 
| | | | | `-- mime-db@1.25.0 
| | | | `-- debug@2.2.0 
| | | |   `-- ms@0.7.1 
| | | +-- connect-timeout@1.6.2 
| | | | +-- debug@2.2.0 
| | | | `-- ms@0.7.1 
| | | +-- cookie-parser@1.3.5 
| | | +-- csurf@1.8.3 
| | | | `-- csrf@3.0.4 
| | | |   +-- base64-url@1.3.3 
| | | |   +-- rndm@1.2.0 
| | | |   +-- tsscmp@1.0.5 
| | | |   `-- uid-safe@2.1.3 
| | | |     `-- random-bytes@1.0.0 
| | | +-- debug@2.2.0 
| | | | `-- ms@0.7.1 
| | | +-- errorhandler@1.4.3 
| | | | +-- accepts@1.3.3 
| | | | | `-- negotiator@0.6.1 
| | | | `-- escape-html@1.0.3 
| | | +-- express-session@1.11.3 
| | | | +-- crc@3.3.0 
| | | | +-- debug@2.2.0 
| | | | | `-- ms@0.7.1 
| | | | `-- uid-safe@2.0.0 
| | | |   `-- base64-url@1.2.1 
| | | +-- finalhandler@0.4.0 
| | | | +-- debug@2.2.0 
| | | | | `-- ms@0.7.1 
| | | | `-- unpipe@1.0.0 
| | | +-- http-errors@1.3.1 
| | | | `-- statuses@1.3.1 
| | | +-- method-override@2.3.7 
| | | | +-- debug@2.3.3 
| | | | `-- vary@1.1.0 
| | | +-- morgan@1.6.1 
| | | | `-- debug@2.2.0 
| | | |   `-- ms@0.7.1 
| | | +-- multiparty@3.3.2 
| | | | +-- readable-stream@1.1.14 
| | | | | `-- isarray@0.0.1 
| | | | `-- stream-counter@0.2.0 
| | | |   `-- readable-stream@1.1.14 
| | | |     `-- isarray@0.0.1 
| | | +-- on-headers@1.0.1 
| | | +-- pause@0.1.0 
| | | +-- qs@4.0.0 
| | | +-- response-time@2.3.2 
| | | | `-- depd@1.1.0 
| | | +-- serve-favicon@2.3.2 
| | | +-- serve-index@1.7.3 
| | | | +-- batch@0.5.3 
| | | | +-- debug@2.2.0 
| | | | | `-- ms@0.7.1 
| | | | +-- escape-html@1.0.3 
| | | | `-- mime-types@2.1.13 
| | | +-- serve-static@1.10.3 
| | | | +-- escape-html@1.0.3 
| | | | `-- send@0.13.2 
| | | |   +-- debug@2.2.0 
| | | |   +-- depd@1.1.0 
| | | |   +-- destroy@1.0.4 
| | | |   +-- ms@0.7.1 
| | | |   `-- statuses@1.2.1 
| | | +-- type-is@1.6.14 
| | | | `-- media-typer@0.3.0 
| | | `-- vhost@3.0.2 
| | +-- content-disposition@0.5.0 
| | +-- content-type@1.0.2 
| | +-- cookie@0.1.3 
| | +-- cookie-signature@1.0.6 
| | +-- debug@2.2.0 
| | | `-- ms@0.7.1 
| | +-- depd@1.0.1 
| | +-- escape-html@1.0.2 
| | +-- etag@1.7.0 
| | +-- fresh@0.3.0 
| | +-- merge-descriptors@1.0.0 
| | +-- methods@1.1.2 
| | +-- parseurl@1.3.1 
| | +-- proxy-addr@1.0.10 
| | | `-- forwarded@0.1.0 
| | +-- range-parser@1.0.3 
| | +-- send@0.13.0 
| | | +-- debug@2.2.0 
| | | +-- destroy@1.0.3 
| | | +-- mime@1.3.4 
| | | +-- ms@0.7.1 
| | | +-- on-finished@2.3.0 
| | | | `-- ee-first@1.1.1 
| | | `-- statuses@1.2.1 
| | +-- utils-merge@1.0.0 
| | `-- vary@1.0.1 
| +-- icecast-stack@0.3.0 
| | +-- http-stack@0.1.3 
| | | `-- header-stack@0.1.3 
| | |   +-- bufferjs@3.0.1 
| | |   `-- bufferlist@0.1.0 
| | `-- stream-stack@1.1.4 
| +-- ip@0.3.3 
| `-- lame@1.2.4 
|   +-- bindings@1.2.1 
|   +-- nan@2.5.0 
|   `-- readable-stream@1.1.14 
|     `-- isarray@0.0.1 
+-- nodetunes@0.3.0  (git://github.com/tomodwyer/nodetunes.git#907870b6bba16569c75b91c968acd2ff8afa180d)
| +-- alac2pcm@1.1.0 
| | +-- libalac@0.1.2 
| | `-- minimist@1.2.0 
| +-- forge@2.3.0 
| | +-- fu@0.1.0 
| | +-- jshintify@0.1.0 
| | | `-- jshint@2.9.4 
| | |   +-- cli@1.0.1 
| | |   | `-- glob@7.1.1 
| | |   +-- console-browserify@1.1.0 
| | |   | `-- date-now@0.1.4 
| | |   +-- exit@0.1.2 
| | |   +-- htmlparser2@3.8.3 
| | |   | +-- domelementtype@1.3.0 
| | |   | +-- domhandler@2.3.0 
| | |   | +-- domutils@1.5.1 
| | |   | | `-- dom-serializer@0.1.0 
| | |   | |   +-- domelementtype@1.1.3 
| | |   | |   `-- entities@1.1.1 
| | |   | +-- entities@1.0.0 
| | |   | `-- readable-stream@1.1.14 
| | |   |   `-- isarray@0.0.1 
| | |   +-- lodash@3.7.0 
| | |   +-- shelljs@0.3.0 
| | |   `-- strip-json-comments@1.0.4 
| | +-- mangleify@0.1.0 
| | | +-- escodegen@1.8.1 
| | | | +-- esprima@2.7.3 
| | | | +-- estraverse@1.9.3 
| | | | `-- source-map@0.2.0 
| | | |   `-- amdefine@1.0.1 
| | | +-- esmangle@1.0.1 
| | | | +-- escodegen@1.3.3 
| | | | +-- escope@1.0.3 
| | | | | `-- estraverse@2.0.0 
| | | | +-- esprima@1.1.1 
| | | | +-- esshorten@1.1.1 
| | | | | `-- estraverse@4.1.1 
| | | | +-- estraverse@1.5.1 
| | | | +-- esutils@1.0.0 
| | | | +-- optionator@0.3.0 
| | | | | +-- fast-levenshtein@1.0.7 
| | | | | +-- levn@0.2.5 
| | | | | `-- wordwrap@0.0.3 
| | | | `-- source-map@0.1.43 
| | | `-- esprima@3.1.3 
| | +-- reactify@1.1.1 
| | | `-- react-tools@0.13.3 
| | |   +-- commoner@0.10.8 
| | |   | +-- detective@4.3.2 
| | |   | | `-- defined@1.0.0 
| | |   | +-- q@1.4.1 
| | |   | `-- recast@0.11.18 
| | |   |   `-- ast-types@0.9.2 
| | |   `-- jstransform@10.1.0 
| | |     +-- base62@0.1.1 
| | |     +-- esprima-fb@13001.1001.0-dev-harmony-fb 
| | |     `-- source-map@0.1.31 
| | `-- subarg@1.0.0 
| |   `-- minimist@1.2.0 
| +-- httplike@1.0.2 
| +-- ipaddr.js@1.0.5 
| +-- mdns@2.3.3 
| | `-- nan@2.3.5 
| +-- metricstream@0.0.1 
| +-- node-forge@0.6.46 
| +-- portastic@0.0.1 
| | +-- async@0.1.22 
| | +-- coffee-script@1.3.3 
| | `-- commander@1.0.5 
| |   `-- keypress@0.1.0 
| +-- priorityqueuejs@1.0.0 
| +-- random-mac@0.0.4 
| +-- randomstring@1.1.5 
| | `-- array-uniq@1.0.2 
| `-- readable-stream@2.2.2 
|   +-- buffer-shims@1.0.0 
|   +-- core-util-is@1.0.2 
|   +-- process-nextick-args@1.0.7 
|   +-- string_decoder@0.10.31 
|   `-- util-deprecate@1.0.2 
`-- sonos@0.7.0  (git://github.com/stephen/node-sonos.git#20d6d6afbf04d065330df6288c3db20234b515ce)
  +-- async@0.9.2 
  +-- debug@0.7.4 
  +-- ip@0.3.3 
  +-- request@2.27.0 
  | +-- aws-sign@0.3.0 
  | +-- cookie-jar@0.3.0 
  | +-- forever-agent@0.5.2 
  | +-- form-data@0.1.4 
  | | +-- async@0.9.2 
  | | +-- combined-stream@0.0.7 
  | | | `-- delayed-stream@0.0.5 
  | | `-- mime@1.2.11 
  | +-- hawk@1.0.0 
  | | +-- boom@0.4.2 
  | | +-- cryptiles@0.2.2 
  | | +-- hoek@0.9.1 
  | | `-- sntp@0.2.4 
  | +-- http-signature@0.10.1 
  | | +-- asn1@0.1.11 
  | | +-- assert-plus@0.1.5 
  | | `-- ctype@0.5.3 
  | +-- json-stringify-safe@5.0.1 
  | +-- mime@1.2.11 
  | +-- node-uuid@1.4.7 
  | +-- oauth-sign@0.3.0 
  | +-- qs@0.6.6 
  | `-- tunnel-agent@0.3.0 
  +-- underscore@1.5.2 
  +-- upnp-client@0.0.1 
  | `-- step@1.0.0 
  `-- xml2js@0.2.8 
    `-- sax@0.5.8 

rajeevs-air:airsonos root# node ./bin/index.js
module.js:472
    throw err;
    ^

Error: Cannot find module '/Users/rajeev/airsonos/bin/index.js'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3
rajeevs-air:airsonos root# 

Regards
Rajeev
rajeevtom commented 7 years ago

sorry i want to ask the path of index.js ?

Regards Rajeev

tomodwyer commented 7 years ago

@rajeevtom it seems to be something is going wrong at this stage:

$ npm WARN prepublish-on-install As of npm@5, prepublish scripts will run only for npm publish.
$ npm WARN prepublish-on-install (In npm@4 and previous versions, it also runs for npm install.)
$ npm WARN prepublish-on-install See the deprecation note in npm help scripts for more information.
$ npm WARN lifecycle airsonos@0.2.8~prepublish: cannot run in wd %s %s (wd=%s) airsonos@0.2.8 $ babel ./lib/ -d ./bin/ /Users/rajeev/airsonos

It looks to be to do with the prepublish scripts. Could you try running npm run prepublish and see if the ./airsonos/bin/ folder is created?

rajeevtom commented 7 years ago

I found one index.js but its not helping either:

rajeevs-air:~ root# cd /Users/rajeev/airsonos rajeevs-air:airsonos root# node ./index.js /Users/rajeev/airsonos/lib/tunnel.js:18 ); ^ SyntaxError: Unexpected token ) at Object.exports.runInThisContext (vm.js:78:16) at Module._compile (module.js:543:28) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at Module.require (module.js:498:17) at require (internal/module.js:20:19) at Object. (/Users/rajeev/airsonos/lib/airsonos.js:3:22) at Module._compile (module.js:571:32) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:488:32) at tryModuleLoad (module.js:447:12) at Function.Module._load (module.js:439:3) at Module.require (module.js:498:17) at require (internal/module.js:20:19) rajeevs-air:airsonos root# ls .eslintignore .git CHANGELOG.md README.md lib package.json .eslintrc .gitignore LICENSE index.js node_modules rajeevs-air:airsonos root# ls -lrt index* -rwxr-xr-x 1 root staff 44 Jan 11 22:19 index.js rajeevs-air:airsonos root#

rajeevtom commented 7 years ago

Hi Tom

you are a genious 👍 Its working as shown below , I will take out the IP Adress from below log :-)

rajeevs-air:airsonos root# npm run prepublish

airsonos@0.2.8 prepublish /Users/rajeev/airsonos babel ./lib/ -d ./bin/

lib/airsonos.js -> bin/airsonos.js lib/diagnostics.js -> bin/diagnostics.js lib/index.js -> bin/index.js lib/tunnel.js -> bin/tunnel.js rajeevs-air:airsonos root# ls .eslintignore .git CHANGELOG.md README.md index.js node_modules .eslintrc .gitignore LICENSE bin lib package.json rajeevs-air:airsonos root# ls node
ls: node: No such file or directory rajeevs-air:airsonos root# ls bin airsonos.js diagnostics.js index.js tunnel.js rajeevs-air:airsonos root# node ./bin/index.js Searching for Sonos devices on network...

Bathroom (@ IP, RINCON_TEMP:0)

Search complete. Set up 1 device tunnel.

Thanks a ton to you. Now I will test if Airplay is working :-)

Regards Rajeev

rajeevtom commented 7 years ago

do i need to do something extra after executing "node ./bin/index.js" ? I am asking this because speaker is not showing up in my airplay list ...for example when I am playing from youtube ? How can I direct it to speaker play 1.

Regards Rajeev

rajeevtom commented 7 years ago

sorry for bothering you ...now it is showing the speaker. Now I can buy one more play 1 for my fitness room :-)

Thanks and Regards Rajeev

tomodwyer commented 7 years ago

No worries :+1: - that puts me one step closer to adding my version to npm. For any future issues, you can open an issue on my repo: https://github.com/tomodwyer/airsonos/issues

rajeevtom commented 7 years ago

Now the next problem, I can see my speaker in airplay list but as soon as I am directing the youtube song to speaker its throwing error on prompt :

rajeevs-air:airsonos root# node ./bin/index.js Searching for Sonos devices on network...

Bathroom (@ IP, RINCON_9TEMP00:0)

Search complete. Set up 1 device tunnel. /Users/rajeev/airsonos/bin/tunnel.js:66 metadata: this.generateSonosMetadata(this.deviceName) ^

TypeError: this.generateSonosMetadata is not a function at icecastServer.start.port (/Users/rajeev/airsonos/bin/tunnel.js:66:24) at Server. (/Users/rajeev/airsonos/node_modules/nicercast/index.js:103:7) at Object.onceWrapper (events.js:290:19) at emitNone (events.js:86:13) at Server.emit (events.js:185:7) at emitListeningNT (net.js:1288:10) at _combinedTickCallback (internal/process/next_tick.js:71:11) at process._tickCallback (internal/process/next_tick.js:98:9) rajeevs-air:airsonos root#

Am i doing something wrong ?

Regards Rajeev

sistephens commented 7 years ago

argh tom what happened to your repo? 😱 https://github.com/tomodwyer/airsonos/

brian163 commented 7 years ago

I second that question!

tomodwyer commented 7 years ago

@sistephens @brian163 - apologies to both of you, I combined my accounts and didn't transfer some repos. Give this a go:

https://github.com/tomodwyer/airsonos/

$ git clone https://github.com/tomodwyer/airsonos.git
$ cd airsonos
$ git checkout tags/0.2.7

# I'm using Yarn to manage dependencies, so if you have that installed run
$ yarn
$ yarn start

# Otherwise, if you're using npm, run:
$ npm install
$ npm start
sistephens commented 7 years ago

@tomodwyer hooray! thanks ❤️

will try this and see how i get on.