Code Monkey home page Code Monkey logo

geekuillaume / soundsync Goto Github PK

View Code? Open in Web Editor NEW
785.0 16.0 35.0 11.53 MB

Virtual cables between any audio source and any speaker in your home

Home Page: https://soundsync.app

License: Other

JavaScript 4.26% TypeScript 8.73% HTML 1.16% CSS 0.48% Shell 0.62% Dockerfile 0.03% CMake 0.66% Makefile 0.53% C++ 1.92% Perl 0.26% C 79.38% Assembly 0.48% M4 1.04% Python 0.29% Batchfile 0.02% SCSS 0.14%
audio javascript nodejs multi-room music web synchronization

soundsync's Introduction

Connect virtual cables between any audio source and any audio output

Soundsync is a web and desktop app to manage every audio source and every audio output in your home from a single interface. Link any audio source to multiple speakers connected to any devices on your home network. Soundsync will keep the music synchronized between all of them.

  • πŸ†“ Free to use
  • πŸ•ΈοΈ Work with any number of connected devices, audio sources, audio outputs and every link of your choosing
  • 🎢 Compatible with a lot of different audio sources (Spotify Connect with a premium account, Airplay, Hardware Audio input (line in / microphone), Linux system audio ; coming soon: Windows system audio, UPnP and more)
  • πŸ”Š Broadcast sound to any speaker connected to a computer (Windows, MacOS, Linux, RapsberryPi), a web browser (Chrome, Firefox) or a Chromecast and soon more
  • πŸ”— Group speakers together to synchronize them to the same audio source
  • πŸŽ›οΈ Control everything from a web browser
  • πŸ”“ Not linked to any external service, works offline, no account creation

Quick start

Download and install Soundsync for you operating system on every device in your home you want to use.

Windows

Download

MacOS

Download

Linux

Download (.deb for Ubuntu/Debian)

Download (.pacman for Archlinux)

Linux ARM (Raspberry)

Download (.deb for Ubuntu/Debian/Raspbian)

Now go to https://soundsync.app/ to control every Soundsync install on your home network.

Download last development version

Want to try the latest features and help with debugging? Download the latest build! Each commit will generate a new installer with the latest version of the code (but the version number won't be increased).

Need help? Have new ideas? Want to contribute?

Join the Discord server!

Project status

Soundsync is still in an early stage. It's evolving quickly but there is still a lot to do. Here are some features that are being considered:

  • Updating info for Spotify sink from WebUI
  • Allow changing the name of a peer from the webui
  • Group of sinks
  • Use waveform-data to show activity on webui
  • Integration of media info on webui
  • Create a ready to use RaspberryPi image
  • Allow devices on multiple networks to be connected together
  • Improve linux script by detecting Pulseaudio process if run as root
  • Add a option to start Soundsync in kiosk mode for rPi
  • In kiosk mode, add a option to start Spotify WebUI in a BrowserView
  • Find an alternative way to connect from rendez-vous service for device with DNS Rebinding Protection
  • Adds audio visualization for Chromecast view and add an option to use this view from webui
  • Resample the audio for each sink to handle drifting clocks instead of seeking to the corrected audio position and hearing an artifact
  • Remember Chromecasts and add an option to auto-start them when the linked source become active
  • Audio integration with:
    • Bluetooth as a audio input
    • Bluetooth as a audio output
    • Windows monitor (in progress)
    • UPnP
    • Sonos (blocked: I do not own a test device)
    • HEOS (blocked: I do not own a test device)
    • Amazon Echo (blocked: I do not own a test device)
    • Yamaha MusicCast (blocked: I do not own a test device)

FAQ

  • Is it Open-source ?
    Soundsync code is released under the Business Source License. It is a special open-source compatible license which is 100% free to use as long as you don't use it for production work. It means you can use it at home, in your office but you cannot resell it or sell a service/product that directly use it. I'm open to licensing it for a business usage, contact me to work out the details.

  • How to debug it?
    You can activate the debug logs on the Webui with the command window.soundsyncDebug(). For the desktop version, you need to start the process from the command line (/opt/Soundsync/soundsync for Linux).

  • I need an integration with X!
    Soundsync being a free to use project, I cannot invest money into buying every kind of speakers to build integration for them. I've listed the possible integrations above and you can create an issue if you do not see what you need. As the goal os Soundsync is to support every speaker combination, I'll be happy to work on the integration if someone sends me a compatible device. Contact me for the details.

  • Is it available offline?
    Every Soundsync peer (a device on which Soundsync is installed) can be used offline. Each peer will detect other peer on the local network with Bonjour and if connected to internet, will use a rendez-vous service to detect other peer with the same IP address. As Bonjour isn't available in a web browser, you need to connect to a peer on your local network with its IP and the port 6512 (for example http://192.168.1.12:6512). Also note that you won't be able to use the webpage as an audio output because the page cannot be served in a https context.

  • How to install on a headless RaspberryPi Install?
    Assuming you're using raspbian, first download the package with wget https://soundsync.app/download/soundsync-deb-arm.deb, install it with sudo dpkg -i ./soundsync-deb-arm.deb, if some dependencies are missing install them with sudo apt-get install -f than start Soundsync and activate it to be started at startup with sudo systemctl enable --now soundsync.service.

  • How to disable telemetry?
    Soundsync sends some non-identifiable information to our own usage tracker (based on Posthog and hosted on our own server). You can see the list of events sent in the Posthog integration file. If you want to disable this, you can set the disableTelemetry flag in the config file to true.

Development

To start Soundsync from the source code you'll need NodeJS and Git installed and then:

git clone https://github.com/geekuillaume/soundsync
cd soundsync
npm install
npm run build
npm run start

You can also use the command npm run start:electron to activate the Electron integrations (Systray icon, error tracking).

Building opus

git submodule update --init --recursive
cd src/utils/opus_vendor
./autogen.sh
emconfigure ./configure --disable-extra-programs --disable-doc --disable-intrinsics --disable-hardening --disable-rtcd --disable-stack-protector
emmake make
cd ../
emcc -s INITIAL_MEMORY=10MB \
-s MAXIMUM_MEMORY=10MB \
-O3 \
-o audio/opus_wasm.js \
-s EXPORT_ES6=1 \
-s MODULARIZE=1 \
-s EXPORT_NAME="Opus" \
-s USE_ES6_IMPORT_META=0 \
-s FILESYSTEM=0 \
-s NODEJS_CATCH_REJECTION=0 \
-s NODEJS_CATCH_EXIT=0 \
-s EXPORTED_RUNTIME_METHODS="['setValue', 'getValue', 'AsciiToString']" \
-s EXPORTED_FUNCTIONS="['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_encode_float','_opus_strerror']" \
-s ENVIRONMENT=node,web \
./opus_vendor/.libs/libopus.a

Attributions

  • Speaker by Mestman from the Noun Project
  • Slashed zero by Rflor from the Noun Project
  • web browser by Iconstock from the Noun Project
  • Computer by iconcheese from the Noun Project
  • AirPlay by Michiel Willemsen from the Noun Project
  • Icons made by Smashicons from www.flaticon.com
  • Icons made by Freepik from www.flaticon.com
  • Icons made by smalllikeart from www.flaticon.com
  • Raspberry Pi by DesignBite from the Noun Project

soundsync's People

Contributors

dependabot[bot] avatar geekuillaume avatar neamar avatar thisisareku avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

soundsync's Issues

Cant install deb package on Raspbian, problem with archieve

Hi. ts a weird issue I think. I installed soundsync on Windows, and tried it also on my raspberry Pi 3B+ but sadly has problems with installing it more specifically with unpacking the package with any method. On windows the same package didnt have any problems with being opened by 7zip. Tried redownloading the file many times but nothing changed.

I've tried with apt-get, gdebi, tried unpacking it with tar and xz-utils with no success.
I've renamed it sound_2.deb so its easier to type..

PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster

sudo apt install /home/pi/Downloads/sound_2.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'soundsync' instead of '/home/pi/Downloads/sound_2.deb'
The following package was automatically installed and is no longer required:
libreoffice-gtk2
Use 'sudo apt autoremove' to remove it.
The following NEW packages will be installed:
soundsync
0 upgraded, 1 newly installed, 0 to remove and 355 not upgraded.
Need to get 0 B/55.9 MB of archives.
After this operation, 176 MB of additional disk space will be used.
Get:1 /home/pi/Downloads/sound_2.deb soundsync armhf 0.1.0 [55.9 MB]
(Reading database ... 141591 files and directories currently installed.)
Preparing to unpack /home/pi/Downloads/sound_2.deb ...
Unpacking soundsync (0.1.0) ...
dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt
dpkg-deb: error: subprocess returned error exit status 2
dpkg: error processing archive /home/pi/Downloads/sound_2.deb (--unpack):
cannot copy extracted data for './opt/Soundsync/icudtl.dat' to '/opt/Soundsync/icudtl.dat.dpkg-new': unexpected end of file or stream
Errors were encountered while processing:
/home/pi/Downloads/sound_2.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo gdebi sound_2.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading state information... Done

Plug virtual cables between any audio source and any speakers in your home
Do you want to install the software package? [y/N]:y
/usr/bin/gdebi:113: FutureWarning: Possible nested set at position 1
c = findall("[(/\S+[])]", msg)[0].lower()
(Reading database ... 141591 files and directories currently installed.)
Preparing to unpack sound_2.deb ...
Unpacking soundsync (0.1.0) ...
dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt
dpkg-deb: error: subprocess returned error exit status 2
dpkg: error processing archive sound_2.deb (--install):
cannot copy extracted data for './opt/Soundsync/icudtl.dat' to '/opt/Soundsync/icudtl.dat.dpkg-new': unexpected end of file or stream
Processing triggers for gnome-menus (3.31.4-3) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for mime-support (3.62) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Errors were encountered while processing:
sound_2.deb

tar -xvf data.tar.xz (i was able to unpack the .deb package)
./
./usr/
./usr/share/
./usr/share/applications/
./usr/share/applications/soundsync.desktop
./usr/share/doc/
./usr/share/doc/soundsync/
./usr/share/doc/soundsync/changelog.gz
./usr/share/icons/
./usr/share/icons/hicolor/
./usr/share/icons/hicolor/0x0/
./usr/share/icons/hicolor/0x0/apps/
./usr/share/icons/hicolor/0x0/apps/soundsync.png
./opt/
./opt/Soundsync/
./opt/Soundsync/natives_blob.bin
./opt/Soundsync/resources/
./opt/Soundsync/resources/res/
./opt/Soundsync/resources/res/logo_small.png
./opt/Soundsync/resources/res/logo_only.png
./opt/Soundsync/resources/res/logo.svg
./opt/Soundsync/resources/res/doc/
./opt/Soundsync/resources/res/doc/windows.md
./opt/Soundsync/resources/res/doc/raspberrypi.md
./opt/Soundsync/resources/res/logo_transparent.png
./opt/Soundsync/resources/res/logo_only.svg
./opt/Soundsync/resources/res/screenshot_menu.png
xz: (stdin): Compressed data is corrupt
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Crash log from an attempt to quit Soundsync

Process:               Soundsync [24614]
Path:                  /Applications/Soundsync.app/Contents/MacOS/Soundsync
Identifier:            com.geekuillaume.soundsync
Version:               0.4.7 (0.4.7)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
User ID:               501

Date/Time:             2020-10-23 13:03:08.148 -0500
OS Version:            Mac OS X 10.15.6 (19G73)
Report Version:        12
Bridge OS Version:     4.6 (17P6065)
Anonymous UUID:        05CA5752-C60A-4FD3-8E44-682DD8803345

Sleep/Wake UUID:       400FB428-9165-4561-B98B-6988E3140B33

Time Awake Since Boot: 270000 seconds
Time Since Wake:       860 seconds

System Integrity Protection: enabled

Crashed Thread:        0  CrBrowserMain  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
abort() called
Soundsync(24614,0x111228dc0) malloc: *** error for object 0x7ff64e4a0d90: pointer being freed was not allocated
 

Thread 0 Crashed:: CrBrowserMain  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff71b7733a __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff71c33e60 pthread_kill + 430
2   libsystem_c.dylib             	0x00007fff71afe808 abort + 120
3   libsystem_malloc.dylib        	0x00007fff71bf450b malloc_vreport + 548
4   libsystem_malloc.dylib        	0x00007fff71bf740f malloc_report + 151
5   com.github.Electron.framework 	0x0000000117612d97 napi_ref_threadsafe_function + 231
6   com.github.Electron.framework 	0x00000001175e68e6 node::EmitAsyncDestroy(node::Environment*, node::async_context) + 207110
7   com.github.Electron.framework 	0x00000001175b20be node::FreeEnvironment(node::Environment*) + 14
8   com.github.Electron.framework 	0x0000000111339336 ElectronInitializeICUandStartNode + 865334
9   com.github.Electron.framework 	0x0000000112f8f6fe v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 4315406
10  com.github.Electron.framework 	0x0000000112f91081 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 4321937
11  com.github.Electron.framework 	0x0000000112f8c8cd v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 4303581
12  com.github.Electron.framework 	0x0000000112e289ae v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 2845630
13  com.github.Electron.framework 	0x0000000112e286ae v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 2844862
14  com.github.Electron.framework 	0x00000001153f7e75 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 42492037
15  com.github.Electron.framework 	0x0000000111f9cde5 ElectronInitializeICUandStartNode + 13856485
16  com.github.Electron.framework 	0x0000000111265eca ElectronMain + 74
17  com.geekuillaume.soundsync    	0x000000010f6d3fb0 0x10f6d3000 + 4016
18  libdyld.dylib                 	0x00007fff71a2fcc9 start + 1

Thread 1:: ThreadPoolServiceThread
0   libsystem_kernel.dylib        	0x00007fff71b79b96 kevent64 + 10
1   com.github.Electron.framework 	0x0000000113c514d6 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17692390
2   com.github.Electron.framework 	0x0000000113c513bb v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17692107
3   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
4   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
5   com.github.Electron.framework 	0x0000000113c0a1dd v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17400813
6   com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
7   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
8   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
9   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 2:: ThreadPoolBackgroundWorker
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.github.Electron.framework 	0x0000000113c44170 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17638272
3   com.github.Electron.framework 	0x0000000113c1378e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17439134
4   com.github.Electron.framework 	0x0000000113c13fae v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17441214
5   com.github.Electron.framework 	0x0000000113c13c4d v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17440349
6   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
7   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
8   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 3:: Chrome_IOThread
0   libsystem_kernel.dylib        	0x00007fff71b79b96 kevent64 + 10
1   com.github.Electron.framework 	0x0000000113c514d6 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17692390
2   com.github.Electron.framework 	0x0000000113c513bb v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17692107
3   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
4   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
5   com.github.Electron.framework 	0x0000000112f93227 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 4330551
6   com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
7   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
8   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
9   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 4:: MemoryInfra
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.github.Electron.framework 	0x0000000113c44170 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17638272
3   com.github.Electron.framework 	0x0000000113c4403e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17637966
4   com.github.Electron.framework 	0x0000000113bb709f v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17060527
5   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
6   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
7   com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
8   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
9   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
10  libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 5:
0   libsystem_kernel.dylib        	0x00007fff71b75766 kevent + 10
1   com.github.Electron.framework 	0x000000011774e727 uv_free_interface_addresses + 1303
2   com.github.Electron.framework 	0x000000011773e49d uv_run + 365
3   com.github.Electron.framework 	0x000000011769d433 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) + 675
4   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
5   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 6:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011769d5f2 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) + 1122
4   com.github.Electron.framework 	0x000000011769b479 node::Buffer::New(v8::Isolate*, char*, unsigned long, void (*)(char*, void*), void*) + 540521
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 7:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011769d5f2 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) + 1122
4   com.github.Electron.framework 	0x000000011769b479 node::Buffer::New(v8::Isolate*, char*, unsigned long, void (*)(char*, void*), void*) + 540521
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 8:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011769d5f2 node::MultiIsolatePlatform::CancelPendingDelayedTasks(v8::Isolate*) + 1122
4   com.github.Electron.framework 	0x000000011769b479 node::Buffer::New(v8::Isolate*, char*, unsigned long, void (*)(char*, void*), void*) + 540521
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 9:
0   libsystem_kernel.dylib        	0x00007fff71b70e36 semaphore_wait_trap + 10
1   com.github.Electron.framework 	0x000000011774a000 uv_sem_wait + 16
2   com.github.Electron.framework 	0x00000001176ffa53 node::inspector::Agent::GetWsUrl() const + 83
3   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
4   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 10:: AMCP Logging Spool
0   libsystem_kernel.dylib        	0x00007fff71b70e36 semaphore_wait_trap + 10
1   com.apple.audio.caulk         	0x00007fff6b603b16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk         	0x00007fff6b6039b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk         	0x00007fff6b6037c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk         	0x00007fff6b6031e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 11:
0   libsystem_kernel.dylib        	0x00007fff71b70e36 semaphore_wait_trap + 10
1   com.apple.audio.caulk         	0x00007fff6b603b16 caulk::mach::semaphore::wait() + 16
2   com.apple.audio.caulk         	0x00007fff6b6039b2 caulk::semaphore::timed_wait(double) + 106
3   com.apple.audio.caulk         	0x00007fff6b6037c4 caulk::concurrent::details::worker_thread::run() + 30
4   com.apple.audio.caulk         	0x00007fff6b6031e4 void* caulk::thread_proxy<std::__1::tuple<caulk::thread::attributes, void (caulk::concurrent::details::worker_thread::*)(), std::__1::tuple<caulk::concurrent::details::worker_thread*> > >(void*) + 45
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 12:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011773a822 uv_cancel + 514
4   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
5   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 13:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011773a822 uv_cancel + 514
4   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
5   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 14:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011773a822 uv_cancel + 514
4   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
5   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 15:
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000117749aa9 uv_cond_wait + 9
3   com.github.Electron.framework 	0x000000011773a822 uv_cancel + 514
4   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
5   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 16:: NetworkConfigWatcher
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff3799aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff379999c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff37998e3e CFRunLoopRunSpecific + 462
5   com.apple.Foundation          	0x00007fff3a0341c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
6   com.github.Electron.framework 	0x0000000113c3f529 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17618745
7   com.github.Electron.framework 	0x0000000113c3e462 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17614450
8   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
9   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
10  com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
11  com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
12  libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
13  libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 17:: CrShutdownDetector
0   libsystem_kernel.dylib        	0x00007fff71b7181e read + 10
1   com.github.Electron.framework 	0x0000000111339dac ElectronInitializeICUandStartNode + 868012
2   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
3   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
4   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 18:: NetworkConfigWatcher
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff3799aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff379999c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff37998e3e CFRunLoopRunSpecific + 462
5   com.apple.Foundation          	0x00007fff3a0341c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
6   com.github.Electron.framework 	0x0000000113c3f529 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17618745
7   com.github.Electron.framework 	0x0000000113c3e462 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17614450
8   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
9   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
10  com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
11  com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
12  libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
13  libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 19:: ThreadPoolForegroundWorker
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.github.Electron.framework 	0x0000000113c44170 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17638272
3   com.github.Electron.framework 	0x0000000113c1378e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17439134
4   com.github.Electron.framework 	0x0000000113c13fae v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17441214
5   com.github.Electron.framework 	0x0000000113c13cdd v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17440493
6   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
7   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
8   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 20:: CompositorTileWorker1
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   com.github.Electron.framework 	0x0000000113c38277 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17589383
3   com.github.Electron.framework 	0x0000000114eaed61 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 36949873
4   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 21:: ThreadPoolSingleThreadForegroundBlocking0
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.github.Electron.framework 	0x0000000113c44170 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17638272
3   com.github.Electron.framework 	0x0000000113c4403e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17637966
4   com.github.Electron.framework 	0x0000000113c1379d v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17439149
5   com.github.Electron.framework 	0x0000000113c13fae v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17441214
6   com.github.Electron.framework 	0x0000000113c13d3d v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17440589
7   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
8   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
9   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 22:
0   libsystem_kernel.dylib        	0x00007fff71b70e36 semaphore_wait_trap + 10
1   com.github.Electron.framework 	0x000000011774a000 uv_sem_wait + 16
2   com.github.Electron.framework 	0x00000001113d6219 ElectronInitializeICUandStartNode + 1508121
3   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
4   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 23:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff3799aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff379999c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff37998e3e CFRunLoopRunSpecific + 462
5   com.apple.AppKit              	0x00007fff34dac954 _NSEventThread + 132
6   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
7   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 24:: NetworkConfigWatcher
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff3799aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff379999c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff37998e3e CFRunLoopRunSpecific + 462
5   com.apple.Foundation          	0x00007fff3a0341c8 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
6   com.github.Electron.framework 	0x0000000113c3f529 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17618745
7   com.github.Electron.framework 	0x0000000113c3e462 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17614450
8   com.github.Electron.framework 	0x0000000113c00361 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17360241
9   com.github.Electron.framework 	0x0000000113bd61aa v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17187770
10  com.github.Electron.framework 	0x0000000113c1cc6a v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17477242
11  com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
12  libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
13  libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 25:: ThreadPoolSingleThreadSharedBackgroundBlocking1
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.github.Electron.framework 	0x0000000113c44170 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17638272
3   com.github.Electron.framework 	0x0000000113c4403e v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17637966
4   com.github.Electron.framework 	0x0000000113c1379d v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17439149
5   com.github.Electron.framework 	0x0000000113c13def v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17440767
6   com.github.Electron.framework 	0x0000000113c13c7d v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17440397
7   com.github.Electron.framework 	0x0000000113c39187 v8::internal::SetupIsolateDelegate::SetupHeap(v8::internal::Heap*) + 17593239
8   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
9   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 26:: PeerConnectionFactory:workerThread
0   libsystem_kernel.dylib        	0x00007fff71b790fe __select + 10
1   wrtc.node                     	0x000000011ccd4f88 rtc::PhysicalSocketServer::WaitSelect(int, bool) + 616
2   wrtc.node                     	0x000000011cce0562 rtc::Thread::Get(rtc::Message*, int, bool) + 850
3   wrtc.node                     	0x000000011ccdf207 rtc::Thread::ProcessMessages(int) + 263
4   wrtc.node                     	0x000000011cce12b7 rtc::Thread::PreRun(void*) + 103
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 27:: PeerConnectionFactory:signalingThread
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   wrtc.node                     	0x000000011cd22e65 rtc::Event::Wait(int, int) + 661
3   wrtc.node                     	0x000000011ccca982 rtc::NullSocketServer::Wait(int, bool) + 18
4   wrtc.node                     	0x000000011cce0562 rtc::Thread::Get(rtc::Message*, int, bool) + 850
5   wrtc.node                     	0x000000011ccdf207 rtc::Thread::ProcessMessages(int) + 263
6   wrtc.node                     	0x000000011cce12b7 rtc::Thread::PreRun(void*) + 103
7   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
8   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 28:: TestAudioDeviceModuleImpl
0   libsystem_kernel.dylib        	0x00007fff71b73756 __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff71af6eea nanosleep + 196
2   wrtc.node                     	0x000000011cce10c6 rtc::Thread::SleepMs(int) + 70
3   wrtc.node                     	0x000000011cad56b2 node_webrtc::(anonymous namespace)::TestAudioDeviceModuleImpl::Run(void*) + 434
4   wrtc.node                     	0x000000011cd2279d rtc::PlatformThread::StartThread(void*) + 45
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 29:: PacerThread
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   wrtc.node                     	0x000000011cd22e43 rtc::Event::Wait(int, int) + 627
3   wrtc.node                     	0x000000011cef3b43 webrtc::ProcessThreadImpl::Process() + 995
4   wrtc.node                     	0x000000011cef32b8 webrtc::ProcessThreadImpl::Run(void*) + 24
5   wrtc.node                     	0x000000011cd2279d rtc::PlatformThread::StartThread(void*) + 45
6   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
7   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 30:: PacerThread
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   wrtc.node                     	0x000000011cd22e43 rtc::Event::Wait(int, int) + 627
3   wrtc.node                     	0x000000011cef3b43 webrtc::ProcessThreadImpl::Process() + 995
4   wrtc.node                     	0x000000011cef32b8 webrtc::ProcessThreadImpl::Run(void*) + 24
5   wrtc.node                     	0x000000011cd2279d rtc::PlatformThread::StartThread(void*) + 45
6   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
7   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 31:: SCTP iterator
0   libsystem_kernel.dylib        	0x00007fff71b73882 __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff71c34425 _pthread_cond_wait + 698
2   wrtc.node                     	0x000000011d0929eb sctp_iterator_thread + 75
3   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
4   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 32:: SCTP timer
0   libsystem_kernel.dylib        	0x00007fff71b790fe __select + 10
1   wrtc.node                     	0x000000011d092dce user_sctp_timer_iterate + 206
2   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
3   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 33:: com.apple.audio.IOThread.client
0   libsystem_kernel.dylib        	0x00007fff71b70dfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff71b71170 mach_msg + 60
2   com.apple.audio.CoreAudio     	0x00007fff3707cc75 HALB_MachPort::SendSimpleMessageWithSimpleReply(unsigned int, unsigned int, int, int&, bool, unsigned int) + 111
3   com.apple.audio.CoreAudio     	0x00007fff36f78f18 invocation function for block in HALC_ProxyIOContext::HALC_ProxyIOContext(unsigned int, unsigned int) + 2677
4   com.apple.audio.CoreAudio     	0x00007fff370acc22 HALB_IOThread::Entry(void*) + 72
5   libsystem_pthread.dylib       	0x00007fff71c34109 _pthread_start + 148
6   libsystem_pthread.dylib       	0x00007fff71c2fb8b thread_start + 15

Thread 34:
0   libsystem_pthread.dylib       	0x00007fff71c2fb68 start_wqthread + 0

Thread 35:
0   libsystem_pthread.dylib       	0x00007fff71c2fb68 start_wqthread + 0

Thread 36:
0   libsystem_pthread.dylib       	0x00007fff71c2fb68 start_wqthread + 0

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000111228dc0  rcx: 0x00007ffee052c028  rdx: 0x0000000000000000
  rdi: 0x0000000000000307  rsi: 0x0000000000000006  rbp: 0x00007ffee052c050  rsp: 0x00007ffee052c028
   r8: 0x0000000000000000   r9: 0x0000000000000000  r10: 0x0000000111228dc0  r11: 0x0000000000000246
  r12: 0x0000000000000307  r13: 0x0000000000000050  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: 0x00007fff71b7733a  rfl: 0x0000000000000246  cr2: 0x00007fff98157c90
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133


Binary Images:
       0x10f6d3000 -        0x10f6faff3 +com.geekuillaume.soundsync (0.4.7 - 0.4.7) <5CF444E6-280A-33A3-87FF-B56A6B4EC25C> /Applications/Soundsync.app/Contents/MacOS/Soundsync
       0x10f707000 -        0x10f997ff7 +libffmpeg.dylib (0) <6A525CAC-73E6-3A28-AC1E-DBD8FAFBF55B> /Applications/Soundsync.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Libraries/libffmpeg.dylib
       0x10fd65000 -        0x10fd80fff +com.github.Squirrel (1.0 - 1) <E4398068-33D3-3A00-9DBE-5ACC9B022501> /Applications/Soundsync.app/Contents/Frameworks/Squirrel.framework/Versions/A/Squirrel
       0x10fda7000 -        0x10fe0aff7 +org.reactivecocoa.ReactiveCocoa (1.0 - 1) <701B20DE-3ADD-3643-B52A-E05744C30DB3> /Applications/Soundsync.app/Contents/Frameworks/ReactiveCocoa.framework/Versions/A/ReactiveCocoa
       0x10fe84000 -        0x10fe98fff +org.mantle.Mantle (1.0 - ???) <31915DD6-48E6-3706-A076-C9D4CE17F4F6> /Applications/Soundsync.app/Contents/Frameworks/Mantle.framework/Versions/A/Mantle
       0x1110a1000 -        0x1110b1ff3 +audioworklet.node (0) <C4271105-2BA6-33DF-911A-A0AD5EC5106B> /Applications/Soundsync.app/Contents/Resources/app/node_modules/audioworklet/build/Release/audioworklet.node
       0x111131000 -        0x111134047  libobjc-trampolines.dylib (787.1) <88F9B648-C455-36F8-BBB9-7D1A9F57D073> /usr/lib/libobjc-trampolines.dylib
       0x11115e000 -        0x1111eff47  dyld (750.6) <34A11073-9E4C-38C3-9293-7D566ABAE8B6> /usr/lib/dyld
       0x111263000 -        0x1186c9ff7 +com.github.Electron.framework (10.1.3) <19578107-F011-3CE7-B524-C8D22C8577FF> /Applications/Soundsync.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
       0x11c978000 -        0x11d502f97 +wrtc.node (0) <49722014-068C-3EFA-8018-AFF953722F6A> /Applications/Soundsync.app/Contents/Resources/app/node_modules/wrtc/build/Release/wrtc.node
       0x39dce0000 -        0x39de3aff7 +libcubeb.dylib (0) <00047858-A8ED-3987-B802-4B50454C2A80> /Applications/Soundsync.app/Contents/Resources/app/node_modules/audioworklet/build/Release/libcubeb.dylib
       0x39f31a000 -        0x39f473ff7  com.apple.audio.units.Components (1.14 - 1.14) <A1AB9C17-B0F0-3A2C-A544-35B0E918DC57> /System/Library/Components/CoreAudio.component/Contents/MacOS/CoreAudio
    0x7fff2ee6e000 -     0x7fff2f30eff2  com.apple.driver.AppleIntelICLGraphicsMTLDriver (14.7.8 - 14.0.7) <5EFF7D5A-01EA-3867-AC36-97C307681CAA> /System/Library/Extensions/AppleIntelICLGraphicsMTLDriver.bundle/Contents/MacOS/AppleIntelICLGraphicsMTLDriver
    0x7fff331b6000 -     0x7fff333b1ff8  com.apple.avfoundation (2.0 - 1855.3) <0837D912-3783-35D6-A94A-E474E18600CF> /System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation
    0x7fff333b2000 -     0x7fff3347effe  com.apple.audio.AVFAudio (1.0 - 415.75) <2091897A-1EAF-3461-A11F-7E300665F3A7> /System/Library/Frameworks/AVFoundation.framework/Versions/A/Frameworks/AVFAudio.framework/Versions/A/AVFAudio
    0x7fff3359e000 -     0x7fff3359efff  com.apple.Accelerate (1.11 - Accelerate 1.11) <4F9977AE-DBDB-3A16-A536-AC1F9938DCDD> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff3359f000 -     0x7fff335b5fef  libCGInterfaces.dylib (524.2.1) <DE4EE08A-4A60-398A-8E93-BB6A4B3C72FC> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/Libraries/libCGInterfaces.dylib
    0x7fff335b6000 -     0x7fff33c0cfff  com.apple.vImage (8.1 - 524.2.1) <EA6F5FF2-7A1B-35D5-A5A3-D2B3386ECB75> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff33c0d000 -     0x7fff33e74ff7  libBLAS.dylib (1303.60.1) <C6C2D42F-7456-3DBF-8BE2-9AA06EFC78FD> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff33e75000 -     0x7fff34348fef  libBNNS.dylib (144.100.2) <99C61C48-B14C-3DA6-8C31-6BF72DA0A3A9> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib
    0x7fff34349000 -     0x7fff346e4fff  libLAPACK.dylib (1303.60.1) <5E3E3867-50C3-3E6A-9A2E-007CE77A4641> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff346e5000 -     0x7fff346fafec  libLinearAlgebra.dylib (1303.60.1) <3D433800-0099-33E0-8C81-15F83247B2C9> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib
    0x7fff346fb000 -     0x7fff34700ff3  libQuadrature.dylib (7) <371F36A7-B12F-363E-8955-F24F7C2048F6> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib
    0x7fff34701000 -     0x7fff34771fff  libSparse.dylib (103) <B8A10D0C-4577-343D-B310-A3E81265D107> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib
    0x7fff34772000 -     0x7fff34784fef  libSparseBLAS.dylib (1303.60.1) <B147FEF6-A0DB-3830-BF06-45BEC58DB576> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib
    0x7fff34785000 -     0x7fff3495cfd7  libvDSP.dylib (735.140.1) <D63DC0A5-B8B4-3562-A574-E73BC3B57407> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff3495d000 -     0x7fff34a1ffef  libvMisc.dylib (735.140.1) <3601FDE3-B142-398D-987D-8151A51F0A96> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff34a20000 -     0x7fff34a20fff  com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <F6C5613D-2284-342B-9160-9731F78B4DE5> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff34a21000 -     0x7fff34a80ff0  com.apple.Accounts (113 - 113) <5805A70A-4AF8-36C4-92A6-D5AB5B4C1630> /System/Library/Frameworks/Accounts.framework/Versions/A/Accounts
    0x7fff34bca000 -     0x7fff3598aff2  com.apple.AppKit (6.9 - 1894.60.100) <C4208642-19F7-3EAA-AACD-3B836FFDEFCF> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff359da000 -     0x7fff359dafff  com.apple.ApplicationServices (48 - 50) <D4320505-6458-38FD-81F0-406F2F0A4039> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff359db000 -     0x7fff35a46fff  com.apple.ApplicationServices.ATS (377 - 493.0.4.1) <CF994162-0F34-368D-BED4-D63270E35B5A> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff35adf000 -     0x7fff35b1dff0  libFontRegistry.dylib (274.0.5.1) <EAA136DE-69AC-3355-AED3-830018151715> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff35b78000 -     0x7fff35ba7fff  com.apple.ATSUI (1.0 - 1) <1FC04DE6-E0D4-3E6B-9AB6-255AB70DC9F4> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATSUI.framework/Versions/A/ATSUI
    0x7fff35ba8000 -     0x7fff35bacffb  com.apple.ColorSyncLegacy (4.13.0 - 1) <61F37728-FDCF-314B-B75D-5CD15AB7D4D9> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSyncLegacy.framework/Versions/A/ColorSyncLegacy
    0x7fff35c46000 -     0x7fff35c9dffa  com.apple.HIServices (1.22 - 676) <9FB74637-448B-3437-B8C1-2C354264A163> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff35c9e000 -     0x7fff35cacfff  com.apple.LangAnalysis (1.7.0 - 1.7.0) <A52FB48C-5C39-32FB-9637-9EEA7EA5CA6E> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff35cad000 -     0x7fff35cf2ffa  com.apple.print.framework.PrintCore (15.4 - 516.2) <B70D9E5A-C1D5-3159-A197-4F09E25E18C4> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff35cf3000 -     0x7fff35cfdff7  com.apple.QD (4.0 - 413) <5CEBC510-0B39-3BB5-B951-3B8F5E82C3CA> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff35cfe000 -     0x7fff35d0bffc  com.apple.speech.synthesis.framework (9.0.24 - 9.0.24) <59947616-D486-3963-A12D-9DEF153296CD> /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff35d0c000 -     0x7fff35dedffa  com.apple.audio.toolbox.AudioToolbox (1.14 - 1.14) <6BD0970D-7FD8-341D-8D82-0B3BBB565462> /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff35def000 -     0x7fff35deffff  com.apple.audio.units.AudioUnit (1.14 - 1.14) <C8F9CC56-F7CF-3E77-B6FC-BD8E1D19FA92> /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff36186000 -     0x7fff36515ffa  com.apple.CFNetwork (1128.0.1 - 1128.0.1) <C524C617-2CEF-340C-8CE2-98EAF91CF6A8> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff36591000 -     0x7fff36591fff  com.apple.Carbon (160 - 162) <FB72FB7D-5985-3D9C-82DB-A729FCA1249A> /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff36592000 -     0x7fff36595ff3  com.apple.CommonPanels (1.2.6 - 101) <B2F7737D-027B-3FFA-9927-EF105CB73193> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff36596000 -     0x7fff3688aff3  com.apple.HIToolbox (2.1.1 - 994.6) <DE6F9A20-8AF7-3963-82E1-4756C4A7A54C> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff3688b000 -     0x7fff3688eff3  com.apple.help (1.3.8 - 71) <EAFE0E80-DABA-31D9-AC32-87A0A37C70CE> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff3688f000 -     0x7fff36894ff7  com.apple.ImageCapture (9.0 - 1600.65) <1A1F320E-3E85-3F3D-8AE0-B238C4E92D40> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff36895000 -     0x7fff36895fff  com.apple.ink.framework (10.15 - 227) <E3570EA0-7D2D-31F8-B87A-08AD80199E0D> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff36896000 -     0x7fff368b0ffa  com.apple.openscripting (1.7 - 185.1) <5012E208-2295-3169-B452-1A99E7CB36F9> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff368d1000 -     0x7fff368d1fff  com.apple.print.framework.Print (15 - 271) <5B6DCE6F-FCB9-3502-897E-C54D7749B704> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff368d2000 -     0x7fff368d4ff7  com.apple.securityhi (9.0 - 55008) <B9CF91DA-6AE8-3250-B8B1-56EF4A68755F> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff368d5000 -     0x7fff368dbfff  com.apple.speech.recognition.framework (6.0.3 - 6.0.3) <16D2AB1F-1E22-37D6-B0B6-350D79796E10> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff368dc000 -     0x7fff36a74ffa  com.apple.cloudkit.CloudKit (867 - 867) <7DD49324-47B2-3CA2-9EF1-A6844F533743> /System/Library/Frameworks/CloudKit.framework/Versions/A/CloudKit
    0x7fff36a75000 -     0x7fff36a75fff  com.apple.Cocoa (6.11 - 23) <2F5C8ABA-711F-316C-BB97-921122AEE4DF> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff36a83000 -     0x7fff36b79fff  com.apple.ColorSync (4.13.0 - 3394.9) <0EE6A103-7283-3706-877D-1487BF11BBA3> /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff36e64000 -     0x7fff3736dffb  com.apple.audio.CoreAudio (5.0 - 5.0) <F816D92C-9408-3279-90BC-C23B69DC75AE> /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff373c0000 -     0x7fff373f8fff  com.apple.CoreBluetooth (1.0 - 1) <0CD1AE39-EACA-374A-9732-66798388EA91> /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
    0x7fff373f9000 -     0x7fff377e3fe8  com.apple.CoreData (120 - 977.3) <94F498B0-3AFB-3F8C-83E3-A8F7A1176248> /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff377e4000 -     0x7fff37916ff6  com.apple.CoreDisplay (1.0 - 186.6.15) <599EB1B7-552C-36F7-9924-177E700079C4> /System/Library/Frameworks/CoreDisplay.framework/Versions/A/CoreDisplay
    0x7fff37917000 -     0x7fff37d96feb  com.apple.CoreFoundation (6.9 - 1677.104) <C0D70026-EDBE-3CBD-B317-367CF4F1C92F> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff37d98000 -     0x7fff3840dff8  com.apple.CoreGraphics (2.0 - 1355.22) <4A3CDE7B-4578-3058-966A-3D1DC095A935> /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff3841b000 -     0x7fff38776ff0  com.apple.CoreImage (15.0.0 - 940.9) <103E76AC-A255-3B74-AD5B-46D28A904893> /System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage
    0x7fff38777000 -     0x7fff387e0ff0  com.apple.corelocation (2394.0.22 - 2394.0.22) <EEC17183-7908-3445-83FD-3920132AEC1B> /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
    0x7fff387e1000 -     0x7fff38831ff6  com.apple.audio.midi.CoreMIDI (1.10 - 88) <7F0F256D-A7C0-3883-8057-B07992DBB028> /System/Library/Frameworks/CoreMIDI.framework/Versions/A/CoreMIDI
    0x7fff38834000 -     0x7fff38b36ff2  com.apple.CoreML (1.0 - 1) <232C545F-CCA5-3465-AA7D-9F36DBAB038B> /System/Library/Frameworks/CoreML.framework/Versions/A/CoreML
    0x7fff38b37000 -     0x7fff38c12ffc  com.apple.CoreMedia (1.0 - 2625.9) <A3FF3AFC-8C1C-36E5-9179-66D8F075EE35> /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x7fff38c13000 -     0x7fff38c75ffe  com.apple.CoreMediaIO (1000.0 - 5125.6) <8FDC573F-890A-3F08-B357-99895521C93D> /System/Library/Frameworks/CoreMediaIO.framework/Versions/A/CoreMediaIO
    0x7fff38cff000 -     0x7fff38cfffff  com.apple.CoreServices (1069.24 - 1069.24) <AA140158-E909-34C2-B2F5-20EBC93E0056> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff38d00000 -     0x7fff38d85fff  com.apple.AE (838.1 - 838.1) <9F7FDA11-AA47-3FF4-80D6-32A5335555DF> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff38d86000 -     0x7fff39067ff7  com.apple.CoreServices.CarbonCore (1217 - 1217) <C1521E48-5E78-364A-8FA6-C4049CA4C66D> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff39068000 -     0x7fff390b5ffd  com.apple.DictionaryServices (1.2 - 323.6) <78832B5D-E126-3E28-89EC-8CA69AC5DD47> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff390b6000 -     0x7fff390beff7  com.apple.CoreServices.FSEvents (1268.100.1 - 1268.100.1) <29909C83-DF5F-3751-A35B-405860DBA937> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents
    0x7fff390bf000 -     0x7fff392f9ff6  com.apple.LaunchServices (1069.24 - 1069.24) <4760C0FA-6EDB-3CE4-AD62-5C4520A7D90B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff392fa000 -     0x7fff39392ff1  com.apple.Metadata (10.7.0 - 2076.7) <0973F7E5-D58C-3574-A3CE-4F12CAC2D4C7> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff39393000 -     0x7fff393c0fff  com.apple.CoreServices.OSServices (1069.24 - 1069.24) <4A42E711-6617-353A-B7DC-3F7AAF815A16> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff393c1000 -     0x7fff39428fff  com.apple.SearchKit (1.4.1 - 1.4.1) <757DA392-8E1A-3266-AF15-09B79B036621> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff39429000 -     0x7fff3944dff5  com.apple.coreservices.SharedFileList (131.4 - 131.4) <5F518E73-EA2F-389A-A924-046374F5F15B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList
    0x7fff396aa000 -     0x7fff39771ffc  com.apple.CoreTelephony (113 - 7560.1) <B8C6B213-B4FF-3769-8931-99AD676EB69C> /System/Library/Frameworks/CoreTelephony.framework/Versions/A/CoreTelephony
    0x7fff39772000 -     0x7fff39929ffc  com.apple.CoreText (643.1.5.1 - 643.1.5.1) <9C7FBD03-3845-3E2B-94B8-B3110180D3F5> /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff3992a000 -     0x7fff3996effb  com.apple.CoreVideo (1.8 - 344.3) <2F1DC859-A2E4-3983-8047-97BC0E8C55CE> /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff3996f000 -     0x7fff399fcffc  com.apple.framework.CoreWLAN (13.0 - 1601.2) <6C76A9E0-430F-3B3C-AE8A-3005F8E6FCFF> /System/Library/Frameworks/CoreWLAN.framework/Versions/A/CoreWLAN
    0x7fff39a33000 -     0x7fff39a73ff5  com.apple.CryptoTokenKit (1.0 - 1) <85B4A992-8B61-39FB-BCDE-05A2D5989D74> /System/Library/Frameworks/CryptoTokenKit.framework/Versions/A/CryptoTokenKit
    0x7fff39bb8000 -     0x7fff39bc3ff7  com.apple.DirectoryService.Framework (10.15 - 220.40.1) <5847E5B3-349D-3C0D-9E84-3E0633DD7D23> /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
    0x7fff39bc4000 -     0x7fff39c6eff0  com.apple.DiscRecording (9.0.3 - 9030.4.5) <2EBD7389-5091-36EA-9483-5DCAD08660F7> /System/Library/Frameworks/DiscRecording.framework/Versions/A/DiscRecording
    0x7fff39c93000 -     0x7fff39c99fff  com.apple.DiskArbitration (2.7 - 2.7) <63923E3F-1489-3762-B5EB-5CE28A35FF50> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff39e8e000 -     0x7fff39fbcff6  com.apple.FileProvider (304.1 - 304.1) <3BC3B7F7-A568-3D99-B654-F5F2379F1560> /System/Library/Frameworks/FileProvider.framework/Versions/A/FileProvider
    0x7fff39fd1000 -     0x7fff39fd3ff3  com.apple.ForceFeedback (1.0.6 - 1.0.6) <8A03B5DC-258F-3321-82A7-0B6AA8BEF484> /System/Library/Frameworks/ForceFeedback.framework/Versions/A/ForceFeedback
    0x7fff39fd4000 -     0x7fff3a399fff  com.apple.Foundation (6.9 - 1677.104) <2EF4C4DA-423B-3AFE-ACD1-7DAE64E47603> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff3a406000 -     0x7fff3a456ff7  com.apple.GSS (4.0 - 2.0) <CBD56CC8-237D-3831-BF95-7672BEA768C0> /System/Library/Frameworks/GSS.framework/Versions/A/GSS
    0x7fff3a457000 -     0x7fff3a47fff4  com.apple.GameController (1.0 - 1) <45425F43-5F37-35A0-80F7-2516678710AB> /System/Library/Frameworks/GameController.framework/Versions/A/GameController
    0x7fff3a593000 -     0x7fff3a6a7ff3  com.apple.Bluetooth (7.0.6 - 7.0.6f7) <CF9CEFBA-97AC-3474-93AF-863C2C74C645> /System/Library/Frameworks/IOBluetooth.framework/Versions/A/IOBluetooth
    0x7fff3a70d000 -     0x7fff3a7b1ff3  com.apple.framework.IOKit (2.0.2 - 1726.140.1) <31CA30A9-B32D-37A8-B5C8-20999D5D51BF> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff3a7b3000 -     0x7fff3a7c4ffb  com.apple.IOSurface (269.11 - 269.11) <3423901A-0ED1-352C-BB6D-5C788C3348DA> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff3a7e2000 -     0x7fff3a842ff5  com.apple.ImageCaptureCore (1.0 - 1600.65) <281CE141-B350-30E2-B345-FC7E7DF1AA3A> /System/Library/Frameworks/ImageCaptureCore.framework/Versions/A/ImageCaptureCore
    0x7fff3a843000 -     0x7fff3a99ffee  com.apple.ImageIO.framework (3.3.0 - 1976.11) <C17C7280-54F6-3750-85CE-C43428256D62> /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff3a9a0000 -     0x7fff3a9a3fff  libGIF.dylib (1976.11) <7F53F2C2-0F2B-3308-9E90-F043F43DAB32> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff3a9a4000 -     0x7fff3aa5dff7  libJP2.dylib (1976.11) <EAAE8D93-7C00-347A-BF6F-C262557C0A1C> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJP2.dylib
    0x7fff3aa5e000 -     0x7fff3aa81fe3  libJPEG.dylib (1976.11) <47540108-F321-35F9-A98A-784E4D4F3C15> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff3acff000 -     0x7fff3ad19fef  libPng.dylib (1976.11) <DDBB2E46-7BCB-339B-883E-67B97A7614A3> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff3ad1a000 -     0x7fff3ad1bfff  libRadiance.dylib (1976.11) <C8998674-DCB4-3C2C-9D6E-C0809D7727A2> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff3ad1c000 -     0x7fff3ad62fff  libTIFF.dylib (1976.11) <79E99768-71D7-3EA9-9675-95EFACF32FC8> /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff3ad7b000 -     0x7fff3b20aff8  com.apple.Intents (1.0 - 1) <ECA576E2-C17F-3EEE-80F7-AC7208D59268> /System/Library/Frameworks/Intents.framework/Versions/A/Intents
    0x7fff3b20d000 -     0x7fff3c2adfe9  com.apple.JavaScriptCore (15609 - 15609.3.5.1.3) <1874AA53-2C73-3DB2-A98F-69D9BDB3ADC8> /System/Library/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore
    0x7fff3c2c4000 -     0x7fff3c2d6ff3  com.apple.Kerberos (3.0 - 1) <FE4E83D2-D943-3742-957D-BF6AA9E50B81> /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff3c2d7000 -     0x7fff3c2d7fff  libHeimdalProxy.dylib (77) <0A2905EE-9533-3345-AF9B-AAC71513BDFD> /System/Library/Frameworks/Kerberos.framework/Versions/A/Libraries/libHeimdalProxy.dylib
    0x7fff3c2d8000 -     0x7fff3c30eff7  com.apple.LDAPFramework (2.4.28 - 194.5) <92623720-715E-32D9-A641-212320803967> /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff3c422000 -     0x7fff3c444ffc  com.apple.CoreAuthentication.SharedUtils (1.0 - 693.140.3) <A6C6FA0F-83C4-360F-96C6-1393FE6B8123> /System/Library/Frameworks/LocalAuthentication.framework/Support/SharedUtils.framework/Versions/A/SharedUtils
    0x7fff3c445000 -     0x7fff3c45bff2  com.apple.LocalAuthentication (1.0 - 693.140.3) <5D391FD1-391B-390A-BBC1-62A537C8DAFE> /System/Library/Frameworks/LocalAuthentication.framework/Versions/A/LocalAuthentication
    0x7fff3c669000 -     0x7fff3c673ffb  com.apple.MediaAccessibility (1.0 - 125.1) <35B667D6-A924-3DD1-9390-234F6D12E1C0> /System/Library/Frameworks/MediaAccessibility.framework/Versions/A/MediaAccessibility
    0x7fff3c687000 -     0x7fff3c73eff7  com.apple.MediaPlayer (1.0 - 1.0) <48B144B0-D994-3524-97C8-6A0D341BD3A6> /System/Library/Frameworks/MediaPlayer.framework/Versions/A/MediaPlayer
    0x7fff3c73f000 -     0x7fff3ce8cff2  com.apple.MediaToolbox (1.0 - 2625.9) <578E679E-8672-3A74-8EE4-C67965C81DD0> /System/Library/Frameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x7fff3ce8e000 -     0x7fff3cf58fff  com.apple.Metal (212.8 - 212.8) <7A496C57-4ECE-337F-96D4-09F24C033913> /System/Library/Frameworks/Metal.framework/Versions/A/Metal
    0x7fff3cf5a000 -     0x7fff3cf74ff5  com.apple.MetalKit (141.2 - 141.2) <FAACD940-5CF2-300A-83F3-86ABA7FDC531> /System/Library/Frameworks/MetalKit.framework/Versions/A/MetalKit
    0x7fff3cf75000 -     0x7fff3cfb2ff7  com.apple.MetalPerformanceShaders.MPSCore (1.0 - 1) <7EBAC15D-7837-395D-B405-1E29F7DA68FA> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSCore.framework/Versions/A/MPSCore
    0x7fff3cfb3000 -     0x7fff3d03dfe2  com.apple.MetalPerformanceShaders.MPSImage (1.0 - 1) <B424FE0C-6E90-3BFA-A6E7-DD86C735AE90> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSImage.framework/Versions/A/MPSImage
    0x7fff3d03e000 -     0x7fff3d063ff4  com.apple.MetalPerformanceShaders.MPSMatrix (1.0 - 1) <02006D92-E2AB-3892-A96B-37F6520C19BA> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSMatrix.framework/Versions/A/MPSMatrix
    0x7fff3d064000 -     0x7fff3d079ffb  com.apple.MetalPerformanceShaders.MPSNDArray (1.0 - 1) <CAA5A368-DB71-34F6-AEF9-27A8BC298F53> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNDArray.framework/Versions/A/MPSNDArray
    0x7fff3d07a000 -     0x7fff3d1d8ffc  com.apple.MetalPerformanceShaders.MPSNeuralNetwork (1.0 - 1) <05612E06-50CB-318F-9F8E-EF4D49FAB3B0> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSNeuralNetwork.framework/Versions/A/MPSNeuralNetwork
    0x7fff3d1d9000 -     0x7fff3d228ff4  com.apple.MetalPerformanceShaders.MPSRayIntersector (1.0 - 1) <B0B591F8-6875-351E-867F-8EB3CD38CD52> /System/Library/Frameworks/MetalPerformanceShaders.framework/Frameworks/MPSRayIntersector.framework/Versions/A/MPSRayIntersector
    0x7fff3d229000 -     0x7fff3d22aff5  com.apple.MetalPerformanceShaders.MetalPerformanceShaders (1.0 - 1) <F2921F9A-3041-3495-878D-64134267B847> /System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/MetalPerformanceShaders
    0x7fff3e2b8000 -     0x7fff3e2c4ffe  com.apple.NetFS (6.0 - 4.0) <024195B7-00F1-30D3-A407-11DC3E262C05> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff3e2c5000 -     0x7fff3e41cff3  com.apple.Network (1.0 - 1) <2B933C30-E71F-3ECC-8DBD-FBBB997A6FDC> /System/Library/Frameworks/Network.framework/Versions/A/Network
    0x7fff3e41d000 -     0x7fff3e67dffa  com.apple.NetworkExtension (1.0 - 1) <63069E97-A98C-3C23-AC48-D798CF0A03CA> /System/Library/Frameworks/NetworkExtension.framework/Versions/A/NetworkExtension
    0x7fff40e4e000 -     0x7fff40ea6fff  com.apple.opencl (3.5 - 3.5) <983E7D45-6C6D-35EC-A68D-6AD5FCFE2356> /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff40ea7000 -     0x7fff40ec3fff  com.apple.CFOpenDirectory (10.15 - 220.40.1) <1C7F51F3-43D9-3E4A-93C9-A74C6BCAE2CE> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff40ec4000 -     0x7fff40ecfffd  com.apple.OpenDirectory (10.15 - 220.40.1) <3BB64E34-C2D9-3172-BBD8-D360FE4B2737> /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff41835000 -     0x7fff41837fff  libCVMSPluginSupport.dylib (17.10.22) <2B6C3C16-3F5F-36A8-8070-2A862B90328B> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCVMSPluginSupport.dylib
    0x7fff41838000 -     0x7fff4183dfff  libCoreFSCache.dylib (176.15) <E9A20E72-B17F-33D6-8894-41934A10B822> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreFSCache.dylib
    0x7fff4183e000 -     0x7fff41842fff  libCoreVMClient.dylib (176.15) <018A48BA-1326-3847-8FB5-A7C99322EB87> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff41843000 -     0x7fff4184bff7  libGFXShared.dylib (17.10.22) <A530A704-1D22-3692-8DFF-EDF6A12E59F0> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff4184c000 -     0x7fff41856fff  libGL.dylib (17.10.22) <FB5E6A75-398E-38EF-8CB2-59F5BFE3034C> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff41857000 -     0x7fff4188bff7  libGLImage.dylib (17.10.22) <9A3FE633-61B8-3CC7-8183-62960109401A> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff41a21000 -     0x7fff41a5dfff  libGLU.dylib (17.10.22) <D8B4D804-7323-30BC-871C-B7236FFC2FE3> /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff42499000 -     0x7fff424a8ff7  com.apple.opengl (17.10.22 - 17.10.22) <E75C69AE-61EA-32D5-B58D-30022D68CC66> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff4265a000 -     0x7fff4274dff0  com.apple.PDFKit (1.0 - 835.7) <AA929545-B01F-38DB-95B8-D9F5F524A3EC> /System/Library/Frameworks/PDFKit.framework/Versions/A/PDFKit
    0x7fff4274e000 -     0x7fff42865ff9  com.apple.PencilKit (1.0 - 1) <0F41A2C7-493C-3C42-8B3A-7C7D94F7461A> /System/Library/Frameworks/PencilKit.framework/Versions/A/PencilKit
    0x7fff42b06000 -     0x7fff42b0cff6  com.apple.PushKit (1.0 - 1) <B9E3863E-8575-3BD3-B4A1-D8683D7856D7> /System/Library/Frameworks/PushKit.framework/Versions/A/PushKit
    0x7fff42c2d000 -     0x7fff42e73ff7  com.apple.imageKit (3.0 - 1081) <2C3BBCFD-AFD1-3A76-9B1B-D515B1DADF9C> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/ImageKit
    0x7fff42e74000 -     0x7fff43333fff  com.apple.QuartzComposer (5.1 - 378) <E7D9D087-AC55-3C97-9025-A2766D4B8031> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/QuartzComposer
    0x7fff43334000 -     0x7fff43359ffc  com.apple.quartzfilters (1.10.0 - Tag) <0866DF11-B520-384F-9586-66E52180AF0E> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzFilters.framework/Versions/A/QuartzFilters
    0x7fff4335a000 -     0x7fff43464ff7  com.apple.QuickLookUIFramework (5.0 - 906.3) <7128FB8C-83B0-3250-BF86-E8A1772CF1F5> /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/QuickLookUI
    0x7fff43465000 -     0x7fff43465fff  com.apple.quartzframework (1.5 - 23) <F0798D40-2A7A-3ADD-AE82-AC1A934E7EB7> /System/Library/Frameworks/Quartz.framework/Versions/A/Quartz
    0x7fff43466000 -     0x7fff436e9ffb  com.apple.QuartzCore (1.11 - 841.4) <FE927B0E-BD49-32CC-8A55-90F553C86C15> /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff436ea000 -     0x7fff43743ff5  com.apple.QuickLookFramework (5.0 - 906.3) <959CE934-B541-3172-846F-4D1709353526> /System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook
    0x7fff43744000 -     0x7fff43779ffc  com.apple.QuickLookThumbnailing (1.0 - 1) <F79B36C5-08B4-3E80-9BB3-EA3EAB50B755> /System/Library/Frameworks/QuickLookThumbnailing.framework/Versions/A/QuickLookThumbnailing
    0x7fff43c4a000 -     0x7fff43c62ff0  com.apple.SafariServices.framework (15609 - 15609.3.5.1.3) <F98B27E2-81C9-3372-8E20-B49DA2D99B11> /System/Library/Frameworks/SafariServices.framework/Versions/A/SafariServices
    0x7fff4426a000 -     0x7fff445b3ff1  com.apple.security (7.0 - 59306.140.5) <EB9E9E2A-B53B-36EE-B9CE-EEB99B603CB1> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff445b4000 -     0x7fff4463cffb  com.apple.securityfoundation (6.0 - 55236.60.1) <407FE3EC-3EC2-31DF-B988-43B13D6D4A75> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff4463d000 -     0x7fff4466aff7  com.apple.securityinterface (10.0 - 55139.120.1) <6C6C69FE-E0BB-3D9B-A320-F13FC296C06C> /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface
    0x7fff4466b000 -     0x7fff4466fff8  com.apple.xpc.ServiceManagement (1.0 - 1) <279E7AA9-B23D-3E32-946B-5559EDC56C86> /System/Library/Frameworks/ServiceManagement.framework/Versions/A/ServiceManagement
    0x7fff449a3000 -     0x7fff449c0ff9  com.apple.StoreKit (1.0 - 1) <B0EEAE64-D9E3-3D04-8055-A6C92D3B4F13> /System/Library/Frameworks/StoreKit.framework/Versions/A/StoreKit
    0x7fff4531b000 -     0x7fff45395ff7  com.apple.SystemConfiguration (1.19 - 1.19) <84F9B3BB-F7AF-3B7C-8CD0-D3C22D19619F> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff4555e000 -     0x7fff45593ff2  com.apple.UserNotifications (1.0 - ???) <D2BB341A-C66E-3646-8997-2AD3E95309F4> /System/Library/Frameworks/UserNotifications.framework/Versions/A/UserNotifications
    0x7fff45615000 -     0x7fff45998ff4  com.apple.VideoToolbox (1.0 - 2625.9) <6CF18E28-A7A8-3952-8171-7E4FF4FB37FA> /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x7fff49305000 -     0x7fff493cafe7  com.apple.APFS (1412.141.1 - 1412.141.1) <C86A3423-E61C-335A-9D17-0B3CE5BB6467> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS
    0x7fff49b92000 -     0x7fff49b9aff5  com.apple.AccessibilityBundles (1.0 - 131.5) <D431EB06-AE4E-3B49-A99D-50BF85E13741> /System/Library/PrivateFrameworks/AccessibilityBundles.framework/Versions/A/AccessibilityBundles
    0x7fff49d1a000 -     0x7fff49dcbff6  com.apple.accounts.AccountsDaemon (113 - 113) <885907A3-675B-3050-A3ED-C90886993F1A> /System/Library/PrivateFrameworks/AccountsDaemon.framework/Versions/A/AccountsDaemon
    0x7fff4a4df000 -     0x7fff4a4e0ff1  com.apple.AggregateDictionary (1.0 - 1) <2E60E192-E839-3366-804D-9739E79CBC9F> /System/Library/PrivateFrameworks/AggregateDictionary.framework/Versions/A/AggregateDictionary
    0x7fff4a930000 -     0x7fff4aa7bff5  com.apple.AnnotationKit (1.0 - 325.9) <4AD8B509-A8AE-340B-B2AE-0E2D1AAA9638> /System/Library/PrivateFrameworks/AnnotationKit.framework/Versions/A/AnnotationKit
    0x7fff4aa7c000 -     0x7fff4aa99ff4  com.apple.AppContainer (4.0 - 448.100.6) <EF924755-FFB9-34D4-B639-054714E5F26D> /System/Library/PrivateFrameworks/AppContainer.framework/Versions/A/AppContainer
    0x7fff4aaee000 -     0x7fff4aafcff7  com.apple.AppSandbox (4.0 - 448.100.6) <BD6E612B-FECD-3024-9143-E437839F1F5D> /System/Library/PrivateFrameworks/AppSandbox.framework/Versions/A/AppSandbox
    0x7fff4aaff000 -     0x7fff4ab5dff5  com.apple.AppStoreDaemon (1.0 - 1) <5A01D730-DB70-3441-ADC1-D7DF17E39578> /System/Library/PrivateFrameworks/AppStoreDaemon.framework/Versions/A/AppStoreDaemon
    0x7fff4aee7000 -     0x7fff4af4cff7  com.apple.AppSupport (1.0.0 - 29) <4819B5D3-7FB8-336A-81D5-63E0850A391C> /System/Library/PrivateFrameworks/AppSupport.framework/Versions/A/AppSupport
    0x7fff4af78000 -     0x7fff4af9cffb  com.apple.framework.Apple80211 (13.0 - 1610.1) <C53B760A-3305-3053-9BBE-BB70AE3C349B> /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff4b25a000 -     0x7fff4b269fd7  com.apple.AppleFSCompression (119.100.1 - 1.0) <B0E6D541-1850-384B-B397-CC73503C20B2> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression
    0x7fff4b368000 -     0x7fff4b373ff7  com.apple.AppleIDAuthSupport (1.0 - 1) <8D12CC19-2D08-3F37-93E3-3D170E6EC78A> /System/Library/PrivateFrameworks/AppleIDAuthSupport.framework/Versions/A/AppleIDAuthSupport
    0x7fff4b374000 -     0x7fff4b3b4ff1  com.apple.AppleIDSSOAuthentication (1.0 - 1) <939D0B16-4169-33CD-BB25-EF2192820DEA> /System/Library/PrivateFrameworks/AppleIDSSOAuthentication.framework/Versions/A/AppleIDSSOAuthentication
    0x7fff4b3b5000 -     0x7fff4b3fdff7  com.apple.AppleJPEG (1.0 - 1) <6D4A6930-F0E2-3CFF-916F-06E87E648069> /System/Library/PrivateFrameworks/AppleJPEG.framework/Versions/A/AppleJPEG
    0x7fff4b40f000 -     0x7fff4b7b3ffd  com.apple.AppleMediaServices (1.0 - 1) <27730511-BF75-35B0-A19C-998EB2ADEE2E> /System/Library/PrivateFrameworks/AppleMediaServices.framework/Versions/A/AppleMediaServices
    0x7fff4b7c0000 -     0x7fff4b7e6ffb  com.apple.aps.framework (4.0 - 4.0) <A7EED3AB-D5E2-37C8-A777-794034BABF6F> /System/Library/PrivateFrameworks/ApplePushService.framework/Versions/A/ApplePushService
    0x7fff4b7e7000 -     0x7fff4b7ebff7  com.apple.AppleSRP (5.0 - 1) <70C25EA9-F7A7-366C-97C6-EEE7845FFCC3> /System/Library/PrivateFrameworks/AppleSRP.framework/Versions/A/AppleSRP
    0x7fff4b7ec000 -     0x7fff4b80efff  com.apple.applesauce (1.0 - 16.25) <68E0364C-AEA7-3654-A030-136BF3CD92F3> /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce
    0x7fff4b8cd000 -     0x7fff4b8d0ffb  com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <D51FE050-B5D0-3E07-8CAE-730C3C7815D4> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo
    0x7fff4b8d1000 -     0x7fff4b921ff7  com.apple.AppleVAFramework (6.1.2 - 6.1.2) <73FB7981-5BEC-3546-BE46-D8F15FD8FA92> /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x7fff4b96a000 -     0x7fff4b979ff9  com.apple.AssertionServices (1.0 - 223.140.2) <F86E0D38-3E0E-37B2-A070-4176E533040D> /System/Library/PrivateFrameworks/AssertionServices.framework/Versions/A/AssertionServices
    0x7fff4bebc000 -     0x7fff4c2b7ff8  com.apple.audio.AudioResourceArbitration (1.0 - 1) <1E9E234C-C1EF-3BB1-BA01-32088B12AA76> /System/Library/PrivateFrameworks/AudioResourceArbitration.framework/Versions/A/AudioResourceArbitration
    0x7fff4c3f6000 -     0x7fff4c447ff9  com.apple.audio.AudioSession (1.0 - 17) <E36B142B-D781-3424-AD49-55F857D2CDCF> /System/Library/PrivateFrameworks/AudioSession.framework/Versions/A/AudioSession
    0x7fff4c448000 -     0x7fff4c475ff7  libSessionUtility.dylib (17) <9313BF9A-B72D-3AF8-B280-57800977966D> /System/Library/PrivateFrameworks/AudioSession.framework/libSessionUtility.dylib
    0x7fff4c50d000 -     0x7fff4c74dfe0  com.apple.audio.AudioToolboxCore (1.0 - 1104.93) <5B539F50-93E8-3F73-9E4C-678C85D0488F> /System/Library/PrivateFrameworks/AudioToolboxCore.framework/Versions/A/AudioToolboxCore
    0x7fff4c751000 -     0x7fff4c86dfff  com.apple.AuthKit (1.0 - 1) <D7FBDAA7-B582-33C0-9030-31169A53A542> /System/Library/PrivateFrameworks/AuthKit.framework/Versions/A/AuthKit
    0x7fff4ca2a000 -     0x7fff4ca33ff7  com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <AED997B4-B67E-3216-AA6D-5BB5216905E6> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement
    0x7fff4ca34000 -     0x7fff4cad5ff5  com.apple.backup.framework (1.11.6 - 1298.6.2) <EE699538-4D97-30D2-BAA1-C35C96C7BE83> /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff4cad6000 -     0x7fff4cb62ff6  com.apple.BaseBoard (466.3 - 466.3) <CEADF75A-0A22-350B-8476-A612ED386E24> /System/Library/PrivateFrameworks/BaseBoard.framework/Versions/A/BaseBoard
    0x7fff4cc33000 -     0x7fff4cc63ffa  com.apple.BoardServices (1.0 - 466.3) <F81CC5EA-E906-354A-9ECD-D53F6266E376> /System/Library/PrivateFrameworks/BoardServices.framework/Versions/A/BoardServices
    0x7fff4cc64000 -     0x7fff4cca0ff7  com.apple.bom (14.0 - 219.2) <83788F83-9B27-3208-9155-95EA440CAEC7> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom
    0x7fff4cdbe000 -     0x7fff4cdf5ff5  com.apple.C2 (1.3 - 495) <580E40F0-0B78-3A27-98B0-DE108957033F> /System/Library/PrivateFrameworks/C2.framework/Versions/A/C2
    0x7fff4d820000 -     0x7fff4d86ffff  com.apple.ChunkingLibrary (307 - 307) <F0CB2422-B138-36BA-ADD5-58D95D086FEA> /System/Library/PrivateFrameworks/ChunkingLibrary.framework/Versions/A/ChunkingLibrary
    0x7fff4e71b000 -     0x7fff4e72bffb  com.apple.CommonAuth (4.0 - 2.0) <CF67FF34-4238-3ECA-B4A4-EA04F18A0D36> /System/Library/PrivateFrameworks/CommonAuth.framework/Versions/A/CommonAuth
    0x7fff4e73f000 -     0x7fff4e756fff  com.apple.commonutilities (8.0 - 900) <C7826C15-66EF-365D-B3BD-D2E2BF3564DC> /System/Library/PrivateFrameworks/CommonUtilities.framework/Versions/A/CommonUtilities
    0x7fff4ee5d000 -     0x7fff4f232fc8  com.apple.CoreAUC (283.0.0 - 283.0.0) <E344A71D-0EB7-37B8-B589-6B6F87742FC1> /System/Library/PrivateFrameworks/CoreAUC.framework/Versions/A/CoreAUC
    0x7fff4f233000 -     0x7fff4f260ff7  com.apple.CoreAVCHD (6.1.0 - 6100.4.1) <4EA2BAEE-C199-3FD7-BE15-4E48B54B613A> /System/Library/PrivateFrameworks/CoreAVCHD.framework/Versions/A/CoreAVCHD
    0x7fff4f283000 -     0x7fff4f2a4ff4  com.apple.analyticsd (1.0 - 1) <E6E3B6EA-A2BE-3752-B06D-BECCBA4E85B2> /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics
    0x7fff4f3ad000 -     0x7fff4f423ff7  com.apple.corebrightness (1.0 - 1) <DF800295-E1E4-34C0-B8AD-454B62AF0FBD> /System/Library/PrivateFrameworks/CoreBrightness.framework/Versions/A/CoreBrightness
    0x7fff4f5af000 -     0x7fff4f5baff7  com.apple.frameworks.CoreDaemon (1.3 - 1.3) <77821999-AFCC-3996-8998-3D0DB7B03F6A> /System/Library/PrivateFrameworks/CoreDaemon.framework/Versions/B/CoreDaemon
    0x7fff4f5bb000 -     0x7fff4f7c6ff1  com.apple.CoreDuet (1.0 - 1) <1DF03E1D-BDA3-3746-BC8D-902AD3365248> /System/Library/PrivateFrameworks/CoreDuet.framework/Versions/A/CoreDuet
    0x7fff4f7c7000 -     0x7fff4f814ff3  com.apple.coreduetcontext (1.0 - 1) <2F644A88-FDA6-361A-A413-4B641776CB6D> /System/Library/PrivateFrameworks/CoreDuetContext.framework/Versions/A/CoreDuetContext
    0x7fff4f815000 -     0x7fff4f825ffe  com.apple.CoreDuetDaemonProtocol (1.0 - 1) <9409DC93-F0EF-3D54-8317-7FD91ADF1152> /System/Library/PrivateFrameworks/CoreDuetDaemonProtocol.framework/Versions/A/CoreDuetDaemonProtocol
    0x7fff4f828000 -     0x7fff4f82afff  com.apple.CoreDuetDebugLogging (1.0 - 1) <B42C787E-1872-38CF-9A2A-0545CBF4349D> /System/Library/PrivateFrameworks/CoreDuetDebugLogging.framework/Versions/A/CoreDuetDebugLogging
    0x7fff4f83b000 -     0x7fff4f84bff3  com.apple.CoreEmoji (1.0 - 107.1) <7374E3E4-907B-3691-ABAB-F7A27CCCF650> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji
    0x7fff4fa01000 -     0x7fff4fb4efff  com.apple.CoreHandwriting (161 - 1.2) <1B0ABCB8-DFE6-312C-ABC3-C129937ED1B4> /System/Library/PrivateFrameworks/CoreHandwriting.framework/Versions/A/CoreHandwriting
    0x7fff4fe8b000 -     0x7fff4fef5ff0  com.apple.CoreNLP (1.0 - 213) <BD3A01B7-9C7E-3ABF-B0B5-6D1131C95871> /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
    0x7fff501b8000 -     0x7fff50240ffe  com.apple.CorePDF (4.0 - 518.4.1) <0BAE81C1-5BA8-3877-8363-82362D26956A> /System/Library/PrivateFrameworks/CorePDF.framework/Versions/A/CorePDF
    0x7fff50323000 -     0x7fff5032bff8  com.apple.CorePhoneNumbers (1.0 - 1) <E4DAD514-0B3B-3E0B-8AEA-39B320FAAF03> /System/Library/PrivateFrameworks/CorePhoneNumbers.framework/Versions/A/CorePhoneNumbers
    0x7fff50d18000 -     0x7fff50d3bfff  com.apple.CoreSVG (1.0 - 129.3) <F38189F9-C8F9-3D62-9D5F-3F520FB81724> /System/Library/PrivateFrameworks/CoreSVG.framework/Versions/A/CoreSVG
    0x7fff50d3c000 -     0x7fff50d6ffff  com.apple.CoreServicesInternal (446.7 - 446.7) <93E6988C-F805-3939-AB8D-584ABADFD34E> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal
    0x7fff50d70000 -     0x7fff50d9effd  com.apple.CSStore (1069.24 - 1069.24) <ADE95A95-498F-3B41-8377-8B4896265A73> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore
    0x7fff512c3000 -     0x7fff51359ff7  com.apple.CoreSymbolication (11.4 - 64535.33.2) <A56D680A-DDF4-3184-A55E-5B2B5C12B1C5> /System/Library/PrivateFrameworks/CoreSymbolication.framework/Versions/A/CoreSymbolication
    0x7fff513f1000 -     0x7fff5151dff6  com.apple.coreui (2.1 - 609.4) <5812AEFB-5C84-37F1-868F-2DDBC3CDF930> /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff5151e000 -     0x7fff516d7ffa  com.apple.CoreUtils (6.2.4 - 624.7) <456CC907-E838-3945-B70A-66E862C19CD6> /System/Library/PrivateFrameworks/CoreUtils.framework/Versions/A/CoreUtils
    0x7fff51811000 -     0x7fff51824ff1  com.apple.CrashReporterSupport (10.13 - 15016) <B9B5F954-A6FA-349F-973C-8B49711F9A42> /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff518dd000 -     0x7fff518efff8  com.apple.framework.DFRFoundation (1.0 - 252.50.1) <F7FCE163-8165-398F-87BC-B2FA8A5F9857> /System/Library/PrivateFrameworks/DFRFoundation.framework/Versions/A/DFRFoundation
    0x7fff518f0000 -     0x7fff518f5fff  com.apple.DSExternalDisplay (3.1 - 380) <8EA5D569-3662-3303-B2BA-3973B8A1AAD8> /System/Library/PrivateFrameworks/DSExternalDisplay.framework/Versions/A/DSExternalDisplay
    0x7fff5197f000 -     0x7fff519f9ff0  com.apple.datadetectorscore (8.0 - 659) <146BE183-0031-37C6-AD62-23EF68697F45> /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff51a45000 -     0x7fff51a82ff8  com.apple.DebugSymbols (194 - 194) <0873DC37-076B-31E6-A82F-B36D874FE5C9> /System/Library/PrivateFrameworks/DebugSymbols.framework/Versions/A/DebugSymbols
    0x7fff51a83000 -     0x7fff51c0bff6  com.apple.desktopservices (1.14.5 - 1281.5.3) <BE6F44A8-FF2E-3E26-A06B-BB57EC233612> /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff51eba000 -     0x7fff51f82ffe  com.apple.DiskImagesFramework (559.100.2 - 559.100.2) <47CD30B9-887B-3660-B0EA-E8D8258263BC> /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
    0x7fff51f83000 -     0x7fff52056ff1  com.apple.DiskManagement (13.0 - 1648.140.2) <E971E4C9-329F-3A20-86F8-7C739C68F736> /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/DiskManagement
    0x7fff52057000 -     0x7fff5205bff1  com.apple.DisplayServicesFW (3.1 - 380) <98D9A933-C29C-3464-BA5E-CB75FD6D06C3> /System/Library/PrivateFrameworks/DisplayServices.framework/Versions/A/DisplayServices
    0x7fff520b5000 -     0x7fff520d9ff7  com.apple.DuetActivityScheduler (1.0 - 1) <188C6793-A94C-3B49-A9F4-AF8A348C7E62> /System/Library/PrivateFrameworks/DuetActivityScheduler.framework/Versions/A/DuetActivityScheduler
    0x7fff52103000 -     0x7fff52138ff7  com.apple.SystemConfiguration.EAP8021X (14.0.0 - 14.0) <95B6A77B-AA37-3F85-BAE2-9B75AA504316> /System/Library/PrivateFrameworks/EAP8021X.framework/Versions/A/EAP8021X
    0x7fff52139000 -     0x7fff5213dff9  com.apple.EFILogin (2.0 - 2) <431E5ADD-D790-31B5-9742-41E776A5CFDD> /System/Library/PrivateFrameworks/EFILogin.framework/Versions/A/EFILogin
    0x7fff52c71000 -     0x7fff52c86ff2  com.apple.Engram (1.0 - 1) <8B760A6A-79A8-34F5-8D3D-3A7C4D09FF18> /System/Library/PrivateFrameworks/Engram.framework/Versions/A/Engram
    0x7fff52c87000 -     0x7fff532f1ff9  com.apple.vision.EspressoFramework (1.0 - 188.4) <074C1667-8C6A-3A31-BA43-DD26694B4E54> /System/Library/PrivateFrameworks/Espresso.framework/Versions/A/Espresso
    0x7fff535cc000 -     0x7fff539e7ff1  com.apple.vision.FaceCore (4.3.0 - 4.3.0) <B2FDE1D6-38F0-3E1A-9C6B-8F2E325308C4> /System/Library/PrivateFrameworks/FaceCore.framework/Versions/A/FaceCore
    0x7fff54086000 -     0x7fff541bdff4  libFontParser.dylib (277.2.6.1) <9E9E2EAA-3273-360E-A01B-EB986ECB7BCF> /System/Library/PrivateFrameworks/FontServices.framework/libFontParser.dylib
    0x7fff541be000 -     0x7fff541f2fff  libTrueTypeScaler.dylib (277.2.6.1) <F8A27F0F-44B3-3A1E-8B75-2DFD4A90E1D4> /System/Library/PrivateFrameworks/FontServices.framework/libTrueTypeScaler.dylib
    0x7fff54257000 -     0x7fff54267ff6  libhvf.dylib (1.0 - $[CURRENT_PROJECT_VERSION]) <1605B441-08E0-332D-B7D8-0E13F37B54E7> /System/Library/PrivateFrameworks/FontServices.framework/libhvf.dylib
    0x7fff57748000 -     0x7fff57749fff  libmetal_timestamp.dylib (902.14.11) <7A1B20F8-498D-3D01-8B89-14B7DC9C56CA> /System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/3902/Libraries/libmetal_timestamp.dylib
    0x7fff58e03000 -     0x7fff58e09fff  com.apple.GPUWrangler (5.2.6 - 5.2.6) <0D2C7F42-7C4E-3ED4-A4B1-D5383840D23E> /System/Library/PrivateFrameworks/GPUWrangler.framework/Versions/A/GPUWrangler
    0x7fff59128000 -     0x7fff5914eff1  com.apple.GenerationalStorage (2.0 - 314) <3479C9D7-A4B1-3E25-BCC9-7713FE0D1183> /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/GenerationalStorage
    0x7fff59167000 -     0x7fff5a150ff1  com.apple.GeoServices (1.0 - 1624.26.4.26.9) <849ACDCC-F72C-33EB-A9A9-1F1AAB67B6C1> /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/GeoServices
    0x7fff5a27c000 -     0x7fff5a28affb  com.apple.GraphVisualizer (1.0 - 100.1) <F3DCDBA0-698C-3F4D-9471-13B2A10A6445> /System/Library/PrivateFrameworks/GraphVisualizer.framework/Versions/A/GraphVisualizer
    0x7fff5a2f3000 -     0x7fff5a300ff9  com.apple.HID (1.0 - 1) <9C8E2F7D-96D9-36A9-B8F4-7C339A5B78F1> /System/Library/PrivateFrameworks/HID.framework/Versions/A/HID
    0x7fff5a429000 -     0x7fff5a4e7ff4  com.apple.Heimdal (4.0 - 2.0) <797EEF52-BA3B-3E43-9541-713376261B7E> /System/Library/PrivateFrameworks/Heimdal.framework/Versions/A/Heimdal
    0x7fff5bc84000 -     0x7fff5bd82ffd  com.apple.ids (10.0 - 1000) <9094DCFD-D940-37B1-915D-23F9E26306E5> /System/Library/PrivateFrameworks/IDS.framework/Versions/A/IDS
    0x7fff5bd83000 -     0x7fff5bebfff5  com.apple.idsfoundation (10.0 - 1000) <CA417614-F8CD-321B-9F9D-1734583638CC> /System/Library/PrivateFrameworks/IDSFoundation.framework/Versions/A/IDSFoundation
    0x7fff5c4dd000 -     0x7fff5c53dff2  com.apple.imfoundation (10.0 - 1000) <96060B41-4E2E-39C6-B96C-E5A2C3A942A0> /System/Library/PrivateFrameworks/IMFoundation.framework/Versions/A/IMFoundation
    0x7fff5c66d000 -     0x7fff5c675ff5  com.apple.IOAccelerator (438.7.3 - 438.7.3) <49288C8C-00C0-3CA2-B347-5418B6BFA4B8> /System/Library/PrivateFrameworks/IOAccelerator.framework/Versions/A/IOAccelerator
    0x7fff5c682000 -     0x7fff5c699fff  com.apple.IOPresentment (47.10 - 37) <32F1B3BC-4644-3982-AAB2-8EB5D5FF0161> /System/Library/PrivateFrameworks/IOPresentment.framework/Versions/A/IOPresentment
    0x7fff5ca21000 -     0x7fff5ca6cff1  com.apple.IconServices (438.3 - 438.3) <9033B15E-5B2F-36EC-965B-C035AB6E195E> /System/Library/PrivateFrameworks/IconServices.framework/Versions/A/IconServices
    0x7fff5cc09000 -     0x7fff5cc17fff  com.apple.IntentsFoundation (1.0 - 1) <4AB58811-E35E-3602-9243-DBF92E655FBC> /System/Library/PrivateFrameworks/IntentsFoundation.framework/Versions/A/IntentsFoundation
    0x7fff5cc2a000 -     0x7fff5cc31ff9  com.apple.InternationalSupport (1.0 - 45.4) <D85BD7C8-08A8-399C-BF21-C1F050F9982F> /System/Library/PrivateFrameworks/InternationalSupport.framework/Versions/A/InternationalSupport
    0x7fff5cebe000 -     0x7fff5ceddffd  com.apple.security.KeychainCircle.KeychainCircle (1.0 - 1) <6F655A32-F963-3A7E-B475-E460F4AC7D99> /System/Library/PrivateFrameworks/KeychainCircle.framework/Versions/A/KeychainCircle
    0x7fff5d012000 -     0x7fff5d0e0ffd  com.apple.LanguageModeling (1.0 - 215.1) <0114A0C7-1FF7-3336-AAC1-A0DECA71CED6> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling
    0x7fff5d0e1000 -     0x7fff5d129fff  com.apple.Lexicon-framework (1.0 - 72) <1A091676-EE6C-3393-B1B5-42A207CF0612> /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon
    0x7fff5d130000 -     0x7fff5d135ff3  com.apple.LinguisticData (1.0 - 353.18) <3B92F249-4602-325F-984B-D2DE61EEE4E1> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData
    0x7fff5d15c000 -     0x7fff5d180ffe  com.apple.locationsupport (2394.0.22 - 2394.0.22) <2FFF581B-3EBC-3E40-8105-62CC2C36D0E0> /System/Library/PrivateFrameworks/LocationSupport.framework/Versions/A/LocationSupport
    0x7fff5d1d9000 -     0x7fff5d1deff7  com.apple.LoginUICore (4.0 - 4.0) <6FE011DE-A794-3D82-9E35-7FE1D62DEE7E> /System/Library/PrivateFrameworks/LoginUIKit.framework/Versions/A/Frameworks/LoginUICore.framework/Versions/A/LoginUICore
    0x7fff5d9ce000 -     0x7fff5d9d1fff  com.apple.Mangrove (1.0 - 25) <9F85DCE5-83D9-368E-9564-23488084ED05> /System/Library/PrivateFrameworks/Mangrove.framework/Versions/A/Mangrove
    0x7fff5db8e000 -     0x7fff5db8eff5  com.apple.marco (10.0 - 1000) <F7070518-67F7-32A0-95DD-0691AC209AF8> /System/Library/PrivateFrameworks/Marco.framework/Versions/A/Marco
    0x7fff5db8f000 -     0x7fff5dbb5ffc  com.apple.MarkupUI (1.0 - 325.9) <C71E29CF-B8E1-3F40-8575-69E533CD6647> /System/Library/PrivateFrameworks/MarkupUI.framework/Versions/A/MarkupUI
    0x7fff5dc3a000 -     0x7fff5dcc4ff8  com.apple.MediaExperience (1.0 - 1) <0203AF27-AB5E-32FA-B529-AB7F29EEB887> /System/Library/PrivateFrameworks/MediaExperience.framework/Versions/A/MediaExperience
    0x7fff5dcc5000 -     0x7fff5dcf8fff  com.apple.MediaKit (16 - 923) <2CA40A00-3ED6-3542-8565-F809C9B6C2C3> /System/Library/PrivateFrameworks/MediaKit.framework/Versions/A/MediaKit
    0x7fff5ddbd000 -     0x7fff5e153ff9  com.apple.MediaRemote (1.0 - 1) <EFA670EB-6A11-3120-8DBA-A82D1F68F8E0> /System/Library/PrivateFrameworks/MediaRemote.framework/Versions/A/MediaRemote
    0x7fff5e154000 -     0x7fff5e190ffc  com.apple.MediaServices (1.0 - 1) <B340A9A2-A138-3D56-A647-3EAEF3CDEB6B> /System/Library/PrivateFrameworks/MediaServices.framework/Versions/A/MediaServices
    0x7fff5e49e000 -     0x7fff5e4eafff  com.apple.spotlight.metadata.utilities (1.0 - 2076.7) <0237323B-EC78-3FBF-9FC7-5A1FE2B5CE25> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities
    0x7fff5e4eb000 -     0x7fff5e5bcffa  com.apple.gpusw.MetalTools (1.0 - 1) <99876E08-37D7-3828-8796-56D90C9AFBDB> /System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/MetalTools
    0x7fff5e818000 -     0x7fff5e836fff  com.apple.MobileKeyBag (2.0 - 1.0) <E06B3F60-7A3B-3843-AB11-1CC68CC4E468> /System/Library/PrivateFrameworks/MobileKeyBag.framework/Versions/A/MobileKeyBag
    0x7fff5e902000 -     0x7fff5ea98ffd  com.apple.Montreal (1.0 - 121.1) <EA05A924-59A9-3DFF-AC3C-47FDB17F9FBB> /System/Library/PrivateFrameworks/Montreal.framework/Versions/A/Montreal
    0x7fff5ea99000 -     0x7fff5eac9ff7  com.apple.MultitouchSupport.framework (3440.1 - 3440.1) <3D6999BC-BD40-3B50-8DF6-FF09A876DEFF> /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff5efc9000 -     0x7fff5efd3fff  com.apple.NetAuth (6.2 - 6.2) <E28A8847-C251-3BA6-A2C3-2A4A6B5FA18C> /System/Library/PrivateFrameworks/NetAuth.framework/Versions/A/NetAuth
    0x7fff5f095000 -     0x7fff5f0b1ff0  com.apple.network.statistics.framework (1.2 - 1) <9EA2F69C-3A16-3E8F-9D5D-184CF404EB9B> /System/Library/PrivateFrameworks/NetworkStatistics.framework/Versions/A/NetworkStatistics
    0x7fff5f740000 -     0x7fff5f742ffe  com.apple.OAuth (25 - 25) <203A2C3F-BDBF-3BF6-8341-7CBF5EAF1F9E> /System/Library/PrivateFrameworks/OAuth.framework/Versions/A/OAuth
    0x7fff5f9e9000 -     0x7fff5fa34ffb  com.apple.OTSVG (1.0 - 643.1.5.1) <B10CC7EF-AE50-356D-A18E-0371DDDD3102> /System/Library/PrivateFrameworks/OTSVG.framework/Versions/A/OTSVG
    0x7fff60c51000 -     0x7fff60c5cff2  com.apple.PerformanceAnalysis (1.243.2 - 243.2) <EABF9DF7-C9E8-3839-9822-484EF7E0530B> /System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/PerformanceAnalysis
    0x7fff60c5d000 -     0x7fff60c85ffb  com.apple.persistentconnection (1.0 - 1.0) <08537EA8-12B1-3256-9B88-7624285622E2> /System/Library/PrivateFrameworks/PersistentConnection.framework/Versions/A/PersistentConnection
    0x7fff62700000 -     0x7fff62730ff7  com.apple.pluginkit.framework (1.0 - 1) <5B87E57C-6525-3784-BCB0-BFA4D26D1D58> /System/Library/PrivateFrameworks/PlugInKit.framework/Versions/A/PlugInKit
    0x7fff6275b000 -     0x7fff6276effc  com.apple.PowerLog (1.0 - 1) <2FF0500C-B229-3CC9-A3F7-2E00DA505497> /System/Library/PrivateFrameworks/PowerLog.framework/Versions/A/PowerLog
    0x7fff635ea000 -     0x7fff63644ff6  com.apple.ProtectedCloudStorage (1.0 - 1) <7839FC16-732F-3740-BA5C-E09456530DB2> /System/Library/PrivateFrameworks/ProtectedCloudStorage.framework/Versions/A/ProtectedCloudStorage
    0x7fff63645000 -     0x7fff6365effb  com.apple.ProtocolBuffer (1 - 274.24.9.16.3) <B034A3C9-78B1-30A2-A7A7-30CB95C7A117> /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer
    0x7fff63770000 -     0x7fff63773ff4  com.apple.QuickLookNonBaseSystem (1.0 - 1) <8563CD18-DCFE-3868-912F-053FC8C34B9C> /System/Library/PrivateFrameworks/QuickLookNonBaseSystem.framework/Versions/A/QuickLookNonBaseSystem
    0x7fff63774000 -     0x7fff63797ff0  com.apple.quicklook.QuickLookSupport (1.0 - 1) <4D88DA95-1D6F-3C96-8D2D-F19BC4E05386> /System/Library/PrivateFrameworks/QuickLookSupport.framework/Versions/A/QuickLookSupport
    0x7fff637de000 -     0x7fff63857ff3  com.apple.Rapport (1.9.5 - 195.2) <794F4117-93D3-3025-ACCA-377F14EB44CB> /System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport
    0x7fff63abe000 -     0x7fff63ae7ff1  com.apple.RemoteViewServices (2.0 - 148) <2D6D1169-F880-3E74-A8DB-C057352C71BC> /System/Library/PrivateFrameworks/RemoteViewServices.framework/Versions/A/RemoteViewServices
    0x7fff63c4c000 -     0x7fff63c87ff0  com.apple.RunningBoardServices (1.0 - 223.140.2) <51770481-8A56-3202-8473-04DD9013D155> /System/Library/PrivateFrameworks/RunningBoardServices.framework/Versions/A/RunningBoardServices
    0x7fff65568000 -     0x7fff6556bff5  com.apple.SecCodeWrapper (4.0 - 448.100.6) <487D191A-0870-390F-9A10-096EA73F9C81> /System/Library/PrivateFrameworks/SecCodeWrapper.framework/Versions/A/SecCodeWrapper
    0x7fff656de000 -     0x7fff65805fff  com.apple.Sharing (1526.37 - 1526.37) <4475BAED-8036-3E55-B24D-7BA49B8D41DF> /System/Library/PrivateFrameworks/Sharing.framework/Versions/A/Sharing
    0x7fff6587d000 -     0x7fff6589dff5  com.apple.sidecar-core (1.0 - 209.40.4) <44BACF2D-753F-30DE-B6FA-769BA07E1208> /System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore
    0x7fff6589e000 -     0x7fff658b0ff0  com.apple.sidecar-ui (1.0 - 209.40.4) <5C6AD8B9-F7F6-3D41-8FB9-7522BA7662A5> /System/Library/PrivateFrameworks/SidecarUI.framework/Versions/A/SidecarUI
    0x7fff66c1a000 -     0x7fff66f10ff7  com.apple.SkyLight (1.600.0 - 451.4) <02B6C1E5-C6CB-3065-91EF-DE13FD4BC726> /System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/SkyLight
    0x7fff6775d000 -     0x7fff6776bffb  com.apple.SpeechRecognitionCore (6.0.91.2 - 6.0.91.2) <791BB87B-7280-3EF3-8109-4A060C8F9368> /System/Library/PrivateFrameworks/SpeechRecognitionCore.framework/Versions/A/SpeechRecognitionCore
    0x7fff67f9f000 -     0x7fff67fa8ff7  com.apple.SymptomDiagnosticReporter (1.0 - 1238.120.1) <1BDDF257-18EA-3213-BC2E-3400C7AE4623> /System/Library/PrivateFrameworks/SymptomDiagnosticReporter.framework/Versions/A/SymptomDiagnosticReporter
    0x7fff68019000 -     0x7fff68043ffe  com.apple.framework.SystemAdministration (1.0 - 1.0) <9F05F741-31D7-3310-AC23-5F8E1CF7D046> /System/Library/PrivateFrameworks/SystemAdministration.framework/Versions/A/SystemAdministration
    0x7fff6825f000 -     0x7fff6826fff3  com.apple.TCC (1.0 - 1) <FFC71AC3-245B-37B2-A57C-15104BF46743> /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC
    0x7fff68794000 -     0x7fff6885aff0  com.apple.TextureIO (3.10.9 - 3.10.9) <CDE5AE6F-4AAB-391C-A84D-9FCD9E021BBC> /System/Library/PrivateFrameworks/TextureIO.framework/Versions/A/TextureIO
    0x7fff689f1000 -     0x7fff689f2fff  com.apple.TrustEvaluationAgent (2.0 - 33) <10E56F70-E234-31E0-9286-96D93A8ED17E> /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff68a2a000 -     0x7fff68c82ff0  com.apple.UIFoundation (1.0 - 662) <154E8B2A-BEF7-34B3-9ACC-504820F7B032> /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation
    0x7fff68d19000 -     0x7fff68d1fffe  com.apple.URLFormatting (119 - 119.18) <45C5B5CD-6741-3F10-8B47-1AFE9D25F017> /System/Library/PrivateFrameworks/URLFormatting.framework/Versions/A/URLFormatting
    0x7fff698f7000 -     0x7fff69917ffc  com.apple.UserManagement (1.0 - 1) <C146B7BF-0B06-300A-B45C-E241E447978F> /System/Library/PrivateFrameworks/UserManagement.framework/Versions/A/UserManagement
    0x7fff6a6c3000 -     0x7fff6a7adff8  com.apple.ViewBridge (464.1 - 464.1) <6563DE9C-3639-396C-8500-52326D525DE4> /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/ViewBridge
    0x7fff6a953000 -     0x7fff6a954fff  com.apple.WatchdogClient.framework (1.0 - 67.120.2) <FFA17DA1-F6DD-34D3-A708-1F73C8BA7EA7> /System/Library/PrivateFrameworks/WatchdogClient.framework/Versions/A/WatchdogClient
    0x7fff6ace3000 -     0x7fff6ad1efff  libAWDSupport.dylib (949) <EBE20139-E443-30DF-BCAD-2A6A8470F631> /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/Libraries/libAWDSupport.dylib
    0x7fff6ad1f000 -     0x7fff6afffff7  libAWDSupportFramework.dylib (3541.2) <36AEAC24-D852-31A0-A750-ACB4D3441782> /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/Libraries/libAWDSupportFramework.dylib
    0x7fff6b000000 -     0x7fff6b011fff  libprotobuf-lite.dylib (3541.2) <578CA7D8-149E-3643-937B-DAD5501E4575> /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/Libraries/libprotobuf-lite.dylib
    0x7fff6b012000 -     0x7fff6b06bffb  libprotobuf.dylib (3541.2) <0CDB164D-E7C3-3D4F-BF11-47402D67D7B0> /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/Libraries/libprotobuf.dylib
    0x7fff6b06c000 -     0x7fff6b0b0ff6  com.apple.awd (1.0 - 949) <9DA8A821-4354-3E24-BAA1-4519D2279F2B> /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Versions/A/WirelessDiagnostics
    0x7fff6b584000 -     0x7fff6b587ffa  com.apple.dt.XCTTargetBootstrap (1.0 - 16091) <4D2C7B80-3DE8-30BD-A6F0-D59C5E8F91D9> /System/Library/PrivateFrameworks/XCTTargetBootstrap.framework/Versions/A/XCTTargetBootstrap
    0x7fff6b601000 -     0x7fff6b60fff5  com.apple.audio.caulk (1.0 - 32.3) <DC6D48E8-F961-3B6C-9349-3D2E66522EFA> /System/Library/PrivateFrameworks/caulk.framework/Versions/A/caulk
    0x7fff6b951000 -     0x7fff6b953ff3  com.apple.loginsupport (1.0 - 1) <0E8CE493-2629-3F47-8C1A-BFA1C0B8D7EC> /System/Library/PrivateFrameworks/login.framework/Versions/A/Frameworks/loginsupport.framework/Versions/A/loginsupport
    0x7fff6b954000 -     0x7fff6b967ffd  com.apple.login (3.0 - 3.0) <C2BBE02B-BBD9-328B-ACD2-516D783A3D1F> /System/Library/PrivateFrameworks/login.framework/Versions/A/login
    0x7fff6b999000 -     0x7fff6b9a5ffd  com.apple.perfdata (1.0 - 51.100.6) <D95F1AD6-8B1C-32B5-A54D-1AADB4C79F38> /System/Library/PrivateFrameworks/perfdata.framework/Versions/A/perfdata
    0x7fff6e42a000 -     0x7fff6e436ff9  libAudioStatistics.dylib (1104.93) <42CAC6A2-BCC3-391B-B1C1-D0AC69E99CF4> /usr/lib/libAudioStatistics.dylib
    0x7fff6e437000 -     0x7fff6e46affa  libAudioToolboxUtility.dylib (1104.93) <20C66F4D-5DF3-3B07-8728-184DCDCB1248> /usr/lib/libAudioToolboxUtility.dylib
    0x7fff6e471000 -     0x7fff6e4a5fff  libCRFSuite.dylib (48) <602A4F18-1783-3B69-9DB6-CCBF4703476B> /usr/lib/libCRFSuite.dylib
    0x7fff6e4a8000 -     0x7fff6e4b2fff  libChineseTokenizer.dylib (34) <3F5BC40A-C2CA-3CBE-9D97-E257DEA6BA63> /usr/lib/libChineseTokenizer.dylib
    0x7fff6e4b3000 -     0x7fff6e53bfff  libCoreStorage.dylib (551) <82A9C8F9-016A-31A8-9CE5-1AF40095C00E> /usr/lib/libCoreStorage.dylib
    0x7fff6e53e000 -     0x7fff6e540ff7  libDiagnosticMessagesClient.dylib (112) <C94F3B7B-1854-38EB-9778-834501C53B3F> /usr/lib/libDiagnosticMessagesClient.dylib
    0x7fff6e586000 -     0x7fff6e73dffb  libFosl_dynamic.dylib (100.4) <737573B2-190A-3BA1-8220-807AD0A2CE5E> /usr/lib/libFosl_dynamic.dylib
    0x7fff6e764000 -     0x7fff6e76aff3  libIOReport.dylib (54) <04AB2D0E-9D6B-3FA7-B838-593F67C6F85C> /usr/lib/libIOReport.dylib
    0x7fff6e84c000 -     0x7fff6e853fff  libMatch.1.dylib (36) <5C6F3971-9D9E-3630-BDB6-60BFC5A665E0> /usr/lib/libMatch.1.dylib
    0x7fff6e882000 -     0x7fff6e8a2ff7  libMobileGestalt.dylib (826.140.5) <B2F770D2-7AF0-39CC-B71F-314725061D82> /usr/lib/libMobileGestalt.dylib
    0x7fff6e922000 -     0x7fff6e9ffff7  libSMC.dylib (20) <C9D0B11D-7A14-3126-8DF3-8A9F1DE912D6> /usr/lib/libSMC.dylib
    0x7fff6ea14000 -     0x7fff6ea15fff  libSystem.B.dylib (1281.100.1) <001B3B7F-D02C-31D3-B961-1ED445D5A266> /usr/lib/libSystem.B.dylib
    0x7fff6ea16000 -     0x7fff6eaa1ff7  libTelephonyUtilDynamic.dylib (5017.1) <649F71B8-8B54-35AD-83C5-7A6BA4B590E6> /usr/lib/libTelephonyUtilDynamic.dylib
    0x7fff6eaa2000 -     0x7fff6eaa3fff  libThaiTokenizer.dylib (3) <CDB63DB5-25A3-3DC7-B226-2D9E2D1EB786> /usr/lib/libThaiTokenizer.dylib
    0x7fff6eabb000 -     0x7fff6ead1fff  libapple_nghttp2.dylib (1.39.2) <07FEC48A-87CF-32A3-8194-FA70B361713A> /usr/lib/libapple_nghttp2.dylib
    0x7fff6eb06000 -     0x7fff6eb78ff7  libarchive.2.dylib (72.140.1) <AC311FBA-F2DD-3595-AA76-769F912942B8> /usr/lib/libarchive.2.dylib
    0x7fff6eb79000 -     0x7fff6ec12fe5  libate.dylib (3.0.1) <76EA60FB-748C-313F-8951-B076540BEA97> /usr/lib/libate.dylib
    0x7fff6ec16000 -     0x7fff6ec16ff3  libauto.dylib (187) <B6124448-7690-34AE-8939-ED84AAC630CE> /usr/lib/libauto.dylib
    0x7fff6ec17000 -     0x7fff6ecdbffe  libboringssl.dylib (283.120.1) <E0BB2DBD-632C-3B2D-9155-4E256CC33C03> /usr/lib/libboringssl.dylib
    0x7fff6ecdc000 -     0x7fff6ececffb  libbsm.0.dylib (60.100.1) <00BFFB9A-2FFE-3C24-896A-251BC61917FD> /usr/lib/libbsm.0.dylib
    0x7fff6eced000 -     0x7fff6ecf9fff  libbz2.1.0.dylib (44) <14CC4988-B6D4-3879-AFC2-9A0DDC6388DE> /usr/lib/libbz2.1.0.dylib
    0x7fff6ecfa000 -     0x7fff6ed4cfff  libc++.1.dylib (902.1) <59A8239F-C28A-3B59-B8FA-11340DC85EDC> /usr/lib/libc++.1.dylib
    0x7fff6ed4d000 -     0x7fff6ed62ffb  libc++abi.dylib (902) <E692F14F-C65E-303B-9921-BB7E97D77855> /usr/lib/libc++abi.dylib
    0x7fff6ed63000 -     0x7fff6ed63fff  libcharset.1.dylib (59) <72447768-9244-39AB-8E79-2FA14EC0AD33> /usr/lib/libcharset.1.dylib
    0x7fff6ed64000 -     0x7fff6ed75fff  libcmph.dylib (8) <E72A20DB-2E86-378D-A237-EB9A1370F989> /usr/lib/libcmph.dylib
    0x7fff6ed76000 -     0x7fff6ed8dfd7  libcompression.dylib (87) <64C91066-586D-38C0-A2F3-3E60A940F859> /usr/lib/libcompression.dylib
    0x7fff6f067000 -     0x7fff6f07dff7  libcoretls.dylib (167) <770A5B96-936E-34E3-B006-B1CEC299B5A5> /usr/lib/libcoretls.dylib
    0x7fff6f07e000 -     0x7fff6f07ffff  libcoretls_cfhelpers.dylib (167) <ED52EF99-04FC-3576-9E96-DBA416154838> /usr/lib/libcoretls_cfhelpers.dylib
    0x7fff6f522000 -     0x7fff6f626fef  libcrypto.44.dylib (47.140.1) <CB6B188A-1ADC-3C5D-AFFC-2ACD86E235EE> /usr/lib/libcrypto.44.dylib
    0x7fff6f629000 -     0x7fff6f634fff  libcsfde.dylib (551) <105E7719-A4FD-3D45-892F-BC5D3503B33D> /usr/lib/libcsfde.dylib
    0x7fff6f63c000 -     0x7fff6f69bff7  libcups.2.dylib (483.6) <1067A7A0-4FDC-3873-97DC-31AC0E6A7DFE> /usr/lib/libcups.2.dylib
    0x7fff6f69d000 -     0x7fff6f702ff7  libcurl.4.dylib (118.120.2) <B3053DBB-460C-3820-8F4E-D9C1EEBA3D8F> /usr/lib/libcurl.4.dylib
    0x7fff6f7a5000 -     0x7fff6f7a5fff  libenergytrace.dylib (21) <162DFCC0-8F48-3DD0-914F-FA8653E27B26> /usr/lib/libenergytrace.dylib
    0x7fff6f7a6000 -     0x7fff6f7befff  libexpat.1.dylib (19.60.2) <FED7C38B-92D8-342D-AED7-871B12D1F7E7> /usr/lib/libexpat.1.dylib
    0x7fff6f7cc000 -     0x7fff6f7cefff  libfakelink.dylib (149.1) <36146CB2-E6A5-37BB-9EE8-1B4034D8F3AD> /usr/lib/libfakelink.dylib
    0x7fff6f7dd000 -     0x7fff6f7e2fff  libgermantok.dylib (24) <BFAFD35B-D68C-30BF-80F2-FAEB26FB6A80> /usr/lib/libgermantok.dylib
    0x7fff6f7e3000 -     0x7fff6f7ecff7  libheimdal-asn1.dylib (564.140.1) <0AC6FB62-2B0F-3E93-A931-E4DC4B1D757A> /usr/lib/libheimdal-asn1.dylib
    0x7fff6f7ed000 -     0x7fff6f8ddfff  libiconv.2.dylib (59) <18311A67-E4EF-3CC7-95B3-C0EDEE3A282F> /usr/lib/libiconv.2.dylib
    0x7fff6f8de000 -     0x7fff6fb35fff  libicucore.A.dylib (64260.0.1) <8AC2CB07-E7E0-340D-A849-186FA1F27251> /usr/lib/libicucore.A.dylib
    0x7fff6fb4f000 -     0x7fff6fb50fff  liblangid.dylib (133) <30CFC08C-EF36-3CF5-8AEA-C1CB070306B7> /usr/lib/liblangid.dylib
    0x7fff6fb51000 -     0x7fff6fb69ff3  liblzma.5.dylib (16) <C131EF18-2CDD-3271-8A30-A8760D4FE166> /usr/lib/liblzma.5.dylib
    0x7fff6fb81000 -     0x7fff6fc28ff7  libmecab.dylib (883.11) <2DF2B2E9-438D-326E-89C8-DD5247ABFE08> /usr/lib/libmecab.dylib
    0x7fff6fc29000 -     0x7fff6fe8bff1  libmecabra.dylib (883.11) <787FF18A-7440-3C30-A10C-7A34C63D3080> /usr/lib/libmecabra.dylib
    0x7fff701f8000 -     0x7fff70227fff  libncurses.5.4.dylib (57) <995DFEEA-40F3-377F-B73D-D02AC59D591F> /usr/lib/libncurses.5.4.dylib
    0x7fff70357000 -     0x7fff707d3ff5  libnetwork.dylib (1880.120.4) <F2B8AAA5-E093-37F1-885B-EDCD9783F1C0> /usr/lib/libnetwork.dylib
    0x7fff707d4000 -     0x7fff707ebfff  libnetworkextension.dylib (1095.140.2) <676B14B3-EEA7-3109-8745-99DD284B6A29> /usr/lib/libnetworkextension.dylib
    0x7fff70874000 -     0x7fff708a7fde  libobjc.A.dylib (787.1) <6DF81160-5E7F-3E31-AA1E-C875E3B98AF6> /usr/lib/libobjc.A.dylib
    0x7fff708a8000 -     0x7fff708a9ff7  libodfde.dylib (26) <4604C435-5321-3121-931A-04E3261B8686> /usr/lib/libodfde.dylib
    0x7fff708ba000 -     0x7fff708befff  libpam.2.dylib (25.100.1) <0502F395-8EE6-3D2A-9239-06FD5622E19E> /usr/lib/libpam.2.dylib
    0x7fff708c1000 -     0x7fff708f7ff7  libpcap.A.dylib (89.120.1) <A748C246-1484-3CBC-94DD-B4C47877AA78> /usr/lib/libpcap.A.dylib
    0x7fff70937000 -     0x7fff70945ff9  libperfcheck.dylib (37.100.2) <11061625-3832-3A3A-BAC4-B711A71D5FA7> /usr/lib/libperfcheck.dylib
    0x7fff70946000 -     0x7fff70949ff3  libpmenergy.dylib (214.120.1) <16D23010-0FAA-3633-ADF3-2A571A9D65E0> /usr/lib/libpmenergy.dylib
    0x7fff7094a000 -     0x7fff7094cfff  libpmsample.dylib (214.120.1) <CA10BEAA-9727-3A74-9333-40CBF6D32A04> /usr/lib/libpmsample.dylib
    0x7fff7097b000 -     0x7fff70993fff  libresolv.9.dylib (67.40.1) <C57EDFEF-D36A-310B-8D14-8C68A625B1E8> /usr/lib/libresolv.9.dylib
    0x7fff70995000 -     0x7fff709d9ff7  libsandbox.1.dylib (1217.140.4) <9A1B5D3D-F30C-3FC5-8455-F4A3D067DF53> /usr/lib/libsandbox.1.dylib
    0x7fff709da000 -     0x7fff709ecff7  libsasl2.2.dylib (213.120.1) <E7573AC1-83FD-305A-8FB8-03145BDA286B> /usr/lib/libsasl2.2.dylib
    0x7fff709ed000 -     0x7fff709eeff7  libspindump.dylib (281.3) <B03C6E7D-99CB-3B79-A70E-ED24A6A1BEF5> /usr/lib/libspindump.dylib
    0x7fff709ef000 -     0x7fff70bd9ff7  libsqlite3.dylib (308.5) <35A2BD9F-4E33-30DE-A994-4AB585AC3AFE> /usr/lib/libsqlite3.dylib
    0x7fff70ccd000 -     0x7fff70cfaffb  libssl.46.dylib (47.140.1) <06932872-13DA-33E3-8C28-7B49FC582039> /usr/lib/libssl.46.dylib
    0x7fff70d7c000 -     0x7fff70dadff7  libtidy.A.dylib (17.2) <41B15FFB-6FD2-3E1B-A1F8-E6B12EF3C1EE> /usr/lib/libtidy.A.dylib
    0x7fff70dcf000 -     0x7fff70e29ff8  libusrtcp.dylib (1880.120.4) <4FE72CED-B2F1-3483-B8CC-7FBF5ED04CA1> /usr/lib/libusrtcp.dylib
    0x7fff70e2a000 -     0x7fff70e2dffb  libutil.dylib (57) <F01467F6-23A7-37EE-A170-33CE1577B41D> /usr/lib/libutil.dylib
    0x7fff70e2e000 -     0x7fff70e3bff7  libxar.1.dylib (425.2) <EE964412-9E25-30B3-BCC0-CCEFBCC8094B> /usr/lib/libxar.1.dylib
    0x7fff70e41000 -     0x7fff70f23ff7  libxml2.2.dylib (33.4) <EFA77CC6-9139-37B3-98D4-B0E526110EE3> /usr/lib/libxml2.2.dylib
    0x7fff70f27000 -     0x7fff70f4ffff  libxslt.1.dylib (16.9) <34A45627-DA5B-37D2-9609-65B425E0010A> /usr/lib/libxslt.1.dylib
    0x7fff70f50000 -     0x7fff70f62ff3  libz.1.dylib (76) <793D9643-CD83-3AAC-8B96-88D548FAB620> /usr/lib/libz.1.dylib
    0x7fff71811000 -     0x7fff71816ff3  libcache.dylib (83) <5940876E-AC8A-3BE0-80B3-DE3FB14E257A> /usr/lib/system/libcache.dylib
    0x7fff71817000 -     0x7fff71822fff  libcommonCrypto.dylib (60165.120.1) <C095BD55-1D27-337F-9B02-885E1C7FF87A> /usr/lib/system/libcommonCrypto.dylib
    0x7fff71823000 -     0x7fff7182afff  libcompiler_rt.dylib (101.2) <6E80AC11-A277-31FA-AEEF-E5A528274C77> /usr/lib/system/libcompiler_rt.dylib
    0x7fff7182b000 -     0x7fff71834ff7  libcopyfile.dylib (166.40.1) <EB5E0BC8-873D-3546-A40E-C36DC46FA8F6> /usr/lib/system/libcopyfile.dylib
    0x7fff71835000 -     0x7fff718c7fdb  libcorecrypto.dylib (866.140.1) <0B6C52DB-5A50-3FCD-8B5E-C0C2F35857E3> /usr/lib/system/libcorecrypto.dylib
    0x7fff719d4000 -     0x7fff71a14ff0  libdispatch.dylib (1173.100.2) <EAD535EE-1270-39A9-A254-95CF117FF3B0> /usr/lib/system/libdispatch.dylib
    0x7fff71a15000 -     0x7fff71a4bfff  libdyld.dylib (750.6) <24C41E8B-6B33-30C7-94C9-02D2BD051D66> /usr/lib/system/libdyld.dylib
    0x7fff71a4c000 -     0x7fff71a4cffb  libkeymgr.dylib (30) <6F582FDB-EB1A-3ED2-A989-B750643E2647> /usr/lib/system/libkeymgr.dylib
    0x7fff71a4d000 -     0x7fff71a59ff3  libkxld.dylib (6153.141.1) <756B1F0D-2E37-31A7-A6F0-2E5C22E62C3D> /usr/lib/system/libkxld.dylib
    0x7fff71a5a000 -     0x7fff71a5aff7  liblaunch.dylib (1738.140.1) <AFBCBDD3-0B55-3ECD-8E04-A73A3A57356B> /usr/lib/system/liblaunch.dylib
    0x7fff71a5b000 -     0x7fff71a60ff7  libmacho.dylib (959.0.1) <1B0296B5-3FD0-342C-BCC2-9886351A4391> /usr/lib/system/libmacho.dylib
    0x7fff71a61000 -     0x7fff71a63ff3  libquarantine.dylib (110.40.3) <67FE2676-F9E8-3797-AEE5-F5F9D191CFA3> /usr/lib/system/libquarantine.dylib
    0x7fff71a64000 -     0x7fff71a65ff7  libremovefile.dylib (48) <5CEBDAB2-988A-3B66-87BC-3C45D1C08730> /usr/lib/system/libremovefile.dylib
    0x7fff71a66000 -     0x7fff71a7dff3  libsystem_asl.dylib (377.60.2) <7A07FF86-658E-35D7-8136-829737E98B7B> /usr/lib/system/libsystem_asl.dylib
    0x7fff71a7e000 -     0x7fff71a7eff7  libsystem_blocks.dylib (74) <0D53847E-AF5F-3ACF-B51F-A15DEA4DEC58> /usr/lib/system/libsystem_blocks.dylib
    0x7fff71a7f000 -     0x7fff71b06fff  libsystem_c.dylib (1353.100.2) <AF7873B0-AC4A-3C67-89BB-B8DA87718DAE> /usr/lib/system/libsystem_c.dylib
    0x7fff71b07000 -     0x7fff71b0affb  libsystem_configuration.dylib (1061.141.1) <0EE84C33-64FD-372B-974A-AF7A136F2068> /usr/lib/system/libsystem_configuration.dylib
    0x7fff71b0b000 -     0x7fff71b0efff  libsystem_coreservices.dylib (114) <08B89E9B-C5B2-3E73-8964-03E58692B21F> /usr/lib/system/libsystem_coreservices.dylib
    0x7fff71b0f000 -     0x7fff71b17fff  libsystem_darwin.dylib (1353.100.2) <BD5BAD5B-AC3F-371A-B4FC-ADF86D6DCE51> /usr/lib/system/libsystem_darwin.dylib
    0x7fff71b18000 -     0x7fff71b1ffff  libsystem_dnssd.dylib (1096.100.3) <01E0965B-83E5-356C-AC1F-C723F5AAB483> /usr/lib/system/libsystem_dnssd.dylib
    0x7fff71b20000 -     0x7fff71b21ffb  libsystem_featureflags.dylib (17) <6317641E-B43F-36A3-974E-6073786B94B9> /usr/lib/system/libsystem_featureflags.dylib
    0x7fff71b22000 -     0x7fff71b6fff7  libsystem_info.dylib (538) <4DD813CB-D7B0-3AB5-9054-D2E4FF7A64B9> /usr/lib/system/libsystem_info.dylib
    0x7fff71b70000 -     0x7fff71b9cff7  libsystem_kernel.dylib (6153.141.1) <2B6311E6-6240-3EF7-8C87-475B66F7452C> /usr/lib/system/libsystem_kernel.dylib
    0x7fff71b9d000 -     0x7fff71be4fff  libsystem_m.dylib (3178) <77A9D888-36E9-3968-8103-C82FFFC60B9E> /usr/lib/system/libsystem_m.dylib
    0x7fff71be5000 -     0x7fff71c0cfff  libsystem_malloc.dylib (283.100.6) <059F4DBD-856A-3A59-8B20-FD4B6918C5F2> /usr/lib/system/libsystem_malloc.dylib
    0x7fff71c0d000 -     0x7fff71c1affb  libsystem_networkextension.dylib (1095.140.2) <4CCE78C9-1DC4-3375-9828-D5BD739D23F3> /usr/lib/system/libsystem_networkextension.dylib
    0x7fff71c1b000 -     0x7fff71c24ff7  libsystem_notify.dylib (241.100.2) <DEAD75F2-DD34-3E8F-82DE-344625A2C25E> /usr/lib/system/libsystem_notify.dylib
    0x7fff71c25000 -     0x7fff71c2dfef  libsystem_platform.dylib (220.100.1) <97E825F6-D823-366C-9FF3-B1C8EA891044> /usr/lib/system/libsystem_platform.dylib
    0x7fff71c2e000 -     0x7fff71c38fff  libsystem_pthread.dylib (416.100.3) <80B053AA-B6F7-3B59-BC44-78A5A4F7368F> /usr/lib/system/libsystem_pthread.dylib
    0x7fff71c39000 -     0x7fff71c3dff3  libsystem_sandbox.dylib (1217.140.4) <20BF94E2-DAB8-3EBE-AACE-99DF84C1C391> /usr/lib/system/libsystem_sandbox.dylib
    0x7fff71c3e000 -     0x7fff71c40fff  libsystem_secinit.dylib (62.100.2) <28EDEB6F-899B-373D-B761-4C20D39285D9> /usr/lib/system/libsystem_secinit.dylib
    0x7fff71c41000 -     0x7fff71c48ffb  libsystem_symptoms.dylib (1238.120.1) <22800D8C-5C2A-3171-8C29-311BBE67F198> /usr/lib/system/libsystem_symptoms.dylib
    0x7fff71c49000 -     0x7fff71c5fff2  libsystem_trace.dylib (1147.120) <DC00C77E-4709-31F0-B913-CF09559B7A6F> /usr/lib/system/libsystem_trace.dylib
    0x7fff71c61000 -     0x7fff71c66ff7  libunwind.dylib (35.4) <42B7B509-BAFE-365B-893A-72414C92F5BF> /usr/lib/system/libunwind.dylib
    0x7fff71c67000 -     0x7fff71c9cffe  libxpc.dylib (1738.140.1) <58E276A9-EE11-3F02-9D3E-5371E604E677> /usr/lib/system/libxpc.dylib

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 147
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 26596818
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=824.5M resident=0K(0%) swapped_out_or_unallocated=824.5M(100%)
Writable regions: Total=797.4M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=797.4M(100%)
 
                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Accelerate framework               256K        2 
Activity Tracing                   256K        1 
CG backing stores                  992K        2 
CG image                            12K        3 
CoreAnimation                       20K        1 
CoreGraphics                         8K        1 
CoreImage                           24K        2 
CoreUI image data                   56K        1 
Dispatch continuations            16.0M        1 
Foundation                          28K        2 
Kernel Alloc Once                   12K        2 
MALLOC                           260.2M     2424 
MALLOC guard page                   32K        8 
Mach message                        16K        3 
Memory Tag 255                    44.0G      296 
Memory Tag 255 (reserved)           12K        1         reserved VM address space (unallocated)
STACK GUARD                       56.1M       37 
Stack                            176.8M       37 
VM_ALLOCATE                        504K       18 
__DATA                            50.6M      414 
__DATA_CONST                       168K        4 
__FONT_DATA                          4K        1 
__LINKEDIT                       402.0M       15 
__OBJC_RO                         32.3M        1 
__OBJC_RW                         1908K        2 
__TEXT                           422.5M      403 
__UNICODE                          564K        1 
mapped file                       70.5M       25 
shared memory                      660K       20 
===========                     =======  ======= 
TOTAL                             45.5G     3728 
TOTAL, minus reserved VM space    45.5G     3728 

Model: MacBookPro16,2, BootROM 1037.147.1.0.0 (iBridge: 17.16.16065.0.0,0), 4 processors, Quad-Core Intel Core i5, 2 GHz, 16 GB, SMC 
Graphics: kHW_IntelIrisPlusGraphicsItem, Intel Iris Plus Graphics, spdisplays_builtin
Memory Module: BANK 0/ChannelA-DIMM0, 8 GB, LPDDR4X, 3733 MHz, Samsung, -
Memory Module: BANK 2/ChannelB-DIMM0, 8 GB, LPDDR4X, 3733 MHz, Samsung, -
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x7BF), wl0: Apr  7 2020 13:09:12 version 9.30.357.41.32.5.49 FWID 01-617711e7
Bluetooth: Version 7.0.6f7, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.1 Bus
USB Device: USB 3.1 Bus
USB Device: Apple T2 Bus
USB Device: Touch Bar Backlight
USB Device: Touch Bar Display
USB Device: Apple Internal Keyboard / Trackpad
USB Device: Headset
USB Device: Ambient Light Sensor
USB Device: FaceTime HD Camera (Built-in)
USB Device: Apple T2 Controller
Thunderbolt Bus: MacBook Pro, Apple Inc., 80.0
Thunderbolt Bus: MacBook Pro, Apple Inc., 80.0

Controller keeps refreshing on MacOS

It loads the available speakers and sources and then just starts over again - not usable.

I already accepted cookies and disabled ublock origin - any other Ideas?

I'm on Chrome 84

Support armv6 (RPi ZeroW)

i am running this on:

  • headless RPi ZeroW, running Raspbian GNU/Linux 10 (buster)
  • headless RPi 3, RPi ZeroW running Raspbian GNU/Linux 8 (jessie)

I get the follow error when trying to start soundsync:

Buster:
./soundsync: line 19: 25377 Illegal instruction ELECTRON_RUN_AS_NODE=1 $DIR/soundsync_electron --experimental-wasm-threads $DIR/resources/app/index.js "$@"

RPi 3 Jessie:
./soundsync: line 19: 8944 Segmentation fault ELECTRON_RUN_AS_NODE=1 $DIR/soundsync_electron --experimental-wasm-threads $DIR/resources/app/index.js "$@"

it then does not run. this is the only line when executed manually ./soundsync.

any help would be great!

Feature: Player FM integration

As a: Soundsync user

I want to: Be able to select podcasts from Player FM and play them on Soundsync devices

So that I: can listen to my favourite podcasts


Player.FM essentially have an undocumented API (https://docs.player.fm/full/faq/#general-about-im-a-developer) where stream URLs can be resolved from. Instead of making the user play the stream in a web browser directly from Player FM, then use Soundsync to pipe that from the web browser to the destination devices, it would be better if Soundsync could do it all in one step.

A lightweight approach could be to show an iframe inside Soundsync where the user could interact with the standard PlayerFM website, and then intercept any requests for an audio stream and instead play them through a process spawned by the Soundsync daemon.

Soundsync error on opening

Mac OS 10.15.7

    at Request.callback (/Applications/Soundsync.app/Contents/Resources/app/node_modules/superagent/lib/node/index.js:883:15)
    at IncomingMessage.<anonymous> (/Applications/Soundsync.app/Contents/Resources/app/node_modules/superagent/lib/node/index.js:1126:20)
    at IncomingMessage.emit (events.js:322:22)
    at IncomingMessage.EventEmitter.emit (domain.js:482:12)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)```

running on raspberry pi (stretch)

After playing around with Soundsync on my mac, I wanted to test it out on my (headless) rpi. I followed the instructions and managed to install it (using apt install -f etc). As far as I can see it's running

# ps -ef |grep soundsync
root      9272     1  0 08:56 ?        00:00:00 bash /opt/Soundsync/soundsync --configDir /etc/soundsync
root      9282  9272  0 08:56 ?        00:00:00 /opt/Soundsync/soundsync_electron --experimental-wasm-threads /opt/Soundsync/resources/app/index.js --configDir /etc/soundsync

But on my browser (on my Mac) it cannot find it...

Not sure if it's related, but I also noticed that the /etc/soundsync folder wasn't created and even after manually creating it, it was empty

Any other tips to troubleshoot ? :)

Error

Error: Provided outputBuffer is too small: 11520 < 11744
at SoxrResampler.processChunk (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\node_modules\wasm-audio-resampler\app\soxr_resampler.js:99:19)
at AudioChunkStreamResampler.write (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\utils\audio\chunk_stream.js:254:44)
at Yallist. (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:376:18)
at Yallist.forEach (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\node_modules\yallist\yallist.js:156:8)
at AudioChunkStream.emit (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:375:20)
at AudioChunkStream.write (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
at Timeout.AudioChunkStream._pushNecessaryChunks [as _onTimeout] (C:\Users\prajw\AppData\Local\Programs\soundsync\resources\app\utils\audio\chunk_stream.js:106:22)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)

Error log from a time when soundsync was running but the controller browser windown couldn't find it

{
   "version":"0.4.7",
   "platform":"darwin",
   "arch":"x64",
   "logs":[
      "2020-10-23T18:17:48.421Z soundsync Starting soundsync",
      "2020-10-23T18:17:48.426Z soundsync:wrtc Creating peer manager",
      "2020-10-23T18:17:48.427Z soundsync:config Reading config from /Users/estiens/Library/Preferences/soundsync/config.json",
      "2020-10-23T18:17:48.428Z soundsync:peer:deb6e192-1531-4711-a8cc-f5bf23003407 Created new peer",
      "2020-10-23T18:17:48.428Z soundsync:peer:deb6e192-1531-4711-a8cc-f5bf23003407 Registering local peer with instaceUuid: a88d5db6-198f-47d4-8933-b90961c6011a",
      "2020-10-23T18:17:48.428Z soundsync:peer:deb6e192-1531-4711-a8cc-f5bf23003407:peerInfo Received controller message {\n  type: 'peerInfo',\n  peer: {\n    uuid: 'deb6e192-1531-4711-a8cc-f5bf23003407',\n    name: 'RacemicCeramic.local',\n    instanceUuid: 'a88d5db6-198f-47d4-8933-b90961c6011a',\n    capacities: [\n      'librespot',\n      'shairport',\n      'http_server_accessible',\n      'hue',\n      'chromecast_interaction',\n      'shared_state_keeper',\n      'airplay_sink'\n    ],\n    version: '0.4.7'\n  }\n}",
      "2020-10-23T18:17:48.430Z soundsync:peer:deb6e192-1531-4711-a8cc-f5bf23003407 Connected",
      "2020-10-23T18:17:48.431Z soundsync:sourcesSinksManager Adding source Loopback 4 of type localdevice",
      "2020-10-23T18:17:48.432Z soundsync:audioSource:09ed31e2-d1ff-4d6c-a862-5c71f23b82ed Created new audio source",
      "2020-10-23T18:17:48.432Z soundsync:localAudioDevice Creating audio server",
      "2020-10-23T18:17:48.457Z soundsync:localAudioDevice Created audio server",
      "2020-10-23T18:17:48.465Z soundsync:sourcesSinksManager Adding source BlackHole 16ch of type localdevice",
      "2020-10-23T18:17:48.465Z soundsync:audioSource:1abe467b-fb0f-405c-97d0-16cce1ffe0d5 Created new audio source",
      "2020-10-23T18:17:48.466Z soundsync:sourcesSinksManager Adding source MacBook Pro Microphone of type localdevice",
      "2020-10-23T18:17:48.466Z soundsync:audioSource:3448a68c-907e-4b10-9370-8358ec0689e2 Created new audio source",
      "2020-10-23T18:17:48.466Z soundsync:sourcesSinksManager Adding source Spotify on Soundsync of type librespot",
      "2020-10-23T18:17:48.466Z soundsync:audioSource:c6c6d555-0754-48f5-a637-695cee6aec9e Created new audio source",
      "2020-10-23T18:17:48.467Z soundsync:audioSource:c6c6d555-0754-48f5-a637-695cee6aec9e Starting audio source",
      "2020-10-23T18:17:48.468Z soundsync:depsDownloader Ensuring dep librespot at /Users/estiens/Library/Preferences/soundsync/librespot",
      "2020-10-23T18:17:48.469Z soundsync:sourcesSinksManager Adding source BlackHole 2ch of type localdevice",
      "2020-10-23T18:17:48.469Z soundsync:audioSource:ebef74cd-6b18-49e4-a256-9d0fdd23fdc7 Created new audio source",
      "2020-10-23T18:17:48.470Z soundsync:sourcesSinksManager Adding sink  BlackHole 2ch of type localdevice",
      "2020-10-23T18:17:48.470Z soundsync:audioSink:49bc6fff-a61b-43dd-a645-1cbdfa1405f7 Created new audio sink of type localdevice",
      "2020-10-23T18:17:48.472Z soundsync:sourcesSinksManager Adding sink  MacBook Pro Speakers of type localdevice",
      "2020-10-23T18:17:48.472Z soundsync:audioSink:8ddc0495-94cd-4701-9a46-6dc4b1670aec Created new audio sink of type localdevice",
      "2020-10-23T18:17:48.473Z soundsync:sourcesSinksManager Adding sink  347E5CD299D4@Sunroom of type airplay",
      "2020-10-23T18:17:48.473Z soundsync:audioSink:a3e52434-e11e-4520-aad1-cdde44952732 Created new audio sink of type airplay",
      "2020-10-23T18:17:48.474Z soundsync:sourcesSinksManager Adding sink  48A6B8AA723E@Entryway of type airplay",
      "2020-10-23T18:17:48.474Z soundsync:audioSink:be1e3939-ac9d-43b6-96fa-915e2c3f34e2 Created new audio sink of type airplay",
      "2020-10-23T18:17:48.474Z soundsync:sourcesSinksManager Adding sink  BlackHole 16ch of type localdevice",
      "2020-10-23T18:17:48.474Z soundsync:audioSink:bf6cc3d7-efa1-419e-af47-7cc79c5cae40 Created new audio sink of type localdevice",
      "2020-10-23T18:17:48.475Z soundsync:sourcesSinksManager Detecting local audio devices",
      "2020-10-23T18:17:48.478Z soundsync:httpserver Creating new http server",
      "2020-10-23T18:17:48.484Z soundsync:httpserver Listening on 6512",
      "2020-10-23T18:17:48.484Z soundsync:httpserver Creating https server on 6513",
      "2020-10-23T18:17:48.494Z soundsync:rendezvous Registering to rendezvous service with: 192.168.68.108:6512_deb6e192-1531-4711-a8cc-f5bf23003407",
      "2020-10-23T18:17:48.497Z soundsync:loopbackDeviceManager Loopback interface creation not supported on audiounit-rust",
      "2020-10-23T18:17:48.498Z soundsync:clientCoordinator Created client coordinator",
      "2020-10-23T18:17:48.505Z soundsync:mdns Bound to address 192.168.68.108 and port 0",
      "2020-10-23T18:17:48.507Z soundsync:mdns Bound to address 0.0.0.0 and port 5353",
      "2020-10-23T18:17:48.606Z soundsync:updater Updater starting, current version: 0.4.7",
      "2020-10-23T18:17:48.606Z soundsync:updater Checking for update",
      "2020-10-23T18:17:48.709Z soundsync:audioSource:c6c6d555-0754-48f5-a637-695cee6aec9e Starting librespot process",
      "2020-10-23T18:17:49.003Z soundsync:peer:placeholderForHttpApiJoin_192.168.68.108:6512 Created new peer",
      "2020-10-23T18:17:49.040Z soundsync:peer:placeholderForHttpApiJoin_192.168.68.108:6512 Cannot connect to peer with initiator http api http initiator error: 409: Connecting to own peer",
      "2020-10-23T18:17:49.283Z soundsync:peer:placeholderForHttpApiJoin_fe80::aede:48ff:fe00:1122:6512 Created new peer",
      "2020-10-23T18:17:49.294Z soundsync:peer:placeholderForHttpApiJoin_fe80::aede:48ff:fe00:1122:6512 Cannot connect to peer with initiator http api getaddrinfo ENOTFOUND fe80",
      "2020-10-23T18:17:49.880Z soundsync:updater Update for version 0.4.7 is not available (latest version: 0.4.7, downgrade is disallowed).",
      "2020-10-23T18:17:53.420Z soundsync:eventloop last 5 seconds: event loop blocked for 251.396095ms, mean: 12.597358560411312ms"
   ]
}

Broken Download Links

Windows and Mac download links for v0.4.16 are unable to find the correct path. There is no .exe file for v0.4.16 and soundsync-x64-0.4.16.dmg is not correctly linked. This issue is both on the README and on the website.

Unable to run Soundsync 0.4.16 via systemd service

Hi,

I recently installed Soundsync v0.4.16 on a Ubuntu 20.04 VM and am facing an odd issue. The systemd service for Soundsync will fail with the following error:

Jan 08 03:13:46 repeater soundsync[13103]: 2023-01-08T03:13:46.994Z soundsync:localAudioDevice Created audio server
Jan 08 03:13:46 repeater soundsync[13103]: 2023-01-08T03:13:46.997Z soundsync:sourcesSinksManager Adding sink  Dummy Output of type localdevice
Jan 08 03:13:46 repeater soundsync[13103]: 2023-01-08T03:13:46.997Z soundsync:audioSink:cce10da4-23c0-4ec6-8f6e-4c769aa67fbe Created new audio sink of type localdevice
Jan 08 03:13:46 repeater soundsync[13103]: Error: Error while enumerating devices
Jan 08 03:13:46 repeater soundsync[13103]:     at Object.exports.getAudioDevices (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:29:49)
Jan 08 03:13:46 repeater soundsync[13103]:     at Object.exports.getOutputDeviceFromId (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:39:20)
Jan 08 03:13:46 repeater soundsync[13103]:     at LocalDeviceSink.isDeviceAvailable (/opt/Soundsync/resources/app/audio/sinks/localdevice_sink.js:19:61)
Jan 08 03:13:46 repeater soundsync[13103]:     at LocalDeviceSink.updateDeviceInfo (/opt/Soundsync/resources/app/audio/sinks/localdevice_sink.js:22:33)
Jan 08 03:13:46 repeater soundsync[13103]:     at new LocalDeviceSink (/opt/Soundsync/resources/app/audio/sinks/localdevice_sink.js:81:14)
Jan 08 03:13:46 repeater soundsync[13103]:     at AudioSourcesSinksManager.addSink (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:204:20)
Jan 08 03:13:46 repeater soundsync[13103]:     at /opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:253:18
Jan 08 03:13:46 repeater soundsync[13103]:     at Array.forEach (<anonymous>)
Jan 08 03:13:46 repeater soundsync[13103]:     at AudioSourcesSinksManager.addFromConfig (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:252:15)
Jan 08 03:13:46 repeater soundsync[13103]:     at main (/opt/Soundsync/resources/app/index.js:96:30)
Jan 08 03:13:46 repeater soundsync[13103]:     at Object.<anonymous> (/opt/Soundsync/resources/app/index.js:151:1)
Jan 08 03:13:46 repeater soundsync[13103]:     at Module._compile (node:internal/modules/cjs/loader:1110:14)
Jan 08 03:13:46 repeater soundsync[13103]:     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1140:10)
Jan 08 03:13:46 repeater soundsync[13103]:     at Module.load (node:internal/modules/cjs/loader:982:32)
Jan 08 03:13:46 repeater soundsync[13103]:     at Module._load (node:internal/modules/cjs/loader:823:12)
Jan 08 03:13:46 repeater soundsync[13103]:     at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
Jan 08 03:13:47 repeater soundsync[13103]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
Jan 08 03:13:47 repeater soundsync[13103]: Error: Error while enumerating devices
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.exports.getAudioDevices (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:29:49)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.exports.getInputDeviceFromId (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:45:20)
Jan 08 03:13:47 repeater soundsync[13103]:     at LocalDeviceSource.isDeviceAvailable (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:18:143)
Jan 08 03:13:47 repeater soundsync[13103]:     at LocalDeviceSource.updateDeviceInfo (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:21:33)
Jan 08 03:13:47 repeater soundsync[13103]:     at new LocalDeviceSource (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:73:14)
Jan 08 03:13:47 repeater soundsync[13103]:     at AudioSourcesSinksManager.addSource (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:141:22)
Jan 08 03:13:47 repeater soundsync[13103]:     at /opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:246:18
Jan 08 03:13:47 repeater soundsync[13103]:     at Array.forEach (<anonymous>)
Jan 08 03:13:47 repeater soundsync[13103]:     at AudioSourcesSinksManager.addFromConfig (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:245:17)
Jan 08 03:13:47 repeater soundsync[13103]:     at main (/opt/Soundsync/resources/app/index.js:96:30)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.<anonymous> (/opt/Soundsync/resources/app/index.js:151:1)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module._compile (node:internal/modules/cjs/loader:1110:14)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1140:10)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module.load (node:internal/modules/cjs/loader:982:32)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module._load (node:internal/modules/cjs/loader:823:12)
Jan 08 03:13:47 repeater soundsync[13103]:     at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
Jan 08 03:13:47 repeater soundsync[13103]: Error: Error while enumerating devices
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.exports.getAudioDevices (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:29:49)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.exports.getInputDeviceFromId (/opt/Soundsync/resources/app/utils/audio/localAudioDevice.js:45:20)
Jan 08 03:13:47 repeater soundsync[13103]:     at LocalDeviceSource.isDeviceAvailable (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:18:143)
Jan 08 03:13:47 repeater soundsync[13103]:     at LocalDeviceSource.updateDeviceInfo (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:21:33)
Jan 08 03:13:47 repeater soundsync[13103]:     at new LocalDeviceSource (/opt/Soundsync/resources/app/audio/sources/localdevice_source.js:73:14)
Jan 08 03:13:47 repeater soundsync[13103]:     at AudioSourcesSinksManager.addSource (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:141:22)
Jan 08 03:13:47 repeater soundsync[13103]:     at /opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:246:18
Jan 08 03:13:47 repeater soundsync[13103]:     at Array.forEach (<anonymous>)
Jan 08 03:13:47 repeater soundsync[13103]:     at AudioSourcesSinksManager.addFromConfig (/opt/Soundsync/resources/app/audio/audio_sources_sinks_manager.js:245:17)
Jan 08 03:13:47 repeater soundsync[13103]:     at main (/opt/Soundsync/resources/app/index.js:96:30)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.<anonymous> (/opt/Soundsync/resources/app/index.js:151:1)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module._compile (node:internal/modules/cjs/loader:1110:14)
Jan 08 03:13:47 repeater soundsync[13103]:     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1140:10)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module.load (node:internal/modules/cjs/loader:982:32)
Jan 08 03:13:47 repeater soundsync[13103]:     at Module._load (node:internal/modules/cjs/loader:823:12)
Jan 08 03:13:47 repeater soundsync[13103]:     at Function.c._load (node:electron/js2c/asar_bundle:5:13331)
Jan 08 03:13:47 repeater soundsync[13103]: 2023-01-08T03:13:47.135Z soundsync:peer:a13e18dd-8e47-45fc-b57b-2e686eba1eca:disconnect Received controller message { type: 'disconnect' }
Jan 08 03:13:47 repeater soundsync[13103]: 2023-01-08T03:13:47.136Z soundsync:peer:a13e18dd-8e47-45fc-b57b-2e686eba1eca Destroying peer, reason: exiting
Jan 08 03:13:47 repeater systemd[1]: soundsync.service: Main process exited, code=exited, status=1/FAILURE

However, if I run Soundsync directly from the command line using the following command /opt/Soundsync/soundsync --no-sandbox --configDir /etc/soundsync it starts up correctly.

I don't see any GH issues mentioning the error message "Error while enumerating devices" so I'm guessing this is not a common problem. Any suggestions on what might be happening and how I can fix it?

Doesn't work with firefox

Hello

I can't seem to get this to work with firefox (even in safe mode), I just get the spinning "connecting" graphic
Works (ish) in Chrome.

Thanks for sharing your work!

Trying to get things up and running

Hey! Very intrigued by your project, and I may have business use for it. But I wanted to get it running on home first. I tried setting up the server on my Windows 10 machine with the input being the Stereo Mix (alternative to Loopback for some soundcards). Sometimes I'm able to get the connection hooked up, but other times I just get an infinite spinner on the root page that says "Connecting..." The only server-side debug I see in the browser is:

WebRTC: ICE failed, add a TURN server and see about:webrtc for more details
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://a3ad7e5d_8006_4024_9994_382a5e4d92f3-10-98-10-6.sslip.io:6513/. (Reason: CORS request did not succeed).

On my Macbook Pro, I tried setting up the server and it launches. When I tried hooking up the microphone input, it crashes the server app almost immediately. When it stays open long enough to open the browser page I see this in the debug:

main-da815c25abb660aaed43.js:103 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
_startSink @ main-da815c25abb660aaed43.js:103
main-da815c25abb660aaed43.js:103 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
_startSink @ main-da815c25abb660aaed43.js:103
f60e6d23_541c_42d8_b464_198c26c0c930-192-168-239-1.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
2a94c278e_7c41_43ee_82ac_aaed159d2493-10-0-1-147.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
f60e6d23_541c_42d8_b464_198c26c0c930-192-168-239-1.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
a94c278e_7c41_43ee_82ac_aaed159d2493-10-0-1-147.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
f60e6d23_541c_42d8_b464_198c26c0c930-192-168-239-1.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
315468647_cf3a_4cf2_a228_697b3d7c2310-172-16-107-1.sslip.io:6513/:1 Failed to load resource: net::ERR_NAME_NOT_RESOLVED
5:6512/initiator/aa036a0f-9533-435b-a60e-9676d51712da/messages:1 Failed to load resource: net::ERR_CONNECTION_REFUSED
3main-da815c25abb660aaed43.js:103 GET http://localhost:6512/initiator/aa036a0f-9533-435b-a60e-9676d51712da/messages net::ERR_CONNECTION_REFUSED
(anonymous) @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
f._end @ main-da815c25abb660aaed43.js:21
f.end @ main-da815c25abb660aaed43.js:21
(anonymous) @ main-da815c25abb660aaed43.js:88
r.then @ main-da815c25abb660aaed43.js:88
main-da815c25abb660aaed43.js:103 POST http://localhost:6512/initiator/aa036a0f-9533-435b-a60e-9676d51712da/messages net::ERR_CONNECTION_REFUSED
(anonymous) @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
f._end @ main-da815c25abb660aaed43.js:21
f.end @ main-da815c25abb660aaed43.js:21
(anonymous) @ main-da815c25abb660aaed43.js:88
r.then @ main-da815c25abb660aaed43.js:88
setTimeout (async)
(anonymous) @ main-da815c25abb660aaed43.js:103
connect @ main-da815c25abb660aaed43.js:103
async function (async)
connect @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
n @ main-da815c25abb660aaed43.js:103
main-da815c25abb660aaed43.js:103 GET http://localhost:6512/initiator/aa036a0f-9533-435b-a60e-9676d51712da/messages net::ERR_CONNECTION_REFUSED
(anonymous) @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
f._end @ main-da815c25abb660aaed43.js:21
f.end @ main-da815c25abb660aaed43.js:21
(anonymous) @ main-da815c25abb660aaed43.js:88
r.then @ main-da815c25abb660aaed43.js:88
main-da815c25abb660aaed43.js:103 POST http://localhost:6512/initiator/aa036a0f-9533-435b-a60e-9676d51712da/messages net::ERR_CONNECTION_REFUSED

When trying to connect from my Macbook via Chrome to the Windows server I see the audio connection to the browser, but I get no audio. Here's the debug:

main-da815c25abb660aaed43.js:103 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
_startSink @ main-da815c25abb660aaed43.js:103
_syncPipeState @ main-da815c25abb660aaed43.js:21
async function (async)
_syncPipeState @ main-da815c25abb660aaed43.js:21
a.emit @ main-da815c25abb660aaed43.js:1
addSource @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
On.handlePeerSoundStateUpdate @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
a.emit @ main-da815c25abb660aaed43.js:1
C._onReceivedMessage @ main-da815c25abb660aaed43.js:1
handleControllerMessage @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
n @ main-da815c25abb660aaed43.js:103
10.0.1.10/:1 Access to XMLHttpRequest at 'https://soundsync.app/api/ip_registry/peers' from origin 'http://10.0.1.10:6512' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
main-da815c25abb660aaed43.js:103 GET https://soundsync.app/api/ip_registry/peers net::ERR_FAILED
(anonymous) @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
f._end @ main-da815c25abb660aaed43.js:21
f.end @ main-da815c25abb660aaed43.js:21
(anonymous) @ main-da815c25abb660aaed43.js:88
r.then @ main-da815c25abb660aaed43.js:88
main-da815c25abb660aaed43.js:21 Uncaught (in promise) Error: Request has been terminated
Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.
    at f.crossDomainError (main-da815c25abb660aaed43.js:21)
    at XMLHttpRequest.e.onreadystatechange (main-da815c25abb660aaed43.js:21)
    at XMLHttpRequest.<anonymous> (main-da815c25abb660aaed43.js:103)
    at XMLHttpRequest.n (main-da815c25abb660aaed43.js:103)
f.crossDomainError @ main-da815c25abb660aaed43.js:21
e.onreadystatechange @ main-da815c25abb660aaed43.js:21
(anonymous) @ main-da815c25abb660aaed43.js:103
n @ main-da815c25abb660aaed43.js:103
async function (async)
Cn @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
async function (async)
(anonymous) @ main-da815c25abb660aaed43.js:103
t @ main-da815c25abb660aaed43.js:35
(anonymous) @ main-da815c25abb660aaed43.js:103
(anonymous) @ main-da815c25abb660aaed43.js:103
Ca @ main-da815c25abb660aaed43.js:72
yg @ main-da815c25abb660aaed43.js:72
e.unstable_runWithPriority @ main-da815c25abb660aaed43.js:80
Ki @ main-da815c25abb660aaed43.js:72
pg @ main-da815c25abb660aaed43.js:72
rg @ main-da815c25abb660aaed43.js:72
(anonymous) @ main-da815c25abb660aaed43.js:72
e.unstable_runWithPriority @ main-da815c25abb660aaed43.js:80
Ki @ main-da815c25abb660aaed43.js:72
_i @ main-da815c25abb660aaed43.js:72
Wi @ main-da815c25abb660aaed43.js:72
ag @ main-da815c25abb660aaed43.js:72
_g @ main-da815c25abb660aaed43.js:72
render @ main-da815c25abb660aaed43.js:72
(anonymous) @ main-da815c25abb660aaed43.js:103
t @ main-da815c25abb660aaed43.js:1
(anonymous) @ main-da815c25abb660aaed43.js:1
(anonymous) @ main-da815c25abb660aaed43.js:1
main-da815c25abb660aaed43.js:103 POST https://o403236.ingest.sentry.io/api/5265532/store/?sentry_key=01d9c8f4220e4107992cfc3599c2f8e1&sentry_version=7 413 (Request Entity Too Large)

Any ideas on what could be going on? I'm happy to help debug more. Thanks!

Error message after Ubuntu start

Error: You need to wait for AlacEncoder.initPromise before calling this method
at AlacEncoder.encode (/opt/Soundsync/resources/app/utils/alac_vendor/alacEncoder.js:28:19)
at AirplaySpeaker.pushAudioChunk (/opt/Soundsync/resources/app/utils/vendor_integrations/airplay/airplaySpeaker.js:97:26)
at AirplaySink.handleAudioChunk (/opt/Soundsync/resources/app/audio/sinks/airplay_sink.js:52:26)
at Minipass.AudioSink._handleAudioChunk (/opt/Soundsync/resources/app/audio/sinks/audio_sink.js:101:18)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (/opt/Soundsync/resources/app/node_modules/minipass/index.js:416:25)
at Minipass.write (/opt/Soundsync/resources/app/node_modules/minipass/index.js:162:12)
at /opt/Soundsync/resources/app/audio/sources/audio_source.js:50:70
at Array.forEach ()
at Minipass. (/opt/Soundsync/resources/app/audio/sources/audio_source.js:50:43)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (/opt/Soundsync/resources/app/node_modules/minipass/index.js:416:25)
at Minipass.write (/opt/Soundsync/resources/app/node_modules/minipass/index.js:162:12)
at Yallist. (/opt/Soundsync/resources/app/node_modules/minipass/index.js:376:18)

Missing additional dependencies on a minimal Ubuntu installation

Looks like when installing Soundsync and using apt install -f on a Proxmox Ubuntu 22.04 LXC it still ended up with unmet dependencies of:

  • libxshmfence.so.1 from package libxshmfence1
  • libatk-bridge-2.0.so.0 from package libatk-bridge2.0-0
  • libgtk-3.so.0 from package libgtk-3-0

Unable to play to "local" Speakers on Windows and "remote" speaker

Hi @geekuillaume I hope you don't feel like I'm spamming the repo with issues 😰

I'm trying to setup Soundsync so that I can hear Spotify audio on the speakers attached to the Windows PC I have the Spotify client installed on, as well as a remote Airplay speaker.

Here are the steps I followed:

  1. Installed Soundsync v0.4.4 on my Windows 10 PC
  2. Navigate to https://soundsync.app/controller via Chrome
  3. Wait for the devices attached to my Windows PC to show up.
  4. Add links from Spotify to my local speakers and the remote AirPlay speaker
    21-10-2020 11-25-54 AM
  5. Start playing music on the Spotify client installed on the Windows 10 PC running Soundsync

Here is the behavior I observed:

  • When I link the remote Airplay speaker and the speakers connected to my Windows 10 PC, I can only hear music from the remote speaker
  • If I have only a link to the speakers connected to my Windows 10 PC, I am able to hear music from the speakers.
  • Similarly, a single connection just to the remote Airplay speaker works as well.
  • Trying to select the "Speakers (High Definition Audio Device) (monitor)" as the audio source and linking the two speakers does not help either.

What I'm expecting:

  • I will hear music from the local speakers and the remote Airplay speaker.
  • Version info
    • Soundsync v0.4.4
    • Windows 10 (v1903)

Error trying to run

RuntimeError: abort(Error: Unknown failure). Build with -s ASSERTIONS=1 for more info.
at process.abort (C:\Users\rasco\AppData\Local\Programs\soundsync\resources\app\node_modules\wasm-audio-resampler\app\soxr_wasm.js:320:154)
at process.emit (events.js:228:7)
at process.EventEmitter.emit (domain.js:475:20)
at processPromiseRejections (internal/process/promises.js:201:33)
at processTicksAndRejections (internal/process/task_queues.js:95:32)

Soundsync controller does not load in Firefox 81

Hello,

I have installed Soundsync on a Ubuntu machine and am able to successfully access the controller in Chrome. However, when I launch the Controller URL in Firefox it hangs on the "Connecting" screen. Looking at the Console in Firefox shows the following error message:

Uncaught (in promise) TypeError: Ln.RTCPeerConnection is not a constructor
    initWebrtcIfNeeded http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    initiateConnection http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    connect http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    joinPeerWithHttpApi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    Jr http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    n http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:51
    ni http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    ni http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    hs http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Cc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    unstable_runWithPriority http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:105
    Gi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Ec http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    oc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    unstable_runWithPriority http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:105
    Gi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Yi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    sc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    render http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    i http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1
main-25f2404c7752762a0c44.js:130:57743
Uncaught (in promise) TypeError: Ln.RTCPeerConnection is not a constructor
    initWebrtcIfNeeded http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    initiateConnection http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    connect http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    joinPeerWithHttpApi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    Jr http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    n http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:51
    ni http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    ni http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    hs http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Cc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    unstable_runWithPriority http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:105
    Gi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Ec http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    oc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    unstable_runWithPriority http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:105
    Gi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Yi http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    sc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    Vc http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    render http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:97
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:130
    i http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1
    <anonymous> http://192.168.XX.XX:6512/main-25f2404c7752762a0c44.js:1

Version Info

  • Firefox 81.0.1
  • Windows 10 (v1903)

Fatal error on windows

Platform: Windows 10
Version: 0.3.10

It occurs only when using 192kHz devices, not in other modes
EDIT: it's whenever i link an hardware input or output

#
# Fatal error in , line 0
# Check failed: result.second.
#
#
#
#FailureMessage Object: 000000E765AFF1A0
 1: 00007FF62CBB0FFF napi_wrap+109087
 2: 00007FF62CAE4C3F std::basic_ostream<char,std::char_traits<char> >::operator<<+56591
 3: 00007FF62D707282 V8_Fatal+162
 4: 00007FF62D1BE08D v8::internal::BackingStore::Reallocate+653
 5: 00007FF62D3F14F9 v8::ArrayBuffer::GetBackingStore+137
 6: 00007FF62CB9220C napi_get_arraybuffer_info+76
 7: 00007FFE40DF8EFC
 8: 00007FFE40DFA7FE
 9: 00007FFE40DF33C8
10: 00007FF62CB7D8DE node_module_register+4030
11: 00007FF62CBFA248 uv_idle_init+120
12: 00007FF62CC04A24 uv_run+212
13: 00007FF62CA99BBC v8::internal::interpreter::BytecodeLabel::bind+34556
14: 00007FF62CA95656 v8::internal::interpreter::BytecodeLabel::bind+16790
15: 00007FF62CBF549D uv_poll_stop+557
16: 00007FF62D9AAD10 v8::internal::compiler::RepresentationChanger::Uint32OverflowOperatorFor+398208
17: 00007FFE56096FD4 BaseThreadInitThunk+20
18: 00007FFE56BFCEC1 RtlUserThreadStart+33
error Command failed with exit code 3221225477.

rendezvous service crash with CERT_HAS_EXPIRED

Hi !
Thanks for this app, I've been using it for a couple of days but recently I've encountered this error:

● soundsync.service - soundsync
     Loaded: loaded (/etc/systemd/system/soundsync.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-10-07 13:24:43 CEST; 6h ago
   Main PID: 2911 (bash)
      Tasks: 28 (limit: 9265)
     Memory: 145.6M
     CGroup: /system.slice/soundsync.service
             β”œβ”€2911 bash /opt/Soundsync/soundsync --configDir /etc/soundsync
             β”œβ”€2919 pulseaudio
             └─2922 /opt/Soundsync/soundsync_electron --experimental-wasm-threads /opt/Soundsync/resources/app/index.js --configDir /etc/soundsync

oct. 07 19:42:54 nuc soundsync[2922]: 2021-10-07T17:42:54.790Z soundsync:rendezvous Registering to rendezvous service with: 192.168.1.117:6512_cf94eb0f-7294-434d-9805-a7c9f84f7c7b
oct. 07 19:42:54 nuc soundsync[2922]: 2021-10-07T17:42:54.866Z soundsync:rendezvous Error while registering, trying again in 1 minute Error: certificate has expired
oct. 07 19:42:54 nuc soundsync[2922]:     at TLSSocket.onConnectSecure (_tls_wrap.js:1484:34)
oct. 07 19:42:54 nuc soundsync[2922]:     at TLSSocket.emit (events.js:310:20)
oct. 07 19:42:54 nuc soundsync[2922]:     at TLSSocket.EventEmitter.emit (domain.js:482:12)
oct. 07 19:42:54 nuc soundsync[2922]:     at TLSSocket._finishInit (_tls_wrap.js:927:8)
oct. 07 19:42:54 nuc soundsync[2922]:     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:697:12) {
oct. 07 19:42:54 nuc soundsync[2922]:   code: 'CERT_HAS_EXPIRED',
oct. 07 19:42:54 nuc soundsync[2922]:   response: undefined
oct. 07 19:42:54 nuc soundsync[2922]: }

This instance is running on a up-to-date Ubuntu.
Once the Ubuntu is rebooted, at first I can start the service and have a Spotify Connect to send music to it, but after a while it disconnect and the stack trace above is in the log.

Let me know if you need more details or if I can do anything to fix it on my end.

Crash after waking computer from standby

Error: setMulticastInterface EADDRNOTAVAIL
at Socket.setMulticastInterface (dgram.js:818:11)
at Timeout.that.update [as _onTimeout] (C:\Users\Christoffer\AppData\Local\Programs\soundsync\resources\app\node_modules\multicast-dns\index.js:141:12)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)

Program crashed on me at startup. MacBook Air Early 2015, macOS version 10.15.6.

TypeError [ERR_INVALID_ARG_TYPE]: The "err" argument must be of type number. Received type undefined
at validateNumber (internal/validators.js:117:11)
at Object.getSystemErrorName (util.js:218:3)
at errnoException (internal/errors.js:463:21)
at afterWriteDispatched (internal/stream_base_commons.js:149:25)
at writevGeneric (internal/stream_base_commons.js:132:3)
at Socket._writeGeneric (net.js:774:11)
at Socket._writev (net.js:783:8)
at doWrite (_stream_writable.js:433:12)
at clearBuffer (_stream_writable.js:551:5)
at Socket.Writable.uncork (_stream_writable.js:329:7)
at connectionCorkNT (_http_outgoing.js:656:8)
at processTicksAndRejections (internal/process/task_queues.js:81:21)

Missing "Web Page Output" option in Firefox 81

I notice that when I load the Controller page in Firefox 81, my standard audio devices are visible however the "Web Page Output" option that appears with Chrome is missing in Firefox.

  • Firefox 81.0.2:

Screenshot_2020-10-19 Soundsync

  • Chrome Version 88.0.4292.2:

19-10-2020 7-06-49 PM

I can see the following error messages in the Developer Console when I load the controller page:

Some cookies are misusing the recommended β€œSameSiteβ€œ attribute 2
Some cookies are misusing the recommended β€œSameSiteβ€œ attribute 5
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://soundsync.app/api/ip_registry/peers. (Reason: CORS header β€˜Access-Control-Allow-Origin’ missing).
WebRTC: ICE failed, add a TURN server and see about:webrtc for more details
  • Other Version Info:
    • Soundsync v0.4.4

Application is not starting unless autoDetectAudioDevices is false

OS: Windows 10 2004 (19041.450)
App version: soundsync-0.3.3-dev.exe

When using the default config of true, the application is stuck at soundsync:sourcesSinksManager Detecting local audio devices.
This line never return and halt the process

const audioDevices = getAudioDevices();

I was not able to catch any error, and the issue seems to lay inside the node-audioworklet native code

Feature request: API

Just discovered this project, and it's really cool ! (C'est le feu πŸ”₯)

My use case would be to use this with a personal assistant (Mycroft) and be able to say: "Play my music in the living room" or "Play my music everywhere". In order to do this I need to be able to communicate with soundsync through on API or at least have a CLI for soundsync that I can use in a script if I have mycroft and soundsync installed in the same place.

The room notion is also a feature I think that would best be implemented in soundsync, but I can always work around this for now.

Headless install on non-Raspbian SBC

I've been trying to figure this one out. I've installed multiple times, verified dependencies, etc.

/opt/Soundsync/soundsync_electron: error while loading shared libraries: libX11-xcb.so.1: cannot open shared object file: No such file or directory

This shows up in journalctl as well:
image

edit: Armbian 20.08.5 Focal with Linux 5.8.12-rockchip64

connections to .local

It doesn't seem to affect functionality, but I'm seeing some connections to .local addresses which fail, as well as external connections to sslip.io that fail for other reasons... Was wondering if this info is useful to report :)

Screenshot 2020-10-11 at 09 26 27

Screenshot 2020-10-11 at 09 28 42

Thanks for creating Soundsync, it looks amazing!

compiled on Linux, but can't compile binary

My system is running Ubuntu 14.04 (yeah, I know it's old, but that doesn't appear to be my issue)

Following build from source instructions:

rcampbel@Godzilla~/project/soundsync/src/utils/opus_vendor $ ./autogen.sh 
Updating build configuration files, please wait....
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
Makefile.am:317: warning: '%'-style pattern rules are a GNU make extension
Makefile.am:320: warning: '%'-style pattern rules are a GNU make extension

emconfigure ./configure --disable-extra-programs --disable-doc --disable-intrinsics --disable-hardening --disable-rtcd --disable-s
tack-protector <-- this line in readme.md should have emconfigure removed from the front of it

rcampbel@Godzilla~/project/soundsync/src/utils/opus_vendor $ ./configure --disable-extra-programs --disable-doc --disable-intrinsics --disable-hardening --disable-rtcd --disable-s
configure: WARNING: unrecognized options: --disable-s
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc-9
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc-9 accepts -g... yes
checking for gcc-9 option to accept ISO C89... none needed
checking whether gcc-9 understands -c and -o together... yes
checking dependency style of gcc-9... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc-9... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc-9 object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc-9 -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc-9 supports -fno-rtti -fno-exceptions... no
checking for gcc-9 option to produce PIC... -fPIC -DPIC
checking if gcc-9 PIC flag -fPIC -DPIC works... yes
checking if gcc-9 static flag -static works... yes
checking if gcc-9 supports -c -o file.o... yes
checking if gcc-9 supports -c -o file.o... (cached) yes
checking whether the gcc-9 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc-9 option to accept ISO C99... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking dependency style of gcc-9... gcc3
checking for C/C++ restrict keyword... __restrict
checking for C99 variable-size arrays... yes
checking for cos in -lm... yes
checking if gcc-9 supports -fvisibility=hidden... yes
checking if gcc-9 supports -fstack-protector-strong... yes
checking whether to add -D_FORTIFY_SOURCE=2 to CFLAGS... no
checking if gcc-9 supports -Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes... yes
checking for lrintf... yes
checking for lrint... yes
checking for __malloc_hook... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating opus.pc
config.status: creating opus-uninstalled.pc
config.status: creating celt/arm/armopts.s
config.status: creating doc/Makefile
config.status: creating doc/Doxyfile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: WARNING: unrecognized options: --disable-s
configure:
------------------------------------------------------------------------
  opus unknown:  Automatic configuration OK.

    Compiler support:

      C99 var arrays: ................ yes
      C99 lrintf: .................... yes
      Use alloca: .................... no (using var arrays)

    General configuration:

      Floating point support: ........ yes
      Fast float approximations: ..... no
      Fixed point debugging: ......... no
      Inline Assembly Optimizations: . No inline ASM for your platform, please send patches
      External Assembly Optimizations: 
      Intrinsics Optimizations: ...... no
      Run-time CPU detection: ........ disabled
      Custom modes: .................. no
      Assertion checking: ............ no
      Hardening: ..................... no
      Fuzzing: ....................... no
      Check ASM: ..................... no

      API documentation: ............. no
      Extra programs: ................ no
------------------------------------------------------------------------

 Type "make; make install" to compile and install
 Type "make check" to run the test suite

then make...

rcampbel@Godzilla~/project/soundsync/src/utils/opus_vendor $ make
make  all-recursive
make[1]: Entering directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor'
make[2]: Entering directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor'
  CC       celt/bands.lo
  CC       celt/celt.lo
  CC       celt/celt_encoder.lo
  CC       celt/celt_decoder.lo
  CC       celt/cwrs.lo
  CC       celt/entcode.lo
  CC       celt/entdec.lo
  CC       celt/entenc.lo
  CC       celt/kiss_fft.lo
  CC       celt/laplace.lo
  CC       celt/mathops.lo
  CC       celt/mdct.lo
  CC       celt/modes.lo
  CC       celt/pitch.lo
  CC       celt/celt_lpc.lo
  CC       celt/quant_bands.lo
  CC       celt/rate.lo
  CC       celt/vq.lo
  CC       silk/CNG.lo
  CC       silk/code_signs.lo
  CC       silk/init_decoder.lo
  CC       silk/decode_core.lo
  CC       silk/decode_frame.lo
  CC       silk/decode_parameters.lo
  CC       silk/decode_indices.lo
  CC       silk/decode_pulses.lo
  CC       silk/decoder_set_fs.lo
  CC       silk/dec_API.lo
  CC       silk/enc_API.lo
  CC       silk/encode_indices.lo
  CC       silk/encode_pulses.lo
  CC       silk/gain_quant.lo
  CC       silk/interpolate.lo
  CC       silk/LP_variable_cutoff.lo
  CC       silk/NLSF_decode.lo
  CC       silk/NSQ.lo
  CC       silk/NSQ_del_dec.lo
  CC       silk/PLC.lo
  CC       silk/shell_coder.lo
  CC       silk/tables_gain.lo
  CC       silk/tables_LTP.lo
  CC       silk/tables_NLSF_CB_NB_MB.lo
  CC       silk/tables_NLSF_CB_WB.lo
  CC       silk/tables_other.lo
  CC       silk/tables_pitch_lag.lo
  CC       silk/tables_pulses_per_block.lo
  CC       silk/VAD.lo
  CC       silk/control_audio_bandwidth.lo
  CC       silk/quant_LTP_gains.lo
  CC       silk/VQ_WMat_EC.lo
  CC       silk/HP_variable_cutoff.lo
  CC       silk/NLSF_encode.lo
  CC       silk/NLSF_VQ.lo
  CC       silk/NLSF_unpack.lo
  CC       silk/NLSF_del_dec_quant.lo
  CC       silk/process_NLSFs.lo
  CC       silk/stereo_LR_to_MS.lo
  CC       silk/stereo_MS_to_LR.lo
  CC       silk/check_control_input.lo
  CC       silk/control_SNR.lo
  CC       silk/init_encoder.lo
  CC       silk/control_codec.lo
  CC       silk/A2NLSF.lo
  CC       silk/ana_filt_bank_1.lo
  CC       silk/biquad_alt.lo
  CC       silk/bwexpander_32.lo
  CC       silk/bwexpander.lo
  CC       silk/debug.lo
  CC       silk/decode_pitch.lo
  CC       silk/inner_prod_aligned.lo
  CC       silk/lin2log.lo
  CC       silk/log2lin.lo
  CC       silk/LPC_analysis_filter.lo
  CC       silk/LPC_inv_pred_gain.lo
  CC       silk/table_LSF_cos.lo
  CC       silk/NLSF2A.lo
  CC       silk/NLSF_stabilize.lo
  CC       silk/NLSF_VQ_weights_laroia.lo
  CC       silk/pitch_est_tables.lo
  CC       silk/resampler.lo
  CC       silk/resampler_down2_3.lo
  CC       silk/resampler_down2.lo
  CC       silk/resampler_private_AR2.lo
  CC       silk/resampler_private_down_FIR.lo
  CC       silk/resampler_private_IIR_FIR.lo
  CC       silk/resampler_private_up2_HQ.lo
  CC       silk/resampler_rom.lo
  CC       silk/sigm_Q15.lo
  CC       silk/sort.lo
  CC       silk/sum_sqr_shift.lo
  CC       silk/stereo_decode_pred.lo
  CC       silk/stereo_encode_pred.lo
  CC       silk/stereo_find_predictor.lo
  CC       silk/stereo_quant_pred.lo
  CC       silk/LPC_fit.lo
  CC       silk/float/apply_sine_window_FLP.lo
  CC       silk/float/corrMatrix_FLP.lo
  CC       silk/float/encode_frame_FLP.lo
  CC       silk/float/find_LPC_FLP.lo
  CC       silk/float/find_LTP_FLP.lo
  CC       silk/float/find_pitch_lags_FLP.lo
  CC       silk/float/find_pred_coefs_FLP.lo
  CC       silk/float/LPC_analysis_filter_FLP.lo
  CC       silk/float/LTP_analysis_filter_FLP.lo
  CC       silk/float/LTP_scale_ctrl_FLP.lo
  CC       silk/float/noise_shape_analysis_FLP.lo
  CC       silk/float/process_gains_FLP.lo
  CC       silk/float/regularize_correlations_FLP.lo
  CC       silk/float/residual_energy_FLP.lo
  CC       silk/float/warped_autocorrelation_FLP.lo
  CC       silk/float/wrappers_FLP.lo
  CC       silk/float/autocorrelation_FLP.lo
  CC       silk/float/burg_modified_FLP.lo
  CC       silk/float/bwexpander_FLP.lo
  CC       silk/float/energy_FLP.lo
  CC       silk/float/inner_product_FLP.lo
  CC       silk/float/k2a_FLP.lo
  CC       silk/float/LPC_inv_pred_gain_FLP.lo
  CC       silk/float/pitch_analysis_core_FLP.lo
  CC       silk/float/scale_copy_vector_FLP.lo
  CC       silk/float/scale_vector_FLP.lo
  CC       silk/float/schur_FLP.lo
  CC       silk/float/sort_FLP.lo
  CC       src/opus.lo
  CC       src/opus_decoder.lo
  CC       src/opus_encoder.lo
  CC       src/opus_multistream.lo
  CC       src/opus_multistream_encoder.lo
  CC       src/opus_multistream_decoder.lo
  CC       src/repacketizer.lo
  CC       src/opus_projection_encoder.lo
  CC       src/opus_projection_decoder.lo
  CC       src/mapping_matrix.lo
  CC       src/analysis.lo
  CC       src/mlp.lo
  CC       src/mlp_data.lo
  CCLD     libopus.la
make[3]: Entering directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor/doc'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor/doc'
make[2]: Leaving directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor'
make[1]: Leaving directory '/media/rcampbel/4TB_EXT/rcampbel/project/soundsync/src/utils/opus_vendor'

next, cd ..
ok...

next:
cd ../
emcc -s INITIAL_MEMORY=10MB -s MAXIMUM_MEMORY=10MB -O2 -o opus_wasm.js -s EXPORT_ES6=1 -s MODULARIZE=1 -s SINGLE_FILE=1 -s EXPORT_NAME="Opus" -s USE_ES6_IMPORT_META=0 -s FILESYSTEM=0 -s EXPORTED_RUNTIME_METHODS="['setValue', 'getValue', 'AsciiToString']" -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']" -s ENVIRONMENT=node,web ./opus_vendor/.libs/libopus.a

'em' should be removed from front of this line.

I tried 3 compilers...

rcampbel@Godzilla~/project/soundsync/src/utils $ gcc-9 -s INITIAL_MEMORY=10MB -s MAXIMUM_MEMORY=10MB -O2 -o opus_wasm.js -s EXPORT_ES6=1 -s MODULARIZE=1 -s SINGLE_FILE=1 -s EXPORT_NAME="Opus" -s USE_ES6_IMPORT_META=0 -s FILESYSTEM=0 -s EXPORTED_RUNTIME_METHODS="['setValue', 'getValue', 'AsciiToString']" -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']" -s ENVIRONMENT=node,web ./opus_vendor/.libs/libopus.a
gcc-9: error: INITIAL_MEMORY=10MB: No such file or directory
gcc-9: error: MAXIMUM_MEMORY=10MB: No such file or directory
gcc-9: error: EXPORT_ES6=1: No such file or directory
gcc-9: error: MODULARIZE=1: No such file or directory
gcc-9: error: SINGLE_FILE=1: No such file or directory
gcc-9: error: EXPORT_NAME=Opus: No such file or directory
gcc-9: error: USE_ES6_IMPORT_META=0: No such file or directory
gcc-9: error: FILESYSTEM=0: No such file or directory
gcc-9: error: EXPORTED_RUNTIME_METHODS=['setValue', 'getValue', 'AsciiToString']: No such file or directory
gcc-9: error: EXPORTED_FUNCTIONS=['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']: No such file or directory
gcc-9: error: ENVIRONMENT=node,web: No such file or directory
rcampbel@Godzilla~/project/soundsync/src/utils $ cc --version
cc (Ubuntu 4.8.5-4ubuntu8~14.04.2) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

rcampbel@Godzilla~/project/soundsync/src/utils $ cc -s INITIAL_MEMORY=10MB -s MAXIMUM_MEMORY=10MB -O2 -o opus_wasm.js -s EXPORT_ES6=1 -s MODULARIZE=1 -s SINGLE_FILE=1 -s EXPORT_NAME="Opus" -s USE_ES6_IMPORT_META=0 -s FILESYSTEM=0 -s EXPORTED_RUNTIME_METHODS="['setValue', 'getValue', 'AsciiToString']" -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']" -s ENVIRONMENT=node,web ./opus_vendor/.libs/libopus.a

cc: error: INITIAL_MEMORY=10MB: No such file or directory
cc: error: MAXIMUM_MEMORY=10MB: No such file or directory
cc: error: EXPORT_ES6=1: No such file or directory
cc: error: MODULARIZE=1: No such file or directory
cc: error: SINGLE_FILE=1: No such file or directory
cc: error: EXPORT_NAME=Opus: No such file or directory
cc: error: USE_ES6_IMPORT_META=0: No such file or directory
cc: error: FILESYSTEM=0: No such file or directory
cc: error: EXPORTED_RUNTIME_METHODS=['setValue', 'getValue', 'AsciiToString']: No such file or directory
cc: error: EXPORTED_FUNCTIONS=['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']: No such file or directory
cc: error: ENVIRONMENT=node,web: No such file or directory
rcampbel@Godzilla~/project/soundsync/src/utils $ clang --version
clang version 8.0.0 (tags/RELEASE_800/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
rcampbel@Godzilla~/project/soundsync/src/utils $ clang -s INITIAL_MEMORY=10MB -s MAXIMUM_MEMORY=10MB -O2 -o opus_wasm.js -s EXPORT_ES6=1 -s MODULARIZE=1 -s SINGLE_FILE=1 -s EXPORT_NAME="Opus" -s USE_ES6_IMPORT_META=0 -s FILESYSTEM=0 -s EXPORTED_RUNTIME_METHODS="['setValue', 'getValue', 'AsciiToString']" -s EXPORTED_FUNCTIONS="['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']" -s ENVIRONMENT=node,web ./opus_vendor/.libs/libopus.a
clang-8: error: no such file or directory: 'INITIAL_MEMORY=10MB'
clang-8: error: no such file or directory: 'MAXIMUM_MEMORY=10MB'
clang-8: error: no such file or directory: 'EXPORT_ES6=1'
clang-8: error: no such file or directory: 'MODULARIZE=1'
clang-8: error: no such file or directory: 'SINGLE_FILE=1'
clang-8: error: no such file or directory: 'EXPORT_NAME=Opus'
clang-8: error: no such file or directory: 'USE_ES6_IMPORT_META=0'
clang-8: error: no such file or directory: 'FILESYSTEM=0'
clang-8: error: no such file or directory: 'EXPORTED_RUNTIME_METHODS=['setValue', 'getValue', 'AsciiToString']'
clang-8: error: no such file or directory: 'EXPORTED_FUNCTIONS=['_malloc', '_free', '_opus_decoder_create','_opus_decode_float','_opus_decoder_destroy','_opus_encoder_create','_opus_encoder_destroy','_opus_encode','_opus_strerror']'
clang-8: error: no such file or directory: 'ENVIRONMENT=node,web'

So, I tried stripping out the bits thjat were not recognized and get this:

rcampbel@Godzilla~/project/soundsync/src/utils $ gcc-9 -s -O2 -o opus_wasm.js ./opus_vendor/.libs/libopus.a
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

Then I tried installing your .deb file and it installs, and it looked like it succeeded but I saw nothing installed,

so I run 'ar x soundsync_0.1.0_amd64.deb` and then 'tar Jxvf data.tar.xz'

now I can see the binaries that should have gone into /opt/Soundsync
I've moved those to /opt/Soundsync and now I can run soundsync from there and open up http://localhost:6512/

Hope this information is helpful

Cannot find module 'electron'

I'm trying to get SoundSync up and running on a headless raspberry pi.

  1. The problem is that there is no documentation about where SoundSync and how or whether I can start it from the command line however it was straightforward to find it in services:
/opt/Soundsync/package_extra/systemd/default/files/etc/systemd/system/soundsync.service
  1. When trying to start it from as a service there is no feedback in the console but when I check the status it says that the service is not running:
● soundsync.service - soundsync
   Loaded: loaded (/etc/systemd/system/soundsync.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2020-07-10 13:16:39 BST; 5min ago
  Process: 22591 ExecStart=/opt/Soundsync/soundsync --configDir /etc/soundsync (code=exited, status=1/FAILURE)
 Main PID: 22591 (code=exited, status=1/FAILURE)

Jul 10 13:16:39 rpi170 systemd[1]: soundsync.service: Service RestartSec=100ms expired, scheduling restart.
Jul 10 13:16:39 rpi170 systemd[1]: soundsync.service: Scheduled restart job, restart counter is at 5.
Jul 10 13:16:39 rpi170 systemd[1]: Stopped soundsync.
Jul 10 13:16:39 rpi170 systemd[1]: soundsync.service: Start request repeated too quickly.
Jul 10 13:16:39 rpi170 systemd[1]: soundsync.service: Failed with result 'exit-code'.
Jul 10 13:16:39 rpi170 systemd[1]: Failed to start soundsync.
  1. So It looks like the service is crashing when trying to start the executable which actually complains about not being able to find electron:
pi@rpi170:~/SoundSync $ /opt/Soundsync/soundsync "--configDir" "/etc/soundsync"
internal/modules/cjs/loader.js:720
    throw err;
    ^

Error: Cannot find module 'electron'
Require stack:
- /opt/Soundsync/resources/app/utils/electronErrorHandler.js
- /opt/Soundsync/resources/app/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:717:15)
    at Module._load (internal/modules/cjs/loader.js:622:27)
    at Module._load (electron/js2c/asar.js:717:26)
    at Function.Module._load (electron/js2c/asar.js:717:26)
    at Module.require (internal/modules/cjs/loader.js:775:19)
    at require (internal/modules/cjs/helpers.js:68:18)
    at Object.<anonymous> (/opt/Soundsync/resources/app/utils/electronErrorHandler.js:6:36)
    at Module._compile (internal/modules/cjs/loader.js:880:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:892:10)
    at Module.load (internal/modules/cjs/loader.js:735:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/opt/Soundsync/resources/app/utils/electronErrorHandler.js',
    '/opt/Soundsync/resources/app/index.js'
  ]
}

I successfully installed electron by the following documentation here however, the problem still persists.

error on install of v 4.1

Error: Provided outputBuffer is too small: 16 < 3840
at SoxrResampler.processChunk (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\wasm-audio-resampler\app\soxr_resampler.js:99:19)
at C:\Users...\AppData\Local\Programs\soundsync\resources\app\utils\audio\chunk_stream.js:237:48
at runNextTicks (internal/process/task_queues.js:62:5)
at processTimers (internal/timers.js:489:9)

Won't play on AirPlay device.

This happens whenever I try to play something on airplay device: The app just crashes

Error: You need to wait for AlacEncoder.initPromise before calling this method
at AlacEncoder.encode (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\utils\alac_vendor\alacEncoder.js:28:19)
at AirplaySpeaker.pushAudioChunk (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\utils\vendor_integrations\airplay\airplaySpeaker.js:97:26)
at AirplaySink.handleAudioChunk (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\audio\sinks\airplay_sink.js:52:26)
at Minipass.AudioSink._handleAudioChunk (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\audio\sinks\audio_sink.js:101:18)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
at Minipass.write (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
at C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:70
at Array.forEach ()
at Minipass. (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:43)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
at Minipass.write (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
at Yallist. (C:\Users\BOSS\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:376:18)

Alternatively I get this error:
image

Error: setMulticastInterface EADDRNOTAVAIL

Error: setMulticastInterface EADDRNOTAVAIL
at Socket.setMulticastInterface (dgram.js:818:11)
at Timeout.that.update [as _onTimeout] (C:\Users\Mike\AppData\Local\Programs\soundsync\resources\app\node_modules\multicast-dns\index.js:141:12)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)

Windows Audio

The main website says:
On Windows and Linux, Soundsync capture the sound emitted from your computer in any program

but I'm only able to use line-in audio/microphones. How do I use a different Windows audio source?

I just downloaded the newest version from the website.

image

also, every time I refresh the local page I get this:
image

... and then have to remove "/controller" from the url to get it to connect again.

Build rpm packages

As the title indicates it would be nice if RPM packages was available

error message

Error: 44:48: execution error: An error of type -10810 has occurred. (-10810)

at ChildProcess.<anonymous> (/Applications/Soundsync.app/Contents/Resources/app/node_modules/applescript/lib/applescript.js:49:13)
at ChildProcess.emit (events.js:203:13)
at ChildProcess.EventEmitter.emit (domain.js:476:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)

Can't Add a Spotify Player

On Windows 10 when I click ADD A SPOTIFY PLAYER, leave everything blank except selecting my Windows PC as the Device and click ADD A SPOTIFY PLAYER, the soundsync executable seems to crash and the tray icon disappears. After restarting it, the same thing happens. When I remove the Spotify entry from the config.json it runs fine again. This also happens when specifying a Spotify account. I've also tested it on two different Windows 10 machines with the same results.

There is a librespot file in the Config directory with CRC32 of 7425098E and it is 7241216 bytes. It does not appear to be a Windows compatible library file.

SoundSync occasionally crashes with Range Error

OS 10.15.6
MBP 2015 - 2.5GhZ Quad-Core I7
16 GB Ram

RangeError: offset is out of bounds
    at Uint16Array.set (<anonymous>)
    at CircularTypedArray.set (/Applications/Soundsync.app/Contents/Resources/app/utils/circularTypedArray.js:43:25)
    at CircularTypedArray.setFromWriterPointer (/Applications/Soundsync.app/Contents/Resources/app/utils/circularTypedArray.js:51:14)
    at AirplaySink.handleAudioChunk (/Applications/Soundsync.app/Contents/Resources/app/audio/sinks/airplay_sink.js:65:25)
    at Minipass.AudioSink._handleAudioChunk (/Applications/Soundsync.app/Contents/Resources/app/audio/sinks/audio_sink.js:93:18)
    at Minipass.emit (events.js:310:20)
    at Minipass.EventEmitter.emit (domain.js:482:12)
    at Minipass.emit (/Applications/Soundsync.app/Contents/Resources/app/node_modules/minipass/index.js:416:25)
    at Minipass.write (/Applications/Soundsync.app/Contents/Resources/app/node_modules/minipass/index.js:162:12)
    at /Applications/Soundsync.app/Contents/Resources/app/audio/sources/audio_source.js:50:70
    at Array.forEach (<anonymous>)
    at Minipass.<anonymous> (/Applications/Soundsync.app/Contents/Resources/app/audio/sources/audio_source.js:50:43)
    at Minipass.emit (events.js:310:20)
    at Minipass.EventEmitter.emit (domain.js:482:12)
    at Minipass.emit (/Applications/Soundsync.app/Contents/Resources/app/node_modules/minipass/index.js:416:25)
    at Minipass.write (/Applications/Soundsync.app/Contents/Resources/app/node_modules/minipass/index.js:162:12)

RangeError: Source is too large in opus.js

Hello,
I just downloaded soundsync to play around on my 2012 Macbook Pro and 2012 Mac mini. I opened the app on the mini first, and linked the Built-in Input to the Built-in Output. Then I opened the app on my MBP and linked the mini's Built-in Input to the MBP's Built-in Output (so the mini's input was going to both the mini and the MBP's output).

soundsync on the mini almost immediately crashed with the following error message:

RangeError: Source is too large
    at Uint8Array.set (<anonymous>)
    at OpusEncoder.encodeFloat (/Applications/Soundsync.app/Contents/Resources/app/utils/opus.js:104:18)
    at /Applications/Soundsync.app/Contents/Resources/app/utils/opus_streams.js:18:38

Since then, any time I try to start the app on my mini it crashes immediately with the same error.

On the MBP, It has crashed without an app error (just the generic Apple 'report error' screen) a couple times, but it will still launch and doesn't crash right away (though testing playing audio with Spotify did crash with a different error).

I'm excited to see where this project goes!

Unable to add second Chromecast device to Soundsync

I have two Chromecast devices on my network - a Google Home Mini as well as a Chromecast Audio. I was able to successfully add the Mini to the list of Speakers in Soundsync. However, whenever I try to add the Chromecast Audio to the Speaker list I see the following messages in journalctl logs:

Oct 19 10:49:49 repeater soundsync[1137]: 2020-10-19T10:49:49.630Z soundsync:peer:f083ee79-c510-4b12-8f6c-5893dc52dea2:rpc Sending controller message {
Oct 19 10:49:49 repeater soundsync[1137]:   type: 'rpc',
Oct 19 10:49:49 repeater soundsync[1137]:   isResponse: true,
Oct 19 10:49:49 repeater soundsync[1137]:   body: [
Oct 19 10:49:49 repeater soundsync[1137]:     { host: '192.168.50.31', name: 'Living Room Speaker' },
Oct 19 10:49:49 repeater soundsync[1137]:     { host: '192.168.50.28', name: 'Living Room Mini' }
Oct 19 10:49:49 repeater soundsync[1137]:   ],
Oct 19 10:49:49 repeater soundsync[1137]:   uuid: '2c7eab96-d172-4ddd-86f3-d36c310c385a',
Oct 19 10:49:49 repeater soundsync[1137]:   rpcType: 'scanChromecast'
Oct 19 10:49:49 repeater soundsync[1137]: }
Oct 19 10:49:51 repeater soundsync[1137]: 2020-10-19T10:49:51.934Z soundsync:peer:f083ee79-c510-4b12-8f6c-5893dc52dea2:rpc Received controller message {
Oct 19 10:49:51 repeater soundsync[1137]:   type: 'rpc',
Oct 19 10:49:51 repeater soundsync[1137]:   rpcType: 'startChromecast',
Oct 19 10:49:51 repeater soundsync[1137]:   isResponse: false,
Oct 19 10:49:51 repeater soundsync[1137]:   body: '192.168.50.31',
Oct 19 10:49:51 repeater soundsync[1137]:   uuid: '687b0c43-7b0d-4dd5-9507-625bad8035b4'
Oct 19 10:49:51 repeater soundsync[1137]: }
Oct 19 10:49:52 repeater soundsync[1137]: 2020-10-19T10:49:52.144Z soundsync:peer:aeab6239-3ac1-4e4d-9329-4d55b845ba4a Destroying peer, reason: controller channel is closed
Oct 19 10:49:52 repeater soundsync[1137]: 2020-10-19T10:49:52.145Z soundsync:peer:aeab6239-3ac1-4e4d-9329-4d55b845ba4a Cleaning webrtc state
Oct 19 10:49:54 repeater soundsync[1137]: 2020-10-19T10:49:54.500Z soundsync:peer:f083ee79-c510-4b12-8f6c-5893dc52dea2:rpc Sending controller message {
Oct 19 10:49:54 repeater soundsync[1137]:   type: 'rpc',
Oct 19 10:49:54 repeater soundsync[1137]:   isResponse: true,
Oct 19 10:49:54 repeater soundsync[1137]:   body: undefined,
Oct 19 10:49:54 repeater soundsync[1137]:   uuid: '687b0c43-7b0d-4dd5-9507-625bad8035b4',
Oct 19 10:49:54 repeater soundsync[1137]:   rpcType: 'startChromecast'
Oct 19 10:49:54 repeater soundsync[1137]: }
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.280Z soundsync:eventloop last 5 seconds: event loop blocked for 20.922367ms, mean: 10.14611668292683ms
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.710Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73 Created new peer
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.713Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73 Setting remote description
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.714Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73 Creating answer
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.714Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73 Setting local description
Oct 19 10:49:55 repeater soundsync[1137]: 2020-10-19T10:49:55.716Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73 Sending answer
Oct 19 10:49:56 repeater soundsync[1137]: 2020-10-19T10:49:56.857Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73:peerInfo Sending controller message {
Oct 19 10:49:56 repeater soundsync[1137]:   type: 'peerInfo',
Oct 19 10:49:56 repeater soundsync[1137]:   peer: {
Oct 19 10:49:56 repeater soundsync[1137]:     uuid: 'e422b321-bfe8-4174-af33-47ae84ad1583',
Oct 19 10:49:56 repeater soundsync[1137]:     name: 'repeater',
Oct 19 10:49:56 repeater soundsync[1137]:     instanceUuid: '8286233e-1178-4dc9-bc59-62fdb2686323',
Oct 19 10:49:56 repeater soundsync[1137]:     capacities: [
Oct 19 10:49:56 repeater soundsync[1137]:       'librespot',
Oct 19 10:49:56 repeater soundsync[1137]:       'shairport',
Oct 19 10:49:56 repeater soundsync[1137]:       'http_server_accessible',
Oct 19 10:49:56 repeater soundsync[1137]:       'hue',
Oct 19 10:49:56 repeater soundsync[1137]:       'chromecast_interaction',
Oct 19 10:49:56 repeater soundsync[1137]:       'shared_state_keeper',
Oct 19 10:49:56 repeater soundsync[1137]:       'airplay_sink'
Oct 19 10:49:56 repeater soundsync[1137]:     ],
Oct 19 10:49:56 repeater soundsync[1137]:     version: '0.4.4'
Oct 19 10:49:56 repeater soundsync[1137]:   },
Oct 19 10:49:56 repeater soundsync[1137]:   sharedState: { hueBridges: [], lastUpdateTimestamp: -1 }
Oct 19 10:49:56 repeater soundsync[1137]: }
Oct 19 10:49:56 repeater soundsync[1137]: 2020-10-19T10:49:56.922Z soundsync:peer:placeholderForRendezvousInitiatorRequest_f7e09eea-2564-4b7e-ad4f-18d1e519cb73:peerInfo Received controller message {
Oct 19 10:49:56 repeater soundsync[1137]:   type: 'peerInfo',
Oct 19 10:49:56 repeater soundsync[1137]:   peer: {
Oct 19 10:49:56 repeater soundsync[1137]:     uuid: 'aeab6239-3ac1-4e4d-9329-4d55b845ba4a',
Oct 19 10:49:56 repeater soundsync[1137]:     name: 'Chromecast',
Oct 19 10:49:56 repeater soundsync[1137]:     instanceUuid: '267f435c-c0e2-4a1c-ab99-35087c064212',
Oct 19 10:49:56 repeater soundsync[1137]:     capacities: [],
Oct 19 10:49:56 repeater soundsync[1137]:     version: '0.4.4'
Oct 19 10:49:56 repeater soundsync[1137]:   }
Oct 19 10:49:56 repeater soundsync[1137]: }
Oct 19 10:49:56 repeater soundsync[1137]: 2020-10-19T10:49:56.923Z soundsync:peer:aeab6239-3ac1-4e4d-9329-4d55b845ba4a Connected
Oct 19 10:49:57 repeater soundsync[1137]: 2020-10-19T10:49:57.233Z soundsync:peer:aeab6239-3ac1-4e4d-9329-4d55b845ba4a Updating timedelta to -162974.38605149993, diff: -162974.39ms
Oct 19 10:50:00 repeater soundsync[1137]: 2020-10-19T10:50:00.279Z soundsync:eventloop last 5 seconds: event loop blocked for 29.556735ms, mean: 10.181828440816327ms
Oct 19 10:50:02 repeater soundsync[1137]: 2020-10-19T10:50:02.183Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Created new peer
Oct 19 10:50:02 repeater soundsync[1137]: 2020-10-19T10:50:02.186Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Setting remote description
Oct 19 10:50:02 repeater soundsync[1137]: 2020-10-19T10:50:02.187Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Creating answer
Oct 19 10:50:02 repeater soundsync[1137]: 2020-10-19T10:50:02.187Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Setting local description
Oct 19 10:50:02 repeater soundsync[1137]: 2020-10-19T10:50:02.189Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Sending answer
Oct 19 10:50:03 repeater soundsync[1137]: 2020-10-19T10:50:03.336Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3:peerInfo Sending controller message {
Oct 19 10:50:03 repeater soundsync[1137]:   type: 'peerInfo',
Oct 19 10:50:03 repeater soundsync[1137]:   peer: {
Oct 19 10:50:03 repeater soundsync[1137]:     uuid: 'e422b321-bfe8-4174-af33-47ae84ad1583',
Oct 19 10:50:03 repeater soundsync[1137]:     name: 'repeater',
Oct 19 10:50:03 repeater soundsync[1137]:     instanceUuid: '8286233e-1178-4dc9-bc59-62fdb2686323',
Oct 19 10:50:03 repeater soundsync[1137]:     capacities: [
Oct 19 10:50:03 repeater soundsync[1137]:       'librespot',
Oct 19 10:50:03 repeater soundsync[1137]:       'shairport',
Oct 19 10:50:03 repeater soundsync[1137]:       'http_server_accessible',
Oct 19 10:50:03 repeater soundsync[1137]:       'hue',
Oct 19 10:50:03 repeater soundsync[1137]:       'chromecast_interaction',
Oct 19 10:50:03 repeater soundsync[1137]:       'shared_state_keeper',
Oct 19 10:50:03 repeater soundsync[1137]:       'airplay_sink'
Oct 19 10:50:03 repeater soundsync[1137]:     ],
Oct 19 10:50:03 repeater soundsync[1137]:     version: '0.4.4'
Oct 19 10:50:03 repeater soundsync[1137]:   },
Oct 19 10:50:03 repeater soundsync[1137]:   sharedState: { hueBridges: [], lastUpdateTimestamp: -1 }
Oct 19 10:50:03 repeater soundsync[1137]: }
Oct 19 10:50:03 repeater soundsync[1137]: 2020-10-19T10:50:03.373Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3:peerInfo Received controller message {
Oct 19 10:50:03 repeater soundsync[1137]:   type: 'peerInfo',
Oct 19 10:50:03 repeater soundsync[1137]:   peer: {
Oct 19 10:50:03 repeater soundsync[1137]:     uuid: 'aeab6239-3ac1-4e4d-9329-4d55b845ba4a',
Oct 19 10:50:03 repeater soundsync[1137]:     name: 'Chromecast',
Oct 19 10:50:03 repeater soundsync[1137]:     instanceUuid: '267f435c-c0e2-4a1c-ab99-35087c064212',
Oct 19 10:50:03 repeater soundsync[1137]:     capacities: [],
Oct 19 10:50:03 repeater soundsync[1137]:     version: '0.4.4'
Oct 19 10:50:03 repeater soundsync[1137]:   }
Oct 19 10:50:03 repeater soundsync[1137]: }
Oct 19 10:50:03 repeater soundsync[1137]: 2020-10-19T10:50:03.374Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Destroying peer, reason: Peer is already connected, this is a duplicate
Oct 19 10:50:03 repeater soundsync[1137]: 2020-10-19T10:50:03.374Z soundsync:peer:placeholderForRendezvousInitiatorRequest_7e215426-cb6d-4811-b469-7025849aacd3 Cleaning webrtc state

Note the message Peer is already connected. I have actually only added the Mini so I don't know why the Soundsync app thinks the Chromecast has also been added before. I also checked /etc/soundsync/config.json and I do not see any entry for the Chromecast.

  • Version info
    • Soundsync v0.4.4
    • Ubuntu 20.04

AirPlay from phone to laptop stutters

I gave the software a test run by seeing if i could airplay from my phone to my headphones through my laptop and I experienced some stuttering in the middle like a CD that had a quick scratch. This may be related to the really high latency play/pause and volume controls had.

The setup was iPhone -> MacBook Pro through AirPlay.

Latency problem and current workaround

Comparing with the source output device, other outputs have a latency around 200ms (just guess).

I don't think this can be improved easily, however, we can make the source output device play its audio via a virtual device (or a device that cannot make sound), and then all the outputs now get similar latency.

Currently, I'm using a Windows laptop as the source output device, with a built-in speaker and a headphone. I just set system output device as the headphone, which cannot be heard by me, and everything is working pretty well, even the laptop's speaker can be used by soundsync at the same time.

I tried to use my Linux desktop as the source, but it seems that Linux cannot output audio to multiple devices at the same time (or it need some trick?).

I hope this can help someone.

Docker Image

Hey, have you already thought about providing a docker image for easy setup on home servers? I tried a bit but ran into few problems, which should be solvable, I assume!

  soundsync:peer:placeholderForHttpApiJoin_172.17.0.2:6512 Created new peer +0ms
  soundsync:peer:placeholderForHttpApiJoin_172.17.0.2:6512 Cannot connect to peer with initiator http api http initiator error: 409: Connecting to own peer +62ms
Error: spawn xdg-open ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
    at onErrorNT (internal/child_process.js:469:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

i found error

Error: You need to wait for SoxrResampler.initPromise before calling this method
at SoxrResampler.processChunk (C:\Users..\AppData\Local\Programs\soundsync\resources\app\node_modules\wasm-audio-resampler\app\soxr_resampler.js:66:19)
at AirplaySink.handleAudioChunk (C:\Users\csa..nj\AppData\Local\Programs\soundsync\resources\app\audio\sinks\airplay_sink.js:54:46)
at Minipass.AudioSink._handleAudioChunk (C:\Users...\AppData\Local\Programs\soundsync\resources\app\audio\sinks\audio_sink.js:93:18)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (C:\Users..\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
at Minipass.write (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
at C:\Users...\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:70
at Array.forEach ()
at Minipass. (C:\Users..\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:43)
at Minipass.emit (events.js:310:20)
at Minipass.EventEmitter.emit (domain.js:482:12)
at Minipass.emit (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
at Minipass.write (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
at Yallist. (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:376:18)
at Yallist.forEach (C:\Users...\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\node_modules\yallist\yallist.js:156:8)

TypeError: Cannot read property 'packetSender' of undefined at AirplaySpeaker.pushAudioChunk

This happens every time I try playing form Windows 11 to Kodi via AirPlay:

TypeError: Cannot read property 'packetSender' of undefined
    at AirplaySpeaker.pushAudioChunk (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\utils\vendor_integrations\airplay\airplaySpeaker.js:98:30)
    at AirplaySink.handleAudioChunk (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\audio\sinks\airplay_sink.js:52:26)
    at Minipass.AudioSink._handleAudioChunk (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\audio\sinks\audio_sink.js:101:18)
    at Minipass.emit (events.js:310:20)
    at Minipass.EventEmitter.emit (domain.js:482:12)
    at Minipass.emit (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
    at Minipass.write (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
    at C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:70
    at Array.forEach (<anonymous>)
    at Minipass.<anonymous> (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\audio\sources\audio_source.js:50:43)
    at Minipass.emit (events.js:310:20)
    at Minipass.EventEmitter.emit (domain.js:482:12)
    at Minipass.emit (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:416:25)
    at Minipass.write (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:162:12)
    at Yallist.<anonymous> (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\index.js:376:18)
    at Yallist.forEach (C:\Users\rages\AppData\Local\Programs\soundsync\resources\app\node_modules\minipass\node_modules\yallist\yallist.js:156:8)

Typos

Great project. Is this the right place to report typos?

On the Add a New Spotify Source window, maybe change second paragraph to the following.

"Optional. Link account for use when not connected to your local "network.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.