From f1fec7992df2b01acd078b6c0f47d67eb1628d06 Mon Sep 17 00:00:00 2001 From: Dooho Yi Date: Mon, 4 Oct 2021 23:52:24 +0900 Subject: [PATCH] 0set v1.1 update --- 0-set-group.list | 172 ++++++ @postman/src/main.cpp | 72 +-- @sampler/src/main.cpp | 32 +- post.h | 350 ++++++++---- puredata/radio_0set_hyhome.pd | 988 +++++++++++++++++++++------------- 5 files changed, 1110 insertions(+), 504 deletions(-) create mode 100644 0-set-group.list diff --git a/0-set-group.list b/0-set-group.list new file mode 100644 index 0000000..0381319 --- /dev/null +++ b/0-set-group.list @@ -0,0 +1,172 @@ +==== ADDRESSBOOK ==== + +1- my id: 20001, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:0A:07, channel: 5 +2- my id: 20002, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: EC:FA:BC:63:19:84, channel: 5 +3- my id: 20003, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 98:F4:AB:B3:B4:19, channel: 5 +4- my id: 20004, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 98:F4:AB:B3:B4:DD, channel: 5 +5- my id: 20005, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: BC:DD:C2:14:74:D2, channel: 5 +6- my id: 20006, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: BC:DD:C2:14:75:6F, channel: 5 +7- my id: 20007, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:45:F5, channel: 5 +8- my id: 20008, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 84:CC:A8:A3:A7:B5, channel: 5 +9- my id: 20009, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:11:E6, channel: 5 +a- my id: 20010, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: BC:DD:C2:14:63:8E, channel: 5 +b- my id: 20011, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 98:F4:AB:B3:BA:44, channel: 5 +c- my id: 20012, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 5C:CF:7F:B8:B6:80, channel: 5 +d- my id: 20013, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:18:AE, channel: 5 +e- my id: 20014, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 98:F4:AB:B3:B5:C2, channel: 5 +f- my id: 20015, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:37:AE, channel: 5 +g- my id: 20016, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: BC:DD:C2:B2:AF:D4, channel: 5 +h- my id: 20017, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 68:C6:3A:D5:3E:F3, channel: 5 +i- my id: 20018, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: B4:E6:2D:37:09:92, channel: 5 +j- my id: 20019, gid: 20000, call me ==> "@POSTMAN|@SAMPLER"- mac address: 5C:CF:7F:B7:55:98, channel: 5 + +repeaters +10- my id: 21010, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: A8:48:FA:CD:29:76, channel: 5 +11- my id: 21011, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 30:83:98:B1:D2:66, channel: 5 +12- my id: 21012, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 30:83:98:B2:77:E6, channel: 5 +13- my id: 21013, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 30:83:98:B2:6C:7B, channel: 5 +14- my id: 21014, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 60:01:94:38:20:5B, channel: 5 +15- my id: 21015, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: A8:48:FA:CD:47:84, channel: 5 +16- my id: 21016, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: A8:48:FA:CD:43:A7, channel: 5 +17- my id: 21017, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: B4:E6:2D:37:3B:90, channel: 5 +18- my id: 21018, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: A8:48:FA:CD:1C:53, channel: 5 +19- my id: 21019, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 80:7D:3A:58:87:2D, channel: 5 +20- my id: 21020, gid: 20000, call me ==> "@POSTMAN|REPEATER"- mac address: 30:83:98:B1:18:B4, channel: 5 + + +==== GROUPS ==== +[slopeway] => 5 11 8 12 a + c 2 13 4 i j e f 19 7 6 +5 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:74:D2 +11 : "@POSTMAN|REPEATER" => 30:83:98:B1:D2:66 +8 : "@POSTMAN|@SAMPLER" => 84:CC:A8:A3:A7:B5 +12 : "@POSTMAN|REPEATER" => 30:83:98:B2:77:E6 +a : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:63:8E ++ +c : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B8:B6:80 +2 : "@POSTMAN|@SAMPLER" => EC:FA:BC:63:19:84 +13 : "@POSTMAN|REPEATER" => 30:83:98:B2:6C:7B +4 : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B4:DD +i : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:09:92 +j : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B7:55:98 +e : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B5:C2 +f : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:37:AE +19 : "@POSTMAN|REPEATER" => 80:7D:3A:58:87:2D +7 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:45:F5 +6 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:75:6F ++ +broadcast +---------------- +[1st floor] => c 2 10 b 14 3 + slopeway(5 11 8 12 a) +c : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B8:B6:80 +2 : "@POSTMAN|@SAMPLER" => EC:FA:BC:63:19:84 +10 : "@POSTMAN|REPEATER" => A8:48:FA:CD:29:76 +b : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:BA:44 +14 : "@POSTMAN|REPEATER" => 60:01:94:38:20:5B +3 : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B4:19 ++ +5 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:74:D2 +11 : "@POSTMAN|REPEATER" => 30:83:98:B1:D2:66 +8 : "@POSTMAN|@SAMPLER" => 84:CC:A8:A3:A7:B5 +12 : "@POSTMAN|REPEATER" => 30:83:98:B2:77:E6 +a : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:63:8E ++ +broadcast +---------------- +[2nd floor] => 4 j i 13 e f h + slopeway(5 11 8 12 a) + bridge(15 16 1 17) +4 : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B4:DD +j : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B7:55:98 +i : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:09:92 +13 : "@POSTMAN|REPEATER" => 30:83:98:B2:6C:7B +e : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B5:C2 +f : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:37:AE +h : "@POSTMAN|@SAMPLER" => 68:C6:3A:D5:3E:F3 ++ +5 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:74:D2 +11 : "@POSTMAN|REPEATER" => 30:83:98:B1:D2:66 +8 : "@POSTMAN|@SAMPLER" => 84:CC:A8:A3:A7:B5 +12 : "@POSTMAN|REPEATER" => 30:83:98:B2:77:E6 +a : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:63:8E ++ +15 : "@POSTMAN|REPEATER" => A8:48:FA:CD:47:84 +16 : "@POSTMAN|REPEATER" => A8:48:FA:CD:43:A7 +1 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:0A:07 +17 : "@POSTMAN|REPEATER" => B4:E6:2D:37:3B:90 ++ +broadcast +---------------- +[bridge] => 15 16 1 17 + h 13 18 9 +15 : "@POSTMAN|REPEATER" => A8:48:FA:CD:47:84 +16 : "@POSTMAN|REPEATER" => A8:48:FA:CD:43:A7 +1 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:0A:07 +17 : "@POSTMAN|REPEATER" => B4:E6:2D:37:3B:90 ++ +h : "@POSTMAN|@SAMPLER" => 68:C6:3A:D5:3E:F3 +13 : "@POSTMAN|REPEATER" => 30:83:98:B2:6C:7B +18 : "@POSTMAN|REPEATER" => A8:48:FA:CD:1C:53 +9 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:11:E6 ++ +broadcast +---------------- +[2nd floor annex] => 18 g 9 + bridge(15 16 1 17) +18 : "@POSTMAN|REPEATER" => A8:48:FA:CD:1C:53 +g : "@POSTMAN|@SAMPLER" => BC:DD:C2:B2:AF:D4 +9 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:11:E6 ++ +15 : "@POSTMAN|REPEATER" => A8:48:FA:CD:47:84 +16 : "@POSTMAN|REPEATER" => A8:48:FA:CD:43:A7 +1 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:0A:07 +17 : "@POSTMAN|REPEATER" => B4:E6:2D:37:3B:90 ++ +broadcast +---------------- +[3rd floor] => 7 19 20 6 d + slopeway(5 11 8 12 a) +7 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:45:F5 +19 : "@POSTMAN|REPEATER" => 80:7D:3A:58:87:2D +20 : "@POSTMAN|REPEATER" => 30:83:98:B1:18:B4 +6 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:75:6F +d : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:18:AE ++ +5 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:74:D2 +11 : "@POSTMAN|REPEATER" => 30:83:98:B1:D2:66 +8 : "@POSTMAN|@SAMPLER" => 84:CC:A8:A3:A7:B5 +12 : "@POSTMAN|REPEATER" => 30:83:98:B2:77:E6 +a : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:63:8E +---------------- + + + + + + +1 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:0A:07 [bridge] +2 : "@POSTMAN|@SAMPLER" => EC:FA:BC:63:19:84 [1st floor] +3 : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B4:19 [1st floor] +4 : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B4:DD [2nd floor] +5 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:74:D2 [slopeway] +6 : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:75:6F [3rd floor] +7 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:45:F5 [3rd floor] +8 : "@POSTMAN|@SAMPLER" => 84:CC:A8:A3:A7:B5 [slopeway] +9 : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:11:E6 [2nd floor annex] +a : "@POSTMAN|@SAMPLER" => BC:DD:C2:14:63:8E [slopeway] +b : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:BA:44 [1st floor] +c : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B8:B6:80 [1st floor] +d : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:18:AE [3rd floor] +e : "@POSTMAN|@SAMPLER" => 98:F4:AB:B3:B5:C2 [2nd floor] +f : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:37:AE [2nd floor] +g : "@POSTMAN|@SAMPLER" => BC:DD:C2:B2:AF:D4 [2nd floor annex] +h : "@POSTMAN|@SAMPLER" => 68:C6:3A:D5:3E:F3 [2nd floor] +i : "@POSTMAN|@SAMPLER" => B4:E6:2D:37:09:92 [2nd floor] +j : "@POSTMAN|@SAMPLER" => 5C:CF:7F:B7:55:98 [2nd floor] + + +10 : "@POSTMAN|REPEATER" => A8:48:FA:CD:29:76 [1st floor] +11 : "@POSTMAN|REPEATER" => 30:83:98:B1:D2:66 [slopeway] +12 : "@POSTMAN|REPEATER" => 30:83:98:B2:77:E6 [slopeway] +13 : "@POSTMAN|REPEATER" => 30:83:98:B2:6C:7B [2nd floor] +14 : "@POSTMAN|REPEATER" => 60:01:94:38:20:5B [1st floor] +15 : "@POSTMAN|REPEATER" => A8:48:FA:CD:47:84 [bridge] +16 : "@POSTMAN|REPEATER" => A8:48:FA:CD:43:A7 [bridge] +17 : "@POSTMAN|REPEATER" => B4:E6:2D:37:3B:90 [bridge] +18 : "@POSTMAN|REPEATER" => A8:48:FA:CD:1C:53 [2nd floor annex] +19 : "@POSTMAN|REPEATER" => 80:7D:3A:58:87:2D [3rd floor] +20 : "@POSTMAN|REPEATER" => 30:83:98:B1:18:B4 [3rd floor] diff --git a/@postman/src/main.cpp b/@postman/src/main.cpp index f192518..b263525 100644 --- a/@postman/src/main.cpp +++ b/@postman/src/main.cpp @@ -23,9 +23,11 @@ //======================== // #define MY_GROUP_ID (20000) -#define MY_ID (MY_GROUP_ID + 999) +#define MY_ID (MY_GROUP_ID + 1000 + 999) #define MY_SIGN ("@POSTMAN|REPEATER") // +#define ADDRESSBOOK_TITLE ("1st floor") +// //======================== //===================== @@ -49,17 +51,12 @@ // 'HAVE_CLIENT_I2C' // --> i have a client w/ I2C i/f. enable the I2C client task. // -// 'USE_ALTERNATIVE_ADDRESSES' -// --> peer list limited max. 20. -// so, we have alternative address book that covers after 20th. -// //==================== // #define HAVE_CLIENT_I2C #define DISABLE_AP // #define SERIAL_SWAP #define REPLICATE_NOTE_REQ -// #define USE_ALTERNATIVE_ADDRESSES //======================== // @@ -372,38 +369,41 @@ void setup() { esp_now_set_self_role(ESP_NOW_ROLE_COMBO); esp_now_register_send_cb(onDataSent); esp_now_register_recv_cb(onDataReceive); - // - Serial.println("- ! (esp_now_add_peer) ==> add a 'broadcast peer' (FF:FF:FF:FF:FF:FF)."); - uint8_t broadcastmac[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; - // option 1-1)) broadcast to all. for ESP8266 - esp_now_add_peer(broadcastmac, ESP_NOW_ROLE_COMBO, 1, NULL, 0); - - // // option 1-2)) broadcast to all. for ESP32 - // esp_now_peer_info_t peerInfo; - // memcpy(peerInfo.peer_addr, broadcastmac, 6); - // peerInfo.channel = 0; - // peerInfo.encrypt = false; - // esp_now_add_peer(&peerInfo); - -// // option 2)) according to the addressbook. -// #if defined(USE_ALTERNATIVE_ADDRESSES) -// AddressBook * book = lib.getBookByTitle("audioooo alt"); -// #else -// AddressBook * book = lib.getBookByTitle("audioooo"); + //fetch & read addressbook + String addressbook_title = ADDRESSBOOK_TITLE; +// #if defined(ADDRESSBOOK_TITLE_CLI) +// addressbook_title = ADDRESSBOOK_TITLE_CLI; // #endif -// for (int idx = 0; idx < book->list.size(); idx++) { -// Serial.println("- ! (esp_now_add_peer) ==> add a '" + book->list[idx].name + "'."); -// #if defined(ESP32) -// esp_now_peer_info_t peerInfo; -// memcpy(peerInfo.peer_addr, book->list[idx].mac, 6); -// peerInfo.channel = 0; -// peerInfo.encrypt = false; -// esp_now_add_peer(&peerInfo); -// #else -// esp_now_add_peer(book->list[idx].mac, ESP_NOW_ROLE_COMBO, 1, NULL, 0); -// #endif -// } +// +// NOTE: there is a way to give a define value here like: +// export PLATFORMIO_SRC_BUILD_FLAGS="'-DADDRESSBOOK_TITLE_CLI=\"broadcast only\"'" && pio run +// but, everytime i change this, whole arduino framework + libraries rebuild. +// PLATFORMIO_SRC_BUILD_FLAGS supposed to work only to src/ but strange. +// this takes up too much time, not really haptic. later, investigate the issues. +// + AddressBook * book = lib.getBookByTitle(addressbook_title); + if (book == NULL) { + Serial.println("- ! wrong book !! :" + addressbook_title); while(1); + } else { + Serial.println("- ! reading book ...."); + Serial.println(" -----------------"); + Serial.println(" { " + addressbook_title + " }"); + Serial.println(" -----------------"); + Serial.println(); + } + for (int idx = 0; idx < book->list.size(); idx++) { + Serial.println("- ! (esp_now_add_peer) ==> add a '" + book->list[idx].name + "'."); +#if defined(ESP32) + esp_now_peer_info_t peerInfo; + memcpy(peerInfo.peer_addr, book->list[idx].mac, 6); + peerInfo.channel = 0; + peerInfo.encrypt = false; + esp_now_add_peer(&peerInfo); +#else + esp_now_add_peer(book->list[idx].mac, ESP_NOW_ROLE_COMBO, 1, NULL, 0); +#endif + } // Serial.println("-"); Serial.println("\".-.-.-. :)\""); diff --git a/@sampler/src/main.cpp b/@sampler/src/main.cpp index 19292c3..df25648 100644 --- a/@sampler/src/main.cpp +++ b/@sampler/src/main.cpp @@ -35,10 +35,32 @@ //======================== // +// #define IDLE_FREQ 50 +// #define IDLE_AMP 0.05 +// #define IDLE_OFFTIME 60 //sec +// #define IDLE_ONTIME 1 //sec +// ^--- FAILED +// #define IDLE_FREQ 50 +// #define IDLE_AMP 0.05 +// #define IDLE_OFFTIME 300 //sec +// #define IDLE_ONTIME 30 //sec +// ^--- FAILED +// == TESTING === C selected (prematurely) #define IDLE_FREQ 50 -#define IDLE_AMP 0.05 -#define IDLE_OFFTIME 60 //sec -#define IDLE_ONTIME 1 //sec +#define IDLE_AMP 0.1 +#define IDLE_OFFTIME 150 //sec +#define IDLE_ONTIME 15 //sec +// == TESTING === 5 +// #define IDLE_FREQ 22000 +// #define IDLE_AMP 0.05 +// #define IDLE_OFFTIME 60 //sec +// #define IDLE_ONTIME 10 //sec +// // == TESTING === A +// #define IDLE_FREQ 22000 +// #define IDLE_AMP 0.05 +// #define IDLE_OFFTIME 1 //sec (min 1) +// #define IDLE_ONTIME 10 //sec + // #define GAIN_FACTOR 1.0 // this is a private multiplier for this module. // @@ -159,11 +181,11 @@ void idle_noise() { elapsed_sec++; } // - if (active == false && elapsed_sec == IDLE_OFFTIME) { + if (active == false && elapsed_sec >= IDLE_OFFTIME) { active = true; elapsed_sec = 0; sine1.amplitude(IDLE_AMP); - } else if (active == true && elapsed_sec == IDLE_ONTIME) { + } else if (active == true && elapsed_sec >= IDLE_ONTIME) { active = false; elapsed_sec = 0; sine1.amplitude(0); diff --git a/post.h b/post.h index d65b1a7..32ce904 100644 --- a/post.h +++ b/post.h @@ -59,115 +59,263 @@ struct AddressLibrary { // AddressLibrary() { - // book #1 + // book #0 - broadcast only { - AddressBook book = AddressBook("root"); + AddressBook book = AddressBook("broadcast only"); // - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x3B, 0x90, "root/osc")); - book.add(Address(0x68, 0xC6, 0x3A, 0xD7, 0x4D, 0x97, "root(2)/osc")); + // [broadcast only] + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast // lib.push_back(book); } - // book #2 - { - AddressBook book = AddressBook("friend"); - // - // 01 - 10 - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x47, "green suitcase - cricket/124")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0x32, "green suitcase - cricket/127")); - book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x56, 0x11, "gastank - taak/150")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xCC, "gastank - cricket/128")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x64, "roundlys - roundly/2000")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB8, 0x1E, "roundlys - roundly/2001")); - book.add(Address(0x80, 0x7D, 0x3A, 0x58, 0x80, 0x30, "buoyfly - cricket/121")); - book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x4A, 0xCC, "buoyfly - cricket/122")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xD4, "buoyfly - cricket/123")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xE2, "buoyfly - cricket/129")); - // 11 - 20 - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB6, 0xC6, "buoyfly - cricket/130")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xA3, "buoyfly - cricket/131")); - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xB8, "blue drummer - cricket/120")); - book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0x83, 0x80, "blue drummer - taak/154")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xCF, "blue drummer - taak/153")); - book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x17, 0x8D, "frog eyes - taak/151")); - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB9, 0xB4, "untitled - gonggong/1000")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x28, "beak - taak/157")); - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xEF, "yellow - cricket/125")); - book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x78, 0x87, "yellow - cricket/126")); - // - lib.push_back(book); - } - // book #3 - { - AddressBook book = AddressBook("sampler"); - // - // samplers don't have ID_KEY, they will just get all messages, - // then open the content to get **midi** 'key' in the 'note' message. - book.add(Address(0xBC, 0xDD, 0xC2, 0xB2, 0xAF, 0xD4, "@postman for @sampler")); - // - lib.push_back(book); - } - // book #4 - { - AddressBook book = AddressBook("audioooo"); - // - book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAE, 0x0C, "audioooo #1 (Q)")); //WROOM <- sender(the Q injector) - book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAD, 0xB0, "audioooo #2")); //WROOM - book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x78, "audioooo #3")); //WROVER (==> audioooo alt) - book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x5C, "audioooo #4")); //WROVER (==> audioooo alt) - book.add(Address(0xA8, 0x03, 0x2A, 0x75, 0xD0, 0x68, "audioooo #5")); //WROVER (==> audioooo alt) - // - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "sampler #1")); //TEENSY+ESP8266 - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "sampler #2")); //TEENSY+ESP8266 - book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "sampler #3")); //TEENSY+ESP8266 - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0x19, "sampler #4")); //TEENSY+ESP8266 - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xBA, 0x44, "sampler #5")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "sampler #6")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "sampler #7")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "sampler #8")); //TEENSY+ESP8266 (==> audioooo alt) - // (alternative list) - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x45, 0xF5, "sampler #9")); //TEENSY+ESP8266 - book.add(Address(0xBC, 0xDD, 0xC2, 0xB2, 0xAF, 0xD4, "sampler #A")); //TEENSY+ESP8266 - book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "sampler #B")); //TEENSY+ESP8266 - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x11, 0xE6, "sampler #C")); //TEENSY+ESP8266 - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x18, 0xAE, "sampler #D")); //TEENSY+ESP8266 - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x0A, 0x07, "sampler #E")); //TEENSY+ESP8266 - book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast (ESP32 will ignore this, but ESP8266 will do process this. let's expect them to work!) - // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0x21, "sampler #F")); //TEENSY+ESP8266 //20 sets => FULL - // + we have 5 more un-registered devices. esp8266 devices will broadcast for them. hopely all get to contact w/ msg. on time. - lib.push_back(book); - } - // book #5 - { - AddressBook book = AddressBook("audioooo alt"); - // - book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAE, 0x0C, "audioooo #1 (Q)")); //WROOM <- sender(the Q injector) - book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAD, 0xB0, "audioooo #2")); //WROOM - book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x78, "audioooo #3")); //WROVER - book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x5C, "audioooo #4")); //WROVER - book.add(Address(0xA8, 0x03, 0x2A, 0x75, 0xD0, 0x68, "audioooo #5")); //WROVER - // - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "sampler #1")); //TEENSY+ESP8266 - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "sampler #2")); //TEENSY+ESP8266 - book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "sampler #3")); //TEENSY+ESP8266 - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0x19, "sampler #4")); //TEENSY+ESP8266 - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xBA, 0x44, "sampler #5")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "sampler #6")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "sampler #7")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "sampler #8")); //TEENSY+ESP8266 (==> audioooo alt) - // (alternative list) - book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x75, 0x6F, "huzzah #F")); //TEENSY+HUZZAH (==> audioooo alt) - book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "huzzah #G")); //TEENSY+HUZZAH (==> audioooo alt) - book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "huzzah #H")); //TEENSY+HUZZAH (==> audioooo alt) - book.add(Address(0x5C, 0xCF, 0x7F, 0xB8, 0xB6, 0x80, "sampler #I")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB6, 0xEC, "sampler #J")); //TEENSY+ESP8266 (==> audioooo alt) - book.add(Address(0x5C, 0xCF, 0x7F, 0xB7, 0x55, 0x98, "sampler #K")); //TEENSY+ESP8266 (==> audioooo alt) - // - book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast ... (unstable.. especially esp32) - lib.push_back(book); + // 0set프로젝트 <관람모드-있는 방식> + // book #1 - slopeway + { + AddressBook book = AddressBook("slopeway"); + // + // [slopeway] => 5 11 8 12 a + c 2 13 4 i j e f 19 7 6 + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "slopeway 5 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB1, 0xD2, 0x66, "slopeway 11")); + book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "slopeway 8 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x77, 0xE6, "slopeway 12")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "slopeway a ")); + //+ + book.add(Address(0x5C, 0xCF, 0x7F, 0xB8, 0xB6, 0x80, "slopeway+ c ")); + book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "slopeway+ 2 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x6C, 0x7B, "slopeway+ 13")); + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "slopeway+ 4 ")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "slopeway+ i ")); //10 + book.add(Address(0x5C, 0xCF, 0x7F, 0xB7, 0x55, 0x98, "slopeway+ j ")); + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "slopeway+ e ")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "slopeway+ f ")); + book.add(Address(0x80, 0x7D, 0x3A, 0x58, 0x87, 0x2D, "slopeway+ 19")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x45, 0xF5, "slopeway+ 7 ")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x75, 0x6F, "slopeway+ 6 ")); + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //17 + // + lib.push_back(book); } + // book #2 - 1st floor + { + AddressBook book = AddressBook("1st floor"); + // + // [1st floor] => c 2 10 b 14 3 + slopeway(5 11 8 12 a) + book.add(Address(0x5C, 0xCF, 0x7F, 0xB8, 0xB6, 0x80, "1st floor c")); + book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "1st floor 2")); + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x29, 0x76, "1st floor 10")); + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xBA, 0x44, "1st floor b")); + book.add(Address(0x60, 0x01, 0x94, 0x38, 0x20, 0x5B, "1st floor 14")); + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0x19, "1st floor 3")); //6 + //+ + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "slopeway 5 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB1, 0xD2, 0x66, "slopeway 11")); + book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "slopeway 8 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x77, 0xE6, "slopeway 12")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "slopeway a ")); + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //12 + // + lib.push_back(book); + } + // book #3 - 2nd floor + { + AddressBook book = AddressBook("2nd floor"); + // + // [2nd floor] => 4 j i 13 e f h + slopeway(5 11 8 12 a) + bridge(15 16 1 17) + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "2nd floor 4")); + book.add(Address(0x5C, 0xCF, 0x7F, 0xB7, 0x55, 0x98, "2nd floor j")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "2nd floor i")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x6C, 0x7B, "2nd floor 13")); + book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "2nd floor e")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "2nd floor f")); + book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "2nd floor h")); //7 + //+ + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "slopeway 5 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB1, 0xD2, 0x66, "slopeway 11")); + book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "slopeway 8 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x77, 0xE6, "slopeway 12")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "slopeway a ")); //12 + //+ + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x47, 0x84, "bridge 15")); + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x43, 0xA7, "bridge 16")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x0A, 0x07, "bridge 1")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x3B, 0x90, "bridge 17")); //16 + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //17 + // + lib.push_back(book); + } + // book #4 - bridge + { + AddressBook book = AddressBook("bridge"); + // + // [bridge] => 15 16 1 17 + h 13 18 9 + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x47, 0x84, "bridge 15")); + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x43, 0xA7, "bridge 16")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x0A, 0x07, "bridge 1")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x3B, 0x90, "bridge 17")); //4 + //+ + book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "bridge+ h")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x6C, 0x7B, "bridge+ 13")); + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x1C, 0x53, "bridge+ 18")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x11, 0xE6, "bridge+ 9")); //8 + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //9 + // + lib.push_back(book); + } + // book #5 - 2nd floor annex + { + AddressBook book = AddressBook("2nd floor annex"); + // + // [2nd floor annex] => 18 g 9 + bridge(15 16 1 17) + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x1C, 0x53, "2nd floor annex 18")); + book.add(Address(0xBC, 0xDD, 0xC2, 0xB2, 0xAF, 0xD4, "2nd floor annex g")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x11, 0xE6, "2nd floor annex 9")); + //+ + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x47, 0x84, "bridge 15")); + book.add(Address(0xA8, 0x48, 0xFA, 0xCD, 0x43, 0xA7, "bridge 16")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x0A, 0x07, "bridge 1")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x3B, 0x90, "bridge 17")); + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //8 + // + lib.push_back(book); + } + // book #6 - 3rd floor + { + AddressBook book = AddressBook("3rd floor"); + // + // [3rd floor] => 7 19 20 6 d + slopeway(5 11 8 12 a) + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x45, 0xF5, "3rd floor 7")); + book.add(Address(0x80, 0x7D, 0x3A, 0x58, 0x87, 0x2D, "3rd floor 19")); + book.add(Address(0x30, 0x83, 0x98, 0xB1, 0x18, 0xB4, "3rd floor 20")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x75, 0x6F, "3rd floor 6")); + book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x18, 0xAE, "3rd floor d")); + //+ + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "slopeway 5 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB1, 0xD2, 0x66, "slopeway 11")); + book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "slopeway 8 ")); + book.add(Address(0x30, 0x83, 0x98, 0xB2, 0x77, 0xE6, "slopeway 12")); + book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "slopeway a ")); + //+ + book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast //11 + // + lib.push_back(book); + } + + // -- ARCHIVED + // // 0set프로젝트 <거리두기> [살아갈, 사라진, 사람들: 2021 세월호] + // + // // book #1 + // { + // AddressBook book = AddressBook("root"); + // // + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x3B, 0x90, "root/osc")); + // book.add(Address(0x68, 0xC6, 0x3A, 0xD7, 0x4D, 0x97, "root(2)/osc")); + // // + // lib.push_back(book); + // } + // // book #2 + // { + // AddressBook book = AddressBook("friend"); + // // + // // 01 - 10 + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x47, "green suitcase - cricket/124")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0x32, "green suitcase - cricket/127")); + // book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x56, 0x11, "gastank - taak/150")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xCC, "gastank - cricket/128")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x64, "roundlys - roundly/2000")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB8, 0x1E, "roundlys - roundly/2001")); + // book.add(Address(0x80, 0x7D, 0x3A, 0x58, 0x80, 0x30, "buoyfly - cricket/121")); + // book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x4A, 0xCC, "buoyfly - cricket/122")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xD4, "buoyfly - cricket/123")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xE2, "buoyfly - cricket/129")); + // // 11 - 20 + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB6, 0xC6, "buoyfly - cricket/130")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xA3, "buoyfly - cricket/131")); + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xB8, "blue drummer - cricket/120")); + // book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0x83, 0x80, "blue drummer - taak/154")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0xCF, "blue drummer - taak/153")); + // book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x17, 0x8D, "frog eyes - taak/151")); + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB9, 0xB4, "untitled - gonggong/1000")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB4, 0x28, "beak - taak/157")); + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB3, 0xEF, "yellow - cricket/125")); + // book.add(Address(0x84, 0xCC, 0xA8, 0xAA, 0x78, 0x87, "yellow - cricket/126")); + // // + // lib.push_back(book); + // } + // // book #3 + // { + // AddressBook book = AddressBook("sampler"); + // // + // // samplers don't have ID_KEY, they will just get all messages, + // // then open the content to get **midi** 'key' in the 'note' message. + // book.add(Address(0xBC, 0xDD, 0xC2, 0xB2, 0xAF, 0xD4, "@postman for @sampler")); + // // + // lib.push_back(book); + // } + // // book #4 + // { + // AddressBook book = AddressBook("audioooo"); + // // + // book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAE, 0x0C, "audioooo #1 (Q)")); //WROOM <- sender(the Q injector) + // book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAD, 0xB0, "audioooo #2")); //WROOM + // book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x78, "audioooo #3")); //WROVER (==> audioooo alt) + // book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x5C, "audioooo #4")); //WROVER (==> audioooo alt) + // book.add(Address(0xA8, 0x03, 0x2A, 0x75, 0xD0, 0x68, "audioooo #5")); //WROVER (==> audioooo alt) + // // + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "sampler #1")); //TEENSY+ESP8266 + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "sampler #2")); //TEENSY+ESP8266 + // book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "sampler #3")); //TEENSY+ESP8266 + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0x19, "sampler #4")); //TEENSY+ESP8266 + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xBA, 0x44, "sampler #5")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "sampler #6")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "sampler #7")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "sampler #8")); //TEENSY+ESP8266 (==> audioooo alt) + // // (alternative list) + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x45, 0xF5, "sampler #9")); //TEENSY+ESP8266 + // book.add(Address(0xBC, 0xDD, 0xC2, 0xB2, 0xAF, 0xD4, "sampler #A")); //TEENSY+ESP8266 + // book.add(Address(0x84, 0xCC, 0xA8, 0xA3, 0xA7, 0xB5, "sampler #B")); //TEENSY+ESP8266 + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x11, 0xE6, "sampler #C")); //TEENSY+ESP8266 + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x18, 0xAE, "sampler #D")); //TEENSY+ESP8266 + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x0A, 0x07, "sampler #E")); //TEENSY+ESP8266 + // book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast (ESP32 will ignore this, but ESP8266 will do process this. let's expect them to work!) + // // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB7, 0x21, "sampler #F")); //TEENSY+ESP8266 //20 sets => FULL + // // + we have 5 more un-registered devices. esp8266 devices will broadcast for them. hopely all get to contact w/ msg. on time. + // lib.push_back(book); + // } + // // book #5 + // { + // AddressBook book = AddressBook("audioooo alt"); + // // + // book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAE, 0x0C, "audioooo #1 (Q)")); //WROOM <- sender(the Q injector) + // book.add(Address(0xAC, 0x67, 0xB2, 0x0B, 0xAD, 0xB0, "audioooo #2")); //WROOM + // book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x78, "audioooo #3")); //WROVER + // book.add(Address(0xA8, 0x03, 0x2A, 0x6C, 0x88, 0x5C, "audioooo #4")); //WROVER + // book.add(Address(0xA8, 0x03, 0x2A, 0x75, 0xD0, 0x68, "audioooo #5")); //WROVER + // // + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0xDD, "sampler #1")); //TEENSY+ESP8266 + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x37, 0xAE, "sampler #2")); //TEENSY+ESP8266 + // book.add(Address(0xEC, 0xFA, 0xBC, 0x63, 0x19, 0x84, "sampler #3")); //TEENSY+ESP8266 + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB4, 0x19, "sampler #4")); //TEENSY+ESP8266 + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xBA, 0x44, "sampler #5")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0x98, 0xF4, 0xAB, 0xB3, 0xB5, 0xC2, "sampler #6")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0xB4, 0xE6, 0x2D, 0x37, 0x09, 0x92, "sampler #7")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0x68, 0xC6, 0x3A, 0xD5, 0x3E, 0xF3, "sampler #8")); //TEENSY+ESP8266 (==> audioooo alt) + // // (alternative list) + // book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x75, 0x6F, "huzzah #F")); //TEENSY+HUZZAH (==> audioooo alt) + // book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x63, 0x8E, "huzzah #G")); //TEENSY+HUZZAH (==> audioooo alt) + // book.add(Address(0xBC, 0xDD, 0xC2, 0x14, 0x74, 0xD2, "huzzah #H")); //TEENSY+HUZZAH (==> audioooo alt) + // book.add(Address(0x5C, 0xCF, 0x7F, 0xB8, 0xB6, 0x80, "sampler #I")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0xF4, 0xCF, 0xA2, 0xED, 0xB6, 0xEC, "sampler #J")); //TEENSY+ESP8266 (==> audioooo alt) + // book.add(Address(0x5C, 0xCF, 0x7F, 0xB7, 0x55, 0x98, "sampler #K")); //TEENSY+ESP8266 (==> audioooo alt) + // // + // book.add(Address(0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, "BROADCAST")); //a broadcast ... (unstable.. especially esp32) + // lib.push_back(book); } // AddressBook* getBookByTitle(String title_) { diff --git a/puredata/radio_0set_hyhome.pd b/puredata/radio_0set_hyhome.pd index 4fe2e40..8457704 100644 --- a/puredata/radio_0set_hyhome.pd +++ b/puredata/radio_0set_hyhome.pd @@ -1,4 +1,4 @@ -#N canvas 503 89 602 428 12; +#N canvas 503 89 677 473 12; #N canvas 240 89 701 438 wireless 0; #X obj 359 305 spigot; #X obj 408 290 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 @@ -102,20 +102,15 @@ pollintervall 1; #X connect 24 1 5 0; #X connect 24 2 3 1; #X connect 26 0 3 1; -#X restore 38 68 pd wireless; -#N canvas 1 89 1023 683 floors 0; -#X floatatom 366 103 5 0 0 1 sampleN - -; -#X floatatom 466 103 5 0 0 1 speakerID - -; -#X obj 276 36 t a b b b; -#X msg 296 78 40; -#X floatatom 296 103 5 0 0 1 vol - -; -#X msg 466 162 30; -#X obj 466 137 loadbang; +#X restore 578 67 pd wireless; +#N canvas 1 89 997 775 floors 0; +#X msg 356 87 40; +#X floatatom 356 112 5 0 0 0 vol - -; #N canvas 843 285 450 405 send 0; #X obj 56 228 metro; #X obj 44 364 s NOTE; #X obj 24 273 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X obj 128 134 tabread length; #X obj 128 109 - 1; #X floatatom 128 159 5 0 0 0 - - -; @@ -124,17 +119,18 @@ pollintervall 1; #X obj 44 313 pack f f f f; #X obj 128 183 +; #X obj 91 53 inlet; -#X obj 174 72 inlet; -#X obj 214 172 inlet; -#X obj 274 232 inlet; #X obj 24 22 inlet; #X msg 44 338 \$4 \$3 \$2 \$1; #X text 69 21 1 enable; #X text 137 50 2 vol; -#X text 222 73 3 sampleN; -#X text 224 193 4 spkID; -#X text 289 256 5 delay (seconds); #X obj 24 47 t a a; +#X floatatom 162 294 5 0 0 1 speakerID - -; +#X msg 162 269 20003; +#X msg 257 274 30; +#X obj 257 249 loadbang; +#X floatatom 257 90 5 0 0 1 sampleN - -; +#X msg 257 65 22; +#X obj 257 40 loadbang; #X connect 0 0 7 0; #X connect 2 0 8 0; #X connect 3 0 5 0; @@ -142,33 +138,31 @@ pollintervall 1; #X connect 5 0 9 0; #X connect 6 0 0 1; #X connect 7 0 2 0; -#X connect 8 0 15 0; +#X connect 8 0 12 0; #X connect 9 0 6 0; #X connect 10 0 8 1; -#X connect 11 0 4 0; -#X connect 11 0 8 2; -#X connect 12 0 8 3; -#X connect 13 0 9 1; -#X connect 14 0 21 0; -#X connect 15 0 1 0; -#X connect 21 0 2 0; -#X connect 21 1 0 0; -#X restore 276 182 pd send NOTE; -#X msg 366 78 22; -#X msg 466 78 20003; -#X obj 276 16 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 -1 -0 1; -#X floatatom 776 323 5 0 0 1 sampleN - -; -#X floatatom 876 323 5 0 0 1 speakerID - -; -#X obj 686 256 t a b b b; -#X floatatom 706 323 5 0 0 1 vol - -; -#X msg 876 382 30; -#X obj 876 357 loadbang; -#N canvas 843 285 450 405 send 0; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 15 0 2 0; +#X connect 15 1 0 0; +#X connect 16 0 8 3; +#X connect 17 0 16 0; +#X connect 18 0 9 1; +#X connect 19 0 18 0; +#X connect 19 0 17 0; +#X connect 20 0 4 0; +#X connect 20 0 8 2; +#X connect 21 0 20 0; +#X connect 22 0 21 0; +#X restore 316 136 pd send NOTE; +#X obj 316 36 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 -1 +1 1; +#X floatatom 766 362 5 0 0 0 vol - -; +#N canvas 303 322 450 405 send 0; #X obj 56 228 metro; #X obj 44 364 s NOTE; #X obj 24 273 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X obj 128 134 tabread length; #X obj 128 109 - 1; #X floatatom 128 159 5 0 0 0 - - -; @@ -177,17 +171,18 @@ pollintervall 1; #X obj 44 313 pack f f f f; #X obj 128 183 +; #X obj 91 53 inlet; -#X obj 174 72 inlet; -#X obj 214 172 inlet; -#X obj 274 232 inlet; #X obj 24 22 inlet; #X msg 44 338 \$4 \$3 \$2 \$1; #X text 69 21 1 enable; #X text 137 50 2 vol; -#X text 222 73 3 sampleN; -#X text 224 193 4 spkID; -#X text 289 256 5 delay (seconds); #X obj 24 47 t a a; +#X floatatom 162 294 5 0 0 1 speakerID - -; +#X msg 257 274 30; +#X obj 257 249 loadbang; +#X msg 162 269 20017; +#X floatatom 257 90 5 0 0 1 sampleN - -; +#X obj 257 40 loadbang; +#X msg 257 65 15; #X connect 0 0 7 0; #X connect 2 0 8 0; #X connect 3 0 5 0; @@ -195,31 +190,31 @@ pollintervall 1; #X connect 5 0 9 0; #X connect 6 0 0 1; #X connect 7 0 2 0; -#X connect 8 0 15 0; +#X connect 8 0 12 0; #X connect 9 0 6 0; #X connect 10 0 8 1; -#X connect 11 0 4 0; -#X connect 11 0 8 2; -#X connect 12 0 8 3; -#X connect 13 0 9 1; -#X connect 14 0 21 0; -#X connect 15 0 1 0; -#X connect 21 0 2 0; -#X connect 21 1 0 0; -#X restore 686 402 pd send NOTE; -#X obj 686 236 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 --1 0 1; -#X floatatom 116 533 5 0 0 1 sampleN - -; -#X floatatom 216 533 5 0 0 1 speakerID - -; -#X obj 26 466 t a b b b; -#X floatatom 46 533 5 0 0 1 vol - -; -#X msg 216 592 30; -#X obj 216 567 loadbang; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 15 0 2 0; +#X connect 15 1 0 0; +#X connect 16 0 8 3; +#X connect 17 0 9 1; +#X connect 18 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 16 0; +#X connect 20 0 4 0; +#X connect 20 0 8 2; +#X connect 21 0 22 0; +#X connect 22 0 20 0; +#X restore 726 386 pd send NOTE; +#X obj 726 286 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 +-1 1 1; +#X floatatom 106 612 5 0 0 0 vol - -; #N canvas 843 285 450 405 send 0; #X obj 56 228 metro; #X obj 44 364 s NOTE; #X obj 24 273 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X obj 128 134 tabread length; #X obj 128 109 - 1; #X floatatom 128 159 5 0 0 0 - - -; @@ -228,17 +223,18 @@ pollintervall 1; #X obj 44 313 pack f f f f; #X obj 128 183 +; #X obj 91 53 inlet; -#X obj 174 72 inlet; -#X obj 214 172 inlet; -#X obj 274 232 inlet; #X obj 24 22 inlet; #X msg 44 338 \$4 \$3 \$2 \$1; #X text 69 21 1 enable; #X text 137 50 2 vol; -#X text 222 73 3 sampleN; -#X text 224 193 4 spkID; -#X text 289 256 5 delay (seconds); #X obj 24 47 t a a; +#X floatatom 162 294 5 0 0 1 speakerID - -; +#X msg 257 274 30; +#X obj 257 249 loadbang; +#X msg 162 269 20007; +#X floatatom 257 90 5 0 0 1 sampleN - -; +#X obj 257 40 loadbang; +#X msg 257 65 25; #X connect 0 0 7 0; #X connect 2 0 8 0; #X connect 3 0 5 0; @@ -246,101 +242,47 @@ pollintervall 1; #X connect 5 0 9 0; #X connect 6 0 0 1; #X connect 7 0 2 0; -#X connect 8 0 15 0; +#X connect 8 0 12 0; #X connect 9 0 6 0; #X connect 10 0 8 1; -#X connect 11 0 4 0; -#X connect 11 0 8 2; -#X connect 12 0 8 3; -#X connect 13 0 9 1; -#X connect 14 0 21 0; -#X connect 15 0 1 0; -#X connect 21 0 2 0; -#X connect 21 1 0 0; -#X restore 26 612 pd send NOTE; -#X msg 216 508 20007; -#X msg 116 508 25; -#X obj 26 446 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 -1 -0 1; -#X msg 776 298 15; -#X text 793 243 food tray; -#X floatatom 776 523 5 0 0 1 sampleN - -; -#X floatatom 876 523 5 0 0 1 speakerID - -; -#X obj 686 456 t a b b b; -#X floatatom 706 523 5 0 0 1 vol - -; -#X obj 876 557 loadbang; -#N canvas 843 285 450 405 send 0; -#X obj 56 228 metro; -#X obj 44 364 s NOTE; -#X obj 24 273 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; -#X obj 128 134 tabread length; -#X obj 128 109 - 1; -#X floatatom 128 159 5 0 0 0 - - -; -#X obj 128 208 * 1000; -#X msg 56 253 1; -#X obj 44 313 pack f f f f; -#X obj 128 183 +; -#X obj 91 53 inlet; -#X obj 174 72 inlet; -#X obj 214 172 inlet; -#X obj 274 232 inlet; -#X obj 24 22 inlet; -#X msg 44 338 \$4 \$3 \$2 \$1; -#X text 69 21 1 enable; -#X text 137 50 2 vol; -#X text 222 73 3 sampleN; -#X text 224 193 4 spkID; -#X text 289 256 5 delay (seconds); -#X obj 24 47 t a a; -#X connect 0 0 7 0; -#X connect 2 0 8 0; -#X connect 3 0 5 0; -#X connect 4 0 3 0; -#X connect 5 0 9 0; -#X connect 6 0 0 1; -#X connect 7 0 2 0; -#X connect 8 0 15 0; -#X connect 9 0 6 0; -#X connect 10 0 8 1; -#X connect 11 0 4 0; -#X connect 11 0 8 2; -#X connect 12 0 8 3; -#X connect 13 0 9 1; -#X connect 14 0 21 0; -#X connect 15 0 1 0; -#X connect 21 0 2 0; -#X connect 21 1 0 0; -#X restore 686 602 pd send NOTE; -#X obj 686 436 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 --1 0 1; -#X msg 876 498 20009; -#X text 793 443 f2.annex gate; -#X msg 776 498 18; -#X msg 876 298 20017; -#X obj 276 236 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 --1 0 1; -#X msg 316 319 40; -#X floatatom 316 344 5 0 0 1 vol - -; -#X obj 276 256 t a b b b; -#X msg 396 319 40; -#X floatatom 396 344 5 0 0 1 vol - -; -#X obj 486 236 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 --1 0 1; -#X msg 526 319 40; -#X floatatom 526 344 5 0 0 1 vol - -; -#X obj 486 256 t a b b b; -#X msg 606 319 40; -#X floatatom 606 344 5 0 0 1 vol - -; -#X text 383 254 headphone; -#X text 383 268 20 -> 19; -#X text 593 254 headphone; -#X text 593 268 20 -> 19; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 15 0 2 0; +#X connect 15 1 0 0; +#X connect 16 0 8 3; +#X connect 17 0 9 1; +#X connect 18 0 17 0; +#X connect 18 0 19 0; +#X connect 19 0 16 0; +#X connect 20 0 4 0; +#X connect 20 0 8 2; +#X connect 21 0 22 0; +#X connect 22 0 20 0; +#X restore 66 636 pd send NOTE; +#X obj 66 536 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 -1 +1 1; +#X text 833 293 food tray; +#X obj 316 286 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 +-1 1 1; +#X msg 356 337 40; +#X floatatom 356 362 5 0 0 0 vol - -; +#X msg 397 337 40; +#X floatatom 397 362 5 0 0 1 vol - -; +#X obj 526 286 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 +-1 1 1; +#X msg 566 337 40; +#X floatatom 566 362 5 0 0 0 vol - -; +#X msg 607 337 40; +#X floatatom 607 362 5 0 0 1 vol - -; +#X text 423 304 headphone; +#X text 423 318 20 -> 19; +#X text 633 304 headphone; +#X text 633 318 20 -> 19; #N canvas 497 89 942 665 send 0; #X obj 63 376 metro; #X obj 31 574 s NOTE; #X obj 31 443 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X msg 63 401 1; #X obj 31 523 pack f f f f; #X obj 138 311 inlet; @@ -403,7 +345,7 @@ pollintervall 1; #X obj 299 453 b; #X obj 43 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X msg 697 113 4; #X msg 731 164 8; @@ -474,12 +416,12 @@ pollintervall 1; #X connect 61 0 9 0; #X connect 62 0 41 1; #X connect 63 0 22 1; -#X restore 276 402 pd send NOTE; +#X restore 316 386 pd send NOTE; #N canvas 497 166 942 665 send 0; #X obj 63 376 metro; #X obj 31 574 s NOTE; #X obj 31 443 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X msg 63 401 1; #X obj 31 523 pack f f f f; #X obj 138 311 inlet; @@ -540,7 +482,7 @@ pollintervall 1; #X obj 299 453 b; #X obj 43 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X msg 697 113 4; #X msg 731 164 8; @@ -613,20 +555,18 @@ pollintervall 1; #X connect 61 0 22 1; #X connect 62 0 11 0; #X connect 63 0 33 0; -#X restore 486 402 pd send NOTE; -#X text 383 240 20014; -#X text 593 240 20015; -#X msg 706 298 40; -#X obj 26 236 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 -1 -0 1; -#X floatatom 66 344 5 0 0 1 vol - -; -#X obj 26 256 t a b b b; -#X floatatom 146 344 5 0 0 1 vol - -; +#X restore 526 386 pd send NOTE; +#X text 423 290 20014; +#X text 633 290 20015; +#X obj 66 286 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261682 -1 -1 +1 1; +#X floatatom 106 362 5 0 0 0 vol - -; +#X floatatom 147 362 5 0 0 1 vol - -; #N canvas 497 89 942 665 send 0; #X obj 63 376 metro; #X obj 31 574 s NOTE; #X obj 31 443 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X msg 63 401 1; #X obj 31 523 pack f f f f; #X obj 138 311 inlet; @@ -685,7 +625,7 @@ pollintervall 1; #X obj 299 453 b; #X obj 43 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X msg 155 522 20018; #X msg 555 522 20004; @@ -760,20 +700,19 @@ pollintervall 1; #X connect 61 0 21 0; #X connect 62 0 39 1; #X connect 63 0 22 1; -#X restore 26 402 pd send NOTE; -#X text 133 240 20018 20004; -#X text 151 456 floor3 room; -#X text 391 26 room size; -#X obj 26 16 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -262144 -1 -1 -0 1; -#X floatatom 66 124 5 0 0 1 vol - -; -#X obj 26 36 t a b b b; -#X floatatom 146 124 5 0 0 1 vol - -; +#X restore 66 386 pd send NOTE; +#X text 173 290 20018 20004; +#X text 191 546 floor3 room; +#X text 431 46 room size; +#X obj 66 36 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 -1 +1 1; +#X floatatom 106 112 5 0 0 0 vol - -; +#X floatatom 147 112 5 0 0 1 vol - -; #N canvas 216 194 942 665 send 0; #X obj 63 376 metro; #X obj 31 574 s NOTE; #X obj 31 443 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 --1 0 1; +-1 1 1; #X msg 63 401 1; #X obj 31 523 pack f f f f; #X obj 138 311 inlet; @@ -832,7 +771,7 @@ pollintervall 1; #X obj 299 453 b; #X obj 43 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 +#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 ; #X msg 431 113 8; #X msg 574 113 27; @@ -907,128 +846,396 @@ pollintervall 1; #X connect 61 0 33 0; #X connect 62 0 39 1; #X connect 63 0 22 1; -#X restore 26 182 pd send NOTE; -#X text 133 20 floor1; -#X text 133 34 corridor +; -#X text 133 48 center room; -#X msg 66 99 35; -#X msg 146 99 75; -#X msg 66 319 55; -#X msg 146 319 55; -#X msg 876 582 10; -#X msg 706 498 45; -#X msg 46 508 70; -#X text 407 554 blue spk. change; -#X text 407 494 green table add spk 1; -#X text 623 62 <-- comm. chk; -#X text 719 129 basement bluetooth comm chk; -#X connect 0 0 7 2; -#X connect 1 0 7 3; -#X connect 2 0 7 0; -#X connect 2 1 3 0; -#X connect 2 2 8 0; -#X connect 2 3 9 0; -#X connect 3 0 4 0; -#X connect 4 0 7 1; -#X connect 5 0 7 4; -#X connect 6 0 5 0; -#X connect 8 0 0 0; -#X connect 9 0 1 0; -#X connect 10 0 2 0; -#X connect 11 0 17 2; -#X connect 12 0 17 3; -#X connect 13 0 17 0; -#X connect 13 1 62 0; -#X connect 13 2 29 0; -#X connect 13 3 41 0; -#X connect 14 0 17 1; -#X connect 15 0 17 4; -#X connect 16 0 15 0; -#X connect 18 0 13 0; -#X connect 19 0 25 2; -#X connect 20 0 25 3; -#X connect 21 0 25 0; -#X connect 21 1 85 0; -#X connect 21 2 27 0; -#X connect 21 3 26 0; -#X connect 22 0 25 1; -#X connect 23 0 25 4; -#X connect 24 0 23 0; -#X connect 26 0 20 0; -#X connect 27 0 19 0; -#X connect 28 0 21 0; -#X connect 29 0 11 0; -#X connect 31 0 36 2; -#X connect 32 0 36 3; -#X connect 33 0 36 0; -#X connect 33 1 84 0; -#X connect 33 2 40 0; -#X connect 33 3 38 0; -#X connect 34 0 36 1; -#X connect 35 0 83 0; -#X connect 37 0 33 0; -#X connect 38 0 32 0; -#X connect 40 0 31 0; -#X connect 41 0 12 0; -#X connect 42 0 45 0; -#X connect 43 0 44 0; -#X connect 44 0 58 1; -#X connect 45 0 58 0; -#X connect 45 1 43 0; -#X connect 45 2 46 0; -#X connect 46 0 47 0; -#X connect 47 0 58 2; -#X connect 48 0 51 0; -#X connect 49 0 50 0; -#X connect 50 0 59 1; -#X connect 51 0 59 0; -#X connect 51 1 49 0; -#X connect 51 2 52 0; +#X restore 66 136 pd send NOTE; +#X text 195 35 floor1; +#X text 195 49 corridor +; +#X text 195 63 center room; +#X msg 106 87 35; +#X msg 147 87 75; +#X msg 106 337 55; +#X msg 147 337 55; +#X msg 106 587 70; +#X text 770 602 <-- comm. chk; +#X obj 66 161 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 316 161 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 66 411 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 66 661 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 316 411 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 526 411 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 726 411 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 66 56 t a b b; +#X obj 66 181 t a b b; +#X obj 66 306 t a b b; +#X obj 316 306 t a b b; +#X obj 526 306 t a b b; +#X obj 66 431 t a b b; +#X obj 316 431 t a b b; +#X obj 526 431 t a b b; +#X obj 66 681 t a b; +#X obj 66 556 t a b; +#X obj 316 56 t a b; +#X obj 316 181 t a b; +#X obj 726 306 t a b; +#X obj 726 431 t a b; +#X text 673 543 f2.annex; +#X text 673 557 gate; +#X text 703 603 f2.annex; +#X text 703 617 toilet; +#X msg 356 462 15; +#X msg 397 462 15; +#X msg 566 462 15; +#X msg 607 462 15; +#X obj 526 536 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261682 -1 +-1 1 1; +#X floatatom 566 612 5 0 0 0 vol - -; +#X floatatom 607 612 5 0 0 1 vol - -; +#N canvas 58 124 942 665 send 0; +#X obj 63 376 metro; +#X obj 31 574 s NOTE; +#X obj 31 443 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 +-1 1 1; +#X msg 63 401 1; +#X obj 31 523 pack f f f f; +#X obj 138 311 inlet; +#X obj 31 32 inlet; +#X msg 31 548 \$4 \$3 \$2 \$1; +#X text 76 31 1 enable; +#X obj 31 77 t a a; +#X floatatom 85 489 5 0 0 2 sampleN - -; +#X floatatom 155 547 5 0 0 1 speakerID - -; +#X obj 155 482 loadbang; +#X obj 431 187 tabread length; +#X obj 431 162 - 1; +#X floatatom 431 212 5 0 0 0 - - -; +#X obj 574 316 * 1000; +#X obj 556 266 +; +#X obj 574 187 tabread length; +#X obj 574 162 - 1; +#X floatatom 574 212 5 0 0 0 - - -; +#X floatatom 574 138 5 0 0 1 sampleN - -; +#X obj 574 291 +; +#X floatatom 431 138 5 0 0 1 sampleN - -; +#X obj 511 37 loadbang; +#X obj 511 62 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 511 82 t b b b; +#X obj 431 316 * 1000; +#X obj 299 478 delay; +#X obj 458 394 inlet; +#X text 154 288 2 vol1; +#X msg 299 503 1; +#X floatatom 485 489 5 0 0 2 sampleN - -; +#X floatatom 555 547 5 0 0 1 speakerID - -; +#X obj 555 482 loadbang; +#X obj 431 574 s NOTE; +#X obj 431 523 pack f f f f; +#X msg 431 548 \$4 \$3 \$2 \$1; +#X text 474 371 3 vol2; +#X obj 431 291 +; +#X text 695 92 between delay (sec); +#X text 695 142 between delay + gap delay (sec); +#X obj 289 559 sel 0; +#X msg 289 584 0; +#X msg 339 534 stop; +#X obj 279 478 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 574 341 10 0 0 0 - - -; +#X floatatom 431 341 10 0 0 0 - - -; +#X obj 189 122 timer; +#X obj 189 97 b; +#X obj 221 97 metro 50; +#X obj 221 77 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 189 172 int; +#X floatatom 189 197 5 0 0 0 - - -; +#X obj 189 147 / 1000; +#X obj 299 453 b; +#X obj 43 376 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 31 57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1 +; +#X msg 155 522 20009; +#X msg 555 522 20016; +#X msg 574 113 26; +#X msg 431 113 18; +#X msg 697 113 1; +#X msg 731 164 2; +#X connect 0 0 3 0; +#X connect 0 0 55 0; +#X connect 0 0 56 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 4 0 7 0; +#X connect 5 0 4 1; +#X connect 6 0 57 0; +#X connect 7 0 1 0; +#X connect 9 0 2 0; +#X connect 9 0 42 0; +#X connect 9 1 0 0; +#X connect 9 1 49 0; +#X connect 10 0 4 2; +#X connect 11 0 4 3; +#X connect 12 0 58 0; +#X connect 13 0 15 0; +#X connect 14 0 13 0; +#X connect 15 0 17 0; +#X connect 15 0 39 0; +#X connect 16 0 0 1; +#X connect 16 0 46 0; +#X connect 17 0 22 0; +#X connect 18 0 20 0; +#X connect 19 0 18 0; +#X connect 20 0 17 1; +#X connect 21 0 19 0; +#X connect 21 0 32 0; +#X connect 22 0 16 0; +#X connect 23 0 14 0; +#X connect 23 0 10 0; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 61 0; +#X connect 26 1 60 0; +#X connect 26 2 63 0; +#X connect 26 2 62 0; +#X connect 27 0 28 1; +#X connect 27 0 47 0; +#X connect 28 0 31 0; +#X connect 28 0 45 0; +#X connect 29 0 36 1; +#X connect 31 0 36 0; +#X connect 32 0 36 2; +#X connect 33 0 36 3; +#X connect 34 0 59 0; +#X connect 36 0 37 0; +#X connect 37 0 35 0; +#X connect 39 0 27 0; +#X connect 42 0 43 0; +#X connect 42 0 44 0; +#X connect 43 0 36 0; +#X connect 44 0 28 0; +#X connect 48 0 54 0; +#X connect 49 0 48 0; +#X connect 50 0 48 1; +#X connect 51 0 50 0; #X connect 52 0 53 0; -#X connect 53 0 59 2; -#X connect 62 0 14 0; -#X connect 63 0 65 0; -#X connect 64 0 67 1; -#X connect 65 0 67 0; -#X connect 65 1 81 0; -#X connect 65 2 82 0; -#X connect 66 0 67 2; -#X connect 71 0 73 0; -#X connect 72 0 75 1; -#X connect 73 0 75 0; -#X connect 73 1 79 0; -#X connect 73 2 80 0; -#X connect 74 0 75 2; -#X connect 79 0 72 0; -#X connect 80 0 74 0; -#X connect 81 0 64 0; -#X connect 82 0 66 0; -#X connect 83 0 36 4; -#X connect 84 0 34 0; -#X connect 85 0 22 0; -#X restore 414 290 pd floors; +#X connect 54 0 52 0; +#X connect 55 0 28 0; +#X connect 57 0 9 0; +#X connect 58 0 11 0; +#X connect 59 0 33 0; +#X connect 60 0 21 0; +#X connect 61 0 23 0; +#X connect 62 0 39 1; +#X connect 63 0 22 1; +#X restore 526 636 pd send NOTE; +#X obj 526 661 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 526 556 t a b b; +#X obj 526 681 t a b b; +#X msg 607 587 45; +#X msg 607 712 15; +#X msg 566 587 35; +#X msg 106 712 10; +#X msg 106 462 15; +#X msg 147 462 10; +#X msg 147 212 15; +#X msg 566 712 5; +#X msg 106 212 8; +#X msg 356 212 10; +#X msg 766 462 5; +#X floatatom 356 612 5 0 0 0 vol - -; +#N canvas 843 285 450 405 send 0; +#X obj 56 228 metro; +#X obj 44 364 s NOTE; +#X obj 24 273 tgl 15 0 empty empty start/stop 17 7 0 10 -262144 -1 +-1 1 1; +#X obj 128 134 tabread length; +#X obj 128 109 - 1; +#X floatatom 128 159 5 0 0 0 - - -; +#X obj 128 208 * 1000; +#X msg 56 253 1; +#X obj 44 313 pack f f f f; +#X obj 128 183 +; +#X obj 91 53 inlet; +#X obj 24 22 inlet; +#X msg 44 338 \$4 \$3 \$2 \$1; +#X text 69 21 1 enable; +#X text 137 50 2 vol; +#X obj 24 47 t a a; +#X floatatom 162 294 5 0 0 1 speakerID - -; +#X obj 257 249 loadbang; +#X floatatom 257 90 5 0 0 1 sampleN - -; +#X obj 257 40 loadbang; +#X msg 257 65 6; +#X msg 162 269 20019; +#X msg 257 274 30; +#X connect 0 0 7 0; +#X connect 2 0 8 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 5 0 9 0; +#X connect 6 0 0 1; +#X connect 7 0 2 0; +#X connect 8 0 12 0; +#X connect 9 0 6 0; +#X connect 10 0 8 1; +#X connect 11 0 15 0; +#X connect 12 0 1 0; +#X connect 15 0 2 0; +#X connect 15 1 0 0; +#X connect 16 0 8 3; +#X connect 17 0 22 0; +#X connect 17 0 21 0; +#X connect 18 0 4 0; +#X connect 18 0 8 2; +#X connect 19 0 20 0; +#X connect 20 0 18 0; +#X connect 21 0 16 0; +#X connect 22 0 9 1; +#X restore 316 636 pd send NOTE; +#X obj 316 536 tgl 15 0 empty ENABLE r:ENABLE 17 7 0 10 -261234 -1 +-1 1 1; +#X obj 316 661 tgl 15 0 empty ENABLE_LOW r:ENABLE_LOW 17 7 0 10 -257985 +-1 -1 1 1; +#X obj 316 556 t a b; +#X obj 316 681 t a b; +#X msg 356 712 10; +#X text 401 556 floor2 cantin &; +#X text 401 570 r.i.p.; +#X msg 766 337 30; +#X msg 356 587 40; +#X connect 0 0 1 0; +#X connect 1 0 2 1; +#X connect 3 0 66 0; +#X connect 4 0 5 1; +#X connect 6 0 68 0; +#X connect 7 0 8 1; +#X connect 9 0 65 0; +#X connect 11 0 59 0; +#X connect 12 0 13 0; +#X connect 13 0 25 1; +#X connect 14 0 15 0; +#X connect 15 0 25 2; +#X connect 16 0 60 0; +#X connect 17 0 18 0; +#X connect 18 0 26 1; +#X connect 19 0 20 0; +#X connect 20 0 26 2; +#X connect 29 0 58 0; +#X connect 30 0 32 1; +#X connect 31 0 32 2; +#X connect 36 0 56 0; +#X connect 37 0 39 1; +#X connect 38 0 39 2; +#X connect 43 0 37 0; +#X connect 44 0 38 0; +#X connect 45 0 30 0; +#X connect 46 0 31 0; +#X connect 47 0 7 0; +#X connect 49 0 57 0; +#X connect 50 0 67 0; +#X connect 51 0 61 0; +#X connect 52 0 64 0; +#X connect 53 0 62 0; +#X connect 54 0 63 0; +#X connect 55 0 69 0; +#X connect 56 0 39 0; +#X connect 56 1 43 0; +#X connect 56 2 44 0; +#X connect 57 0 39 0; +#X connect 57 1 93 0; +#X connect 57 2 91 0; +#X connect 58 0 32 0; +#X connect 58 1 45 0; +#X connect 58 2 46 0; +#X connect 59 0 25 0; +#X connect 59 1 12 0; +#X connect 59 2 14 0; +#X connect 60 0 26 0; +#X connect 60 1 17 0; +#X connect 60 2 19 0; +#X connect 61 0 32 0; +#X connect 61 1 89 0; +#X connect 61 2 90 0; +#X connect 62 0 25 0; +#X connect 62 1 74 0; +#X connect 62 2 75 0; +#X connect 63 0 26 0; +#X connect 63 1 76 0; +#X connect 63 2 77 0; +#X connect 64 0 8 0; +#X connect 64 1 88 0; +#X connect 65 0 8 0; +#X connect 65 1 47 0; +#X connect 66 0 2 0; +#X connect 66 1 0 0; +#X connect 67 0 2 0; +#X connect 67 1 94 0; +#X connect 68 0 5 0; +#X connect 68 1 105 0; +#X connect 69 0 5 0; +#X connect 69 1 95 0; +#X connect 74 0 13 0; +#X connect 75 0 15 0; +#X connect 76 0 18 0; +#X connect 77 0 20 0; +#X connect 78 0 83 0; +#X connect 79 0 81 1; +#X connect 80 0 81 2; +#X connect 82 0 84 0; +#X connect 83 0 81 0; +#X connect 83 1 87 0; +#X connect 83 2 85 0; +#X connect 84 0 81 0; +#X connect 84 1 92 0; +#X connect 84 2 86 0; +#X connect 85 0 80 0; +#X connect 86 0 80 0; +#X connect 87 0 79 0; +#X connect 88 0 7 0; +#X connect 89 0 30 0; +#X connect 90 0 31 0; +#X connect 91 0 38 0; +#X connect 92 0 79 0; +#X connect 93 0 37 0; +#X connect 94 0 1 0; +#X connect 95 0 4 0; +#X connect 96 0 97 1; +#X connect 98 0 100 0; +#X connect 99 0 101 0; +#X connect 100 0 97 0; +#X connect 100 1 106 0; +#X connect 101 0 97 0; +#X connect 101 1 102 0; +#X connect 102 0 96 0; +#X connect 105 0 4 0; +#X connect 106 0 96 0; +#X restore 497 66 pd floors; #N canvas 1 89 679 487 tb-lgth 0; #N canvas 0 50 450 250 (subpatch) 0; #X array length 100 float 3; -#A 0 4 6 184 385 81 95 42 41 58 5 11 62 225 210 219 61 41 43 70 56 -218 137 88 33 68 77 152 30 9 259 293 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +#A 0 4 6 184 385 81 38 42 41 58 5 11 62 225 210 219 61 41 43 70 56 +218 137 88 33 68 53 152 30 9 259 293 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; #X coords 0 1 100 -1 200 140 1 0 0; #X restore 72 78 graph; -#X msg 64 311 \; length 0 4 6 184 385 81 95 42 41 58 5 11 62 225 210 -219 61 41 43 70 56 218 137 88 33 68 77 152 30 9 259 293; -#X restore 478 41 pd tb-lgth; -#X obj 424 221 tgl 22 0 ENABLE empty ENABLE_floor 25 10 0 14 -204786 --13381 -13381 1 1; -#X obj 38 93 tgl 15 0 empty empty connected? 17 7 0 10 -203904 -1 -1 -1 1; -#X obj 38 48 tgl 15 0 empty empty open/close 17 7 0 10 -203904 -1 -1 -1 1; -#X obj 38 23 loadbang; -#X obj 37 259 s NOTE; -#X obj 248 259 s NOTE; -#X obj 248 389 s NOTE; +#X msg 64 311 \; length 0 4 6 184 385 81 38 42 41 58 5 11 62 225 210 +219 61 41 43 70 56 218 137 88 33 68 53 152 30 9 259 293; +#X restore 490 41 pd tb-lgth; +#X obj 578 92 tgl 15 0 empty empty connected? 17 7 0 10 -203904 -1 +-1 1 1; +#X obj 578 47 tgl 15 0 empty empty open/close 17 7 0 10 -203904 -1 +-1 1 1; +#X obj 578 22 loadbang; +#X obj 38 250 s NOTE; #N canvas 1 89 500 364 manual 0; #X floatatom 150 214 5 0 0 1 sampleN - -; #X floatatom 287 136 5 0 0 0 spkN - -; @@ -1069,70 +1276,127 @@ pollintervall 1; #X connect 15 0 16 0; #X connect 16 0 14 0; #X connect 17 0 12 0; -#X restore 200 31 pd manual message; -#X obj 38 389 s NOTE; -#X text 52 134 announcements; -#X text 282 134 music; -#X msg 248 234 20000 40 60 1; -#X msg 248 364 20000 41 60 1; -#X msg 37 234 20000 30 60 1; -#X obj 498 389 s NOTE; -#X msg 498 364 20000 0 0 0; -#X text 511 334 stop all; -#X obj 37 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 47 182 del 1000; -#X obj 57 207 del 1000; -#X obj 248 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X restore 442 16 pd manual message; +#X obj 87 380 s NOTE; +#X msg 38 225 20000 30 60 1; +#X obj 396 91 s NOTE; +#X msg 396 66 20000 0 0 0; +#X obj 38 205 bng 15 250 50 0 empty empty tour_start 17 7 0 10 -204786 -1 -1; -#X obj 258 182 del 1000; -#X obj 268 207 del 1000; -#X obj 38 292 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 48 312 del 1000; -#X obj 58 337 del 1000; -#X obj 248 292 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 87 335 bng 15 250 50 0 empty empty tour_end 17 7 0 10 -203904 -1 -1; -#X obj 258 312 del 1000; -#X obj 268 337 del 1000; -#X obj 424 112 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 495 146 bng 15 250 50 0 empty empty FLOOR_VOLUME_FULL_(touring) +17 7 0 10 -261234 -1 -1; +#X msg 495 191 1; +#X msg 87 355 20000 31 70 1; +#X obj 495 256 bng 15 250 50 0 empty empty FLOOR_VOLUME_LOW_(guide1) +17 7 0 10 -257985 -1 -1; +#X msg 495 301 1; +#X obj 495 326 tgl 15 0 ENABLE_LOW empty s:ENABLE_LOW 17 7 0 10 -262144 +-1 -1 1 1; +#X obj 495 216 tgl 15 0 ENABLE empty s:ENABLE 17 7 0 10 -262144 -1 +-1 1 1; +#X obj 396 46 bng 15 250 50 0 empty STOPALL stop 17 7 0 14 -258113 +-262144 -258113; +#X obj 194 164 cnv 15 290 130 empty empty guide_A_DongRim 20 12 0 14 +-232576 -66577 0; +#X obj 194 296 cnv 15 290 130 empty empty guide_B_GyuSun 20 12 0 14 +-261682 -66577 0; +#X obj 225 264 s NOTE; +#X obj 225 394 s NOTE; +#X msg 225 239 20000 40 60 1; +#X msg 225 369 20000 41 60 1; +#X obj 225 194 bng 15 250 50 0 empty empty start_music_A 17 7 0 10 +-232576 -1 -1; +#X obj 225 324 bng 15 250 50 0 empty empty start_music_B 17 7 0 10 +-261682 -1 -1; +#X obj 365 264 s NOTE; +#X obj 365 394 s NOTE; +#X obj 365 194 bng 15 250 50 0 empty empty end_music_A 17 7 0 10 -159808 -1 -1; -#X obj 434 132 del 1000; -#X obj 444 157 del 1000; -#X msg 424 186 1; -#X text 458 89 pause 3sec; -#X msg 38 364 20000 31 70 1; -#X connect 0 0 4 0; -#X connect 5 0 0 0; -#X connect 6 0 5 0; -#X connect 14 0 8 0; -#X connect 15 0 9 0; -#X connect 16 0 7 0; -#X connect 18 0 17 0; -#X connect 20 0 21 0; -#X connect 20 0 16 0; -#X connect 21 0 22 0; -#X connect 21 0 16 0; -#X connect 22 0 16 0; -#X connect 23 0 24 0; -#X connect 23 0 14 0; -#X connect 24 0 25 0; -#X connect 24 0 14 0; -#X connect 25 0 14 0; -#X connect 26 0 27 0; -#X connect 26 0 37 0; -#X connect 27 0 28 0; -#X connect 27 0 37 0; -#X connect 28 0 37 0; -#X connect 29 0 30 0; -#X connect 29 0 15 0; -#X connect 30 0 31 0; -#X connect 30 0 15 0; -#X connect 31 0 15 0; -#X connect 32 0 33 0; -#X connect 32 0 35 0; -#X connect 33 0 34 0; +#X obj 365 324 bng 15 250 50 0 empty empty end_music_B 17 7 0 10 -260097 +-1 -1; +#X msg 365 239 20000 50 60 1; +#X msg 365 369 20000 51 60 1; +#N canvas 1 89 450 300 archive 0; +#X obj 47 166 del 4000; +#X obj 468 86 del 4000; +#X obj 48 306 del 4000; +#X obj 468 196 del 4000; +#X obj 468 306 del 4000; +#X obj 188 166 del 4000; +#X obj 188 306 del 4000; +#X obj 328 166 del 4000; +#X obj 328 306 del 4000; +#X restore 490 91 pd archive; +#X obj 495 166 del 1000; +#X obj 597 211 bng 15 250 50 0 STOPALL empty s:STOPALL 17 7 0 10 -262144 +-1 -1; +#X obj 495 276 del 1000; +#X obj 597 311 bng 15 250 50 0 STOPALL empty s:STOPALL 17 7 0 10 -262144 +-1 -1; +#X obj 38 151 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 38 174 metro 40000; +#X obj 87 281 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 87 304 metro 15000; +#X obj 38 22 key; +#X floatatom 38 47 5 0 0 0 - - -; +#X msg 38 96 1; +#X msg 64 121 0; +#X msg 90 96 1; +#X msg 116 121 0; +#X msg 268 121 0; +#X msg 319 121 0; +#X obj 38 71 sel 113 97 119 115 49 50 51 52 111 108 112 59 32; +#X connect 0 0 3 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 9 0 6 0; +#X connect 11 0 10 0; +#X connect 12 0 9 0; +#X connect 13 0 16 0; +#X connect 14 0 37 0; +#X connect 14 0 38 0; +#X connect 15 0 20 0; +#X connect 16 0 8 0; +#X connect 17 0 39 0; +#X connect 17 0 40 0; +#X connect 18 0 19 0; +#X connect 21 0 11 0; +#X connect 26 0 24 0; +#X connect 27 0 25 0; +#X connect 28 0 26 0; +#X connect 29 0 27 0; +#X connect 32 0 34 0; #X connect 33 0 35 0; -#X connect 34 0 35 0; -#X connect 35 0 3 0; -#X connect 37 0 11 0; +#X connect 34 0 30 0; +#X connect 35 0 31 0; +#X connect 37 0 15 0; +#X connect 39 0 18 0; +#X connect 41 0 42 0; +#X connect 42 0 12 0; +#X connect 43 0 44 0; +#X connect 44 0 13 0; +#X connect 45 0 46 0; +#X connect 46 0 53 0; +#X connect 47 0 41 0; +#X connect 48 0 41 0; +#X connect 49 0 43 0; +#X connect 50 0 43 0; +#X connect 51 0 20 0; +#X connect 52 0 19 0; +#X connect 53 0 47 0; +#X connect 53 1 48 0; +#X connect 53 2 49 0; +#X connect 53 3 50 0; +#X connect 53 4 28 0; +#X connect 53 5 32 0; +#X connect 53 6 29 0; +#X connect 53 7 33 0; +#X connect 53 8 14 0; +#X connect 53 9 51 0; +#X connect 53 10 17 0; +#X connect 53 11 52 0; +#X connect 53 12 21 0;