From f743c3428f41b8d127e538ea8a6505a0c882cdb2 Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Sun, 27 Aug 2017 19:47:26 +0900 Subject: [PATCH] Add documentation about Sound Manager and Audio Manager architecture This document describes Audio Manager usecase and architecture To see the document, open ApplicationGuide.md with firefox and so on (Markdown should be enabled with plugin of the browser) From the view of the applications, the sequence is the most important point ApplicationGuide may be updated according to any feedbacks Change-Id: Ifc17a4bd0d7efb0d4beb3f45c400f169abd81d68 Signed-off-by: Kazumasa Mitsunari --- doc/ApplicationGuide.md | 358 +++++ doc/Display_Audio_Transition1.md | 123 ++ doc/Display_Audio_Transition2.md | 333 ++++ doc/api-ref/html/annotated.html | 103 ++ doc/api-ref/html/annotated_dup.js | 5 + doc/api-ref/html/bc_s.png | Bin 0 -> 676 bytes doc/api-ref/html/bdwn.png | Bin 0 -> 147 bytes doc/api-ref/html/class_lib_soundmanager.html | 532 +++++++ doc/api-ref/html/class_lib_soundmanager.js | 15 + doc/api-ref/html/classes.html | 107 ++ doc/api-ref/html/closed.png | Bin 0 -> 132 bytes .../html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html | 104 ++ .../html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.js | 4 + .../html/dir_574c53d22ed4def281d320d129dd43c9.html | 106 ++ .../html/dir_574c53d22ed4def281d320d129dd43c9.js | 5 + .../html/dir_85932083476b47061c69d172796990a3.html | 104 ++ .../html/dir_85932083476b47061c69d172796990a3.js | 4 + .../html/dir_b967abc00200c877344b4504e6cbcf3f.html | 108 ++ .../html/dir_b967abc00200c877344b4504e6cbcf3f.js | 6 + .../html/dir_c2dc0533631c44dc5d574e7be055c656.html | 104 ++ .../html/dir_c2dc0533631c44dc5d574e7be055c656.js | 4 + doc/api-ref/html/doc.png | Bin 0 -> 746 bytes doc/api-ref/html/doxygen.css | 1596 ++++++++++++++++++++ doc/api-ref/html/doxygen.png | Bin 0 -> 3779 bytes doc/api-ref/html/dynsections.js | 104 ++ doc/api-ref/html/files.html | 110 ++ doc/api-ref/html/files.js | 4 + doc/api-ref/html/folderclosed.png | Bin 0 -> 616 bytes doc/api-ref/html/folderopen.png | Bin 0 -> 597 bytes doc/api-ref/html/functions.html | 137 ++ doc/api-ref/html/functions_func.html | 131 ++ doc/api-ref/html/functions_vars.html | 101 ++ doc/api-ref/html/globals.html | 146 ++ doc/api-ref/html/globals_defs.html | 128 ++ doc/api-ref/html/globals_func.html | 104 ++ doc/api-ref/html/globals_vars.html | 104 ++ doc/api-ref/html/index.html | 97 ++ doc/api-ref/html/jquery.js | 87 ++ doc/api-ref/html/libsoundmanager_8cpp.html | 178 +++ doc/api-ref/html/libsoundmanager_8cpp.js | 5 + doc/api-ref/html/libsoundmanager_8cpp_source.html | 116 ++ doc/api-ref/html/libsoundmanager_8hpp.html | 158 ++ doc/api-ref/html/libsoundmanager_8hpp.js | 6 + doc/api-ref/html/libsoundmanager_8hpp_source.html | 103 ++ doc/api-ref/html/menu.js | 26 + doc/api-ref/html/menudata.js | 16 + doc/api-ref/html/nav_f.png | Bin 0 -> 153 bytes doc/api-ref/html/nav_g.png | Bin 0 -> 95 bytes doc/api-ref/html/nav_h.png | Bin 0 -> 98 bytes doc/api-ref/html/navtree.css | 146 ++ doc/api-ref/html/navtree.js | 517 +++++++ doc/api-ref/html/navtreedata.js | 31 + doc/api-ref/html/navtreeindex0.js | 61 + doc/api-ref/html/open.png | Bin 0 -> 123 bytes doc/api-ref/html/resize.js | 114 ++ doc/api-ref/html/search/all_0.html | 26 + doc/api-ref/html/search/all_0.js | 4 + doc/api-ref/html/search/all_1.html | 26 + doc/api-ref/html/search/all_1.js | 9 + doc/api-ref/html/search/all_2.html | 26 + doc/api-ref/html/search/all_2.js | 6 + doc/api-ref/html/search/all_3.html | 26 + doc/api-ref/html/search/all_3.js | 4 + doc/api-ref/html/search/all_4.html | 26 + doc/api-ref/html/search/all_4.js | 6 + doc/api-ref/html/search/all_5.html | 26 + doc/api-ref/html/search/all_5.js | 6 + doc/api-ref/html/search/all_6.html | 26 + doc/api-ref/html/search/all_6.js | 5 + doc/api-ref/html/search/all_7.html | 26 + doc/api-ref/html/search/all_7.js | 4 + doc/api-ref/html/search/all_8.html | 26 + doc/api-ref/html/search/all_8.js | 7 + doc/api-ref/html/search/all_9.html | 26 + doc/api-ref/html/search/all_9.js | 6 + doc/api-ref/html/search/all_a.html | 26 + doc/api-ref/html/search/all_a.js | 8 + doc/api-ref/html/search/all_b.html | 26 + doc/api-ref/html/search/all_b.js | 4 + doc/api-ref/html/search/all_c.html | 26 + doc/api-ref/html/search/all_c.js | 4 + doc/api-ref/html/search/all_d.html | 26 + doc/api-ref/html/search/all_d.js | 4 + doc/api-ref/html/search/classes_0.html | 26 + doc/api-ref/html/search/classes_0.js | 4 + doc/api-ref/html/search/classes_1.html | 26 + doc/api-ref/html/search/classes_1.js | 4 + doc/api-ref/html/search/close.png | Bin 0 -> 273 bytes doc/api-ref/html/search/defines_0.html | 26 + doc/api-ref/html/search/defines_0.js | 4 + doc/api-ref/html/search/defines_1.html | 26 + doc/api-ref/html/search/defines_1.js | 6 + doc/api-ref/html/search/defines_2.html | 26 + doc/api-ref/html/search/defines_2.js | 4 + doc/api-ref/html/search/defines_3.html | 26 + doc/api-ref/html/search/defines_3.js | 4 + doc/api-ref/html/search/defines_4.html | 26 + doc/api-ref/html/search/defines_4.js | 4 + doc/api-ref/html/search/defines_5.html | 26 + doc/api-ref/html/search/defines_5.js | 4 + doc/api-ref/html/search/defines_6.html | 26 + doc/api-ref/html/search/defines_6.js | 4 + doc/api-ref/html/search/defines_7.html | 26 + doc/api-ref/html/search/defines_7.js | 5 + doc/api-ref/html/search/files_0.html | 26 + doc/api-ref/html/search/files_0.js | 5 + doc/api-ref/html/search/files_1.html | 26 + doc/api-ref/html/search/files_1.js | 4 + doc/api-ref/html/search/files_2.html | 26 + doc/api-ref/html/search/files_2.js | 4 + doc/api-ref/html/search/functions_0.html | 26 + doc/api-ref/html/search/functions_0.js | 5 + doc/api-ref/html/search/functions_1.html | 26 + doc/api-ref/html/search/functions_1.js | 5 + doc/api-ref/html/search/functions_2.html | 26 + doc/api-ref/html/search/functions_2.js | 4 + doc/api-ref/html/search/functions_3.html | 26 + doc/api-ref/html/search/functions_3.js | 4 + doc/api-ref/html/search/functions_4.html | 26 + doc/api-ref/html/search/functions_4.js | 7 + doc/api-ref/html/search/functions_5.html | 26 + doc/api-ref/html/search/functions_5.js | 5 + doc/api-ref/html/search/functions_6.html | 26 + doc/api-ref/html/search/functions_6.js | 4 + doc/api-ref/html/search/functions_7.html | 26 + doc/api-ref/html/search/functions_7.js | 4 + doc/api-ref/html/search/functions_8.html | 26 + doc/api-ref/html/search/functions_8.js | 4 + doc/api-ref/html/search/mag_sel.png | Bin 0 -> 563 bytes doc/api-ref/html/search/nomatches.html | 12 + doc/api-ref/html/search/search.css | 271 ++++ doc/api-ref/html/search/search.js | 791 ++++++++++ doc/api-ref/html/search/search_l.png | Bin 0 -> 604 bytes doc/api-ref/html/search/search_m.png | Bin 0 -> 158 bytes doc/api-ref/html/search/search_r.png | Bin 0 -> 612 bytes doc/api-ref/html/search/searchdata.js | 30 + doc/api-ref/html/search/variables_0.html | 26 + doc/api-ref/html/search/variables_0.js | 4 + doc/api-ref/html/search/variables_1.html | 26 + doc/api-ref/html/search/variables_1.js | 5 + doc/api-ref/html/search/variables_2.html | 26 + doc/api-ref/html/search/variables_2.js | 4 + doc/api-ref/html/search/variables_3.html | 26 + doc/api-ref/html/search/variables_3.js | 4 + doc/api-ref/html/soundmanager_8c.html | 334 ++++ doc/api-ref/html/soundmanager_8c.js | 15 + doc/api-ref/html/soundmanager_8c_source.html | 110 ++ doc/api-ref/html/splitbar.png | Bin 0 -> 314 bytes doc/api-ref/html/structevent.html | 147 ++ doc/api-ref/html/structevent.js | 5 + doc/api-ref/html/sync_off.png | Bin 0 -> 853 bytes doc/api-ref/html/sync_on.png | Bin 0 -> 845 bytes doc/api-ref/html/tab_a.png | Bin 0 -> 142 bytes doc/api-ref/html/tab_b.png | Bin 0 -> 169 bytes doc/api-ref/html/tab_h.png | Bin 0 -> 177 bytes doc/api-ref/html/tab_s.png | Bin 0 -> 184 bytes doc/api-ref/html/tabs.css | 1 + doc/api-ref/html/test_8cpp.html | 173 +++ doc/api-ref/html/test_8cpp.js | 5 + doc/api-ref/html/test_8cpp_source.html | 106 ++ doc/parts/am-component.png | Bin 0 -> 90431 bytes doc/parts/seq_changevolume.svg | 118 ++ doc/parts/seq_connectsoundroute.svg | 145 ++ doc/parts/seq_disconnectsoundroute.svg | 110 ++ doc/parts/seq_initialization.svg | 129 ++ doc/parts/seq_registration.svg | 235 +++ doc/parts/seq_releasesoundmode.svg | 120 ++ doc/parts/seq_requestsoundmode.svg | 166 ++ doc/parts/seq_setmutestate.svg | 116 ++ doc/parts/seq_startsoundstreaming.svg | 129 ++ doc/parts/seq_startup.svg | 68 + doc/parts/seq_stopsoundstreaming.svg | 129 ++ doc/parts/software-stack.png | Bin 0 -> 41677 bytes doc/parts/software-stack2.png | Bin 0 -> 26849 bytes doc/parts/typical-usecase.png | Bin 0 -> 256665 bytes doc/parts/typical-usecase2.png | Bin 0 -> 230655 bytes 176 files changed, 11148 insertions(+) create mode 100644 doc/ApplicationGuide.md create mode 100644 doc/Display_Audio_Transition1.md create mode 100644 doc/Display_Audio_Transition2.md create mode 100644 doc/api-ref/html/annotated.html create mode 100644 doc/api-ref/html/annotated_dup.js create mode 100644 doc/api-ref/html/bc_s.png create mode 100644 doc/api-ref/html/bdwn.png create mode 100644 doc/api-ref/html/class_lib_soundmanager.html create mode 100644 doc/api-ref/html/class_lib_soundmanager.js create mode 100644 doc/api-ref/html/classes.html create mode 100644 doc/api-ref/html/closed.png create mode 100644 doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html create mode 100644 doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.js create mode 100644 doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.html create mode 100644 doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.js create mode 100644 doc/api-ref/html/dir_85932083476b47061c69d172796990a3.html create mode 100644 doc/api-ref/html/dir_85932083476b47061c69d172796990a3.js create mode 100644 doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.html create mode 100644 doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.js create mode 100644 doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.html create mode 100644 doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.js create mode 100644 doc/api-ref/html/doc.png create mode 100644 doc/api-ref/html/doxygen.css create mode 100644 doc/api-ref/html/doxygen.png create mode 100644 doc/api-ref/html/dynsections.js create mode 100644 doc/api-ref/html/files.html create mode 100644 doc/api-ref/html/files.js create mode 100644 doc/api-ref/html/folderclosed.png create mode 100644 doc/api-ref/html/folderopen.png create mode 100644 doc/api-ref/html/functions.html create mode 100644 doc/api-ref/html/functions_func.html create mode 100644 doc/api-ref/html/functions_vars.html create mode 100644 doc/api-ref/html/globals.html create mode 100644 doc/api-ref/html/globals_defs.html create mode 100644 doc/api-ref/html/globals_func.html create mode 100644 doc/api-ref/html/globals_vars.html create mode 100644 doc/api-ref/html/index.html create mode 100644 doc/api-ref/html/jquery.js create mode 100644 doc/api-ref/html/libsoundmanager_8cpp.html create mode 100644 doc/api-ref/html/libsoundmanager_8cpp.js create mode 100644 doc/api-ref/html/libsoundmanager_8cpp_source.html create mode 100644 doc/api-ref/html/libsoundmanager_8hpp.html create mode 100644 doc/api-ref/html/libsoundmanager_8hpp.js create mode 100644 doc/api-ref/html/libsoundmanager_8hpp_source.html create mode 100644 doc/api-ref/html/menu.js create mode 100644 doc/api-ref/html/menudata.js create mode 100644 doc/api-ref/html/nav_f.png create mode 100644 doc/api-ref/html/nav_g.png create mode 100644 doc/api-ref/html/nav_h.png create mode 100644 doc/api-ref/html/navtree.css create mode 100644 doc/api-ref/html/navtree.js create mode 100644 doc/api-ref/html/navtreedata.js create mode 100644 doc/api-ref/html/navtreeindex0.js create mode 100644 doc/api-ref/html/open.png create mode 100644 doc/api-ref/html/resize.js create mode 100644 doc/api-ref/html/search/all_0.html create mode 100644 doc/api-ref/html/search/all_0.js create mode 100644 doc/api-ref/html/search/all_1.html create mode 100644 doc/api-ref/html/search/all_1.js create mode 100644 doc/api-ref/html/search/all_2.html create mode 100644 doc/api-ref/html/search/all_2.js create mode 100644 doc/api-ref/html/search/all_3.html create mode 100644 doc/api-ref/html/search/all_3.js create mode 100644 doc/api-ref/html/search/all_4.html create mode 100644 doc/api-ref/html/search/all_4.js create mode 100644 doc/api-ref/html/search/all_5.html create mode 100644 doc/api-ref/html/search/all_5.js create mode 100644 doc/api-ref/html/search/all_6.html create mode 100644 doc/api-ref/html/search/all_6.js create mode 100644 doc/api-ref/html/search/all_7.html create mode 100644 doc/api-ref/html/search/all_7.js create mode 100644 doc/api-ref/html/search/all_8.html create mode 100644 doc/api-ref/html/search/all_8.js create mode 100644 doc/api-ref/html/search/all_9.html create mode 100644 doc/api-ref/html/search/all_9.js create mode 100644 doc/api-ref/html/search/all_a.html create mode 100644 doc/api-ref/html/search/all_a.js create mode 100644 doc/api-ref/html/search/all_b.html create mode 100644 doc/api-ref/html/search/all_b.js create mode 100644 doc/api-ref/html/search/all_c.html create mode 100644 doc/api-ref/html/search/all_c.js create mode 100644 doc/api-ref/html/search/all_d.html create mode 100644 doc/api-ref/html/search/all_d.js create mode 100644 doc/api-ref/html/search/classes_0.html create mode 100644 doc/api-ref/html/search/classes_0.js create mode 100644 doc/api-ref/html/search/classes_1.html create mode 100644 doc/api-ref/html/search/classes_1.js create mode 100644 doc/api-ref/html/search/close.png create mode 100644 doc/api-ref/html/search/defines_0.html create mode 100644 doc/api-ref/html/search/defines_0.js create mode 100644 doc/api-ref/html/search/defines_1.html create mode 100644 doc/api-ref/html/search/defines_1.js create mode 100644 doc/api-ref/html/search/defines_2.html create mode 100644 doc/api-ref/html/search/defines_2.js create mode 100644 doc/api-ref/html/search/defines_3.html create mode 100644 doc/api-ref/html/search/defines_3.js create mode 100644 doc/api-ref/html/search/defines_4.html create mode 100644 doc/api-ref/html/search/defines_4.js create mode 100644 doc/api-ref/html/search/defines_5.html create mode 100644 doc/api-ref/html/search/defines_5.js create mode 100644 doc/api-ref/html/search/defines_6.html create mode 100644 doc/api-ref/html/search/defines_6.js create mode 100644 doc/api-ref/html/search/defines_7.html create mode 100644 doc/api-ref/html/search/defines_7.js create mode 100644 doc/api-ref/html/search/files_0.html create mode 100644 doc/api-ref/html/search/files_0.js create mode 100644 doc/api-ref/html/search/files_1.html create mode 100644 doc/api-ref/html/search/files_1.js create mode 100644 doc/api-ref/html/search/files_2.html create mode 100644 doc/api-ref/html/search/files_2.js create mode 100644 doc/api-ref/html/search/functions_0.html create mode 100644 doc/api-ref/html/search/functions_0.js create mode 100644 doc/api-ref/html/search/functions_1.html create mode 100644 doc/api-ref/html/search/functions_1.js create mode 100644 doc/api-ref/html/search/functions_2.html create mode 100644 doc/api-ref/html/search/functions_2.js create mode 100644 doc/api-ref/html/search/functions_3.html create mode 100644 doc/api-ref/html/search/functions_3.js create mode 100644 doc/api-ref/html/search/functions_4.html create mode 100644 doc/api-ref/html/search/functions_4.js create mode 100644 doc/api-ref/html/search/functions_5.html create mode 100644 doc/api-ref/html/search/functions_5.js create mode 100644 doc/api-ref/html/search/functions_6.html create mode 100644 doc/api-ref/html/search/functions_6.js create mode 100644 doc/api-ref/html/search/functions_7.html create mode 100644 doc/api-ref/html/search/functions_7.js create mode 100644 doc/api-ref/html/search/functions_8.html create mode 100644 doc/api-ref/html/search/functions_8.js create mode 100644 doc/api-ref/html/search/mag_sel.png create mode 100644 doc/api-ref/html/search/nomatches.html create mode 100644 doc/api-ref/html/search/search.css create mode 100644 doc/api-ref/html/search/search.js create mode 100644 doc/api-ref/html/search/search_l.png create mode 100644 doc/api-ref/html/search/search_m.png create mode 100644 doc/api-ref/html/search/search_r.png create mode 100644 doc/api-ref/html/search/searchdata.js create mode 100644 doc/api-ref/html/search/variables_0.html create mode 100644 doc/api-ref/html/search/variables_0.js create mode 100644 doc/api-ref/html/search/variables_1.html create mode 100644 doc/api-ref/html/search/variables_1.js create mode 100644 doc/api-ref/html/search/variables_2.html create mode 100644 doc/api-ref/html/search/variables_2.js create mode 100644 doc/api-ref/html/search/variables_3.html create mode 100644 doc/api-ref/html/search/variables_3.js create mode 100644 doc/api-ref/html/soundmanager_8c.html create mode 100644 doc/api-ref/html/soundmanager_8c.js create mode 100644 doc/api-ref/html/soundmanager_8c_source.html create mode 100644 doc/api-ref/html/splitbar.png create mode 100644 doc/api-ref/html/structevent.html create mode 100644 doc/api-ref/html/structevent.js create mode 100644 doc/api-ref/html/sync_off.png create mode 100644 doc/api-ref/html/sync_on.png create mode 100644 doc/api-ref/html/tab_a.png create mode 100644 doc/api-ref/html/tab_b.png create mode 100644 doc/api-ref/html/tab_h.png create mode 100644 doc/api-ref/html/tab_s.png create mode 100644 doc/api-ref/html/tabs.css create mode 100644 doc/api-ref/html/test_8cpp.html create mode 100644 doc/api-ref/html/test_8cpp.js create mode 100644 doc/api-ref/html/test_8cpp_source.html create mode 100644 doc/parts/am-component.png create mode 100644 doc/parts/seq_changevolume.svg create mode 100644 doc/parts/seq_connectsoundroute.svg create mode 100644 doc/parts/seq_disconnectsoundroute.svg create mode 100644 doc/parts/seq_initialization.svg create mode 100644 doc/parts/seq_registration.svg create mode 100644 doc/parts/seq_releasesoundmode.svg create mode 100644 doc/parts/seq_requestsoundmode.svg create mode 100644 doc/parts/seq_setmutestate.svg create mode 100644 doc/parts/seq_startsoundstreaming.svg create mode 100644 doc/parts/seq_startup.svg create mode 100644 doc/parts/seq_stopsoundstreaming.svg create mode 100644 doc/parts/software-stack.png create mode 100644 doc/parts/software-stack2.png create mode 100644 doc/parts/typical-usecase.png create mode 100644 doc/parts/typical-usecase2.png diff --git a/doc/ApplicationGuide.md b/doc/ApplicationGuide.md new file mode 100644 index 0000000..b5c0e4e --- /dev/null +++ b/doc/ApplicationGuide.md @@ -0,0 +1,358 @@ +**Sound Manager Application Guide** +==== +
Revision: 0.1
+
TOYOTA MOTOR CORPORATION
+
Advanced Driver Information Technology
+
22th/Aug/2017
+ +* * * + +## **
Table of content
** +- [Target reader of this document](#Target\ reader\ of\ this\ document) +- [Overview](#Overview) +- [Getting Start](#Getting\ Start) + - [Supported environment](#Supported\ environment) + - [Build](#Build) + - [Configuring](#Configuring) + - [How to call Sound Manager's APIs from your Application?](#How\ to\ call\ Sound\ Manager\ APIs\ from\ your\ Application?) +- [Supported usecase](#Supported\ usecase) +- [Software Architecture](#Software\ Architecture) +- [API reference](#API\ reference) + - [CommandReceiver API](#CommandReceiver\ API) + - [CommandSender API](#CommandSender\ API) + - [CAmRoutingReceiver API](#CAmRoutingReceiver\ API) + - [CAmRoutingSender API](#CAmRoutingSender\ API) + - [Sound Manager Specific API](#Sound\ Manager\ Specific\ API) +- [Sequence](#Sequence) + - [StartUp](#StartUp) + - [Registration](#Registration) + - [Request Sound Right](#Request\ Sound\ Right) + - [Connect Sound Route](#Connect\ Sound\ Route) + - [Start Sound Streaming](#Start\ Sound\ Streaming) + - [Stop Sound Streaming](#Stop\ Sound\ Streaming) + - [Disconnect Sound Route](#Disconnect\ Sound\ Route) + - [Change Volume](#Change\ Volume) + - [Set Mute State](#Set\ Mute\ State) + - [Release Sound Right](#Release\ Sound\ Right) + - [Audio Domain](#Audio\ Domain) +- [Sample code](#Sample\ code) +- [Limitation](#Limitation) +- [Next Plan](#Next\ Plan) + +* * * + +## **
Target reader of this document
** +Application developer whose software uses sound output. + +* * * + +## **
Overview
** +The sound manager is the service which provides **sound-right management** for multiple sound sources. +This service based on GENIVI Audio Manager, and this package contains service binder and library for API calling. +The reason why this service based on GENIVI Audio Manager is because the sound manager supports highly strong and flexible sound-right management function. + +In order to understand, the below figure shows the one of typical usecases. +In this example, there are four sound mode. +1. Audio Off +2. Media Player +3. Tel (Ring and talking) +4. TTS (Text To Speech; typically it's used by Navigation sound) +![Figure: Typical usecase](parts/typical-usecase.png) + +The important points are: +- **There is a priority for each sound source.** + In this example, "Tel" and "TTS" is stronger than "MediaPlayer". Therefore when the system got incoming call, all four outputs of MediaPlayer are muted automatically by Sound Manager. And in this timing, Sound Manager will issue the event to Media Player, then Media Player can stop the music. (Because depends on OEM's requirement, "Stop" is required, not "Mute".) + "Tel" and "TTS" have the same priority. So if TTS event happened on talking, each sound will output from independent speaker. + If on-hook button is touched, Sound Manager will resume previous sound mode. In this example, basically it's MediaPlayer sound. But if TTS still playing, three speaker will output MediaPlayer sound but one speaker will continue to output TTS sound. +- **Sound mode transition should be done by Sound Manager not Applications.** + Actually application cannot recognize all sound source and its priority, so some centerized manager is required. Sound Manager provides this function. Sound Manager has a database for usecase and priority and in line with this policy Sound Manager controls proper sound mode. + + +The below links show the example of Sound/Window mode transition. +* [Single window application](Display_Audio_Transition1.md) + This transition assumes target IVI system support only one window on screen. It's a similar transition to CES2017 demo. +* [Dual window application](Display_Audio_Transition2.md) + This transition assumes target IVI system support two window (split screen) on screen. + + Of course user can customize shortcut menu, but since it's too many states so this example limits shortcut menu as "Home", "MediaPlayer", "HVAC" and "Navigation". + +* * * + +## **
Getting Start
** + +### **
Supported environment
** +| Item | Description | +|:------------|:----------------------------------| +| AGL version | Daring Dab | +| Hardware | Renesas R-Car Starter Kit Pro(M3) | + + +### **
Build
** + +You can make Sound Manager object files by the following two stage operations. + +**Download recipe** +If repo is already done, please start with git clone +``` +$ mkdir WORK +$ cd WORK +$ repo init -b dab -m dab_4.0.0_xml -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo +$ repo sync +$ git clone git clone https://gerrit.automotivelinux.org/gerrit/staging/meta-hmi-framework + +``` + +Then you can get the following recipe. +* `meta-hmi-framework/soundmanager` + + +**Bitbake** +``` +$ source meta-agl/scripts/aglsetup.sh -m m3ulcb agl-demo agl-devel agl-appfw-smack +$ bitbake soundmanager +``` + + +* * * + +### **
Configuring
** +To use Sound Manager API, an application shall paste the following configuration definition into "config.xml" of application. +``` + + + +``` + +* * * + +### **
How to call Sound Manager APIs from your Application?
** +Sound Manager provides a library which is called "libsoundmanager". +This library treats "json format" as API calling. +For example, if an application wants to call "connect()" API, the you should implement as below. + +At first the application should create the instance of libsoundmanager. +``` +LibSoundmanager* libsm; +libsm = new LibSoundmanager(port, token); +``` +The port and token is provided by Application Framework + +Then assign the argument to JSON object +``` +struct json_object* jobj = json_object_new_object(); + +json_object_object_add(jobj, "sourceID", json_object_new_int(100)); +json_object_object_add(jobj, "sinkID", json_object_new_int(100)); + +``` + + +And finally execute the "cal()" function. +``` +libsm->call("connect", jobj); +``` + +Regarding the detail of connect() API, please refer [this](#CommandReceiver\ API) section. +The first parameter is the name of API, so in this case "connect" is proper string. +And the second parameter corresponds to arguments of "connect()" API. + + + +See also our [Sample code](#Sample\ code). + + +
+ +* * * + +## **
Supported usecase
** +1. Active source change + - When user choose different audio source with current one, IVI system stop or pause current source and activate new one. + - When user connect external device e.g. iPhone, USB memory IVI system change active source automatically to connected one. +2. Active source locking + - When user is in phone call, IVI restrict to change active source. +3. Interrupt source mixing + - When car close to cross road IVI system reduce the volume of current source and mix with interrupt source e.g. Navigation Guidance. +4. Volume change + - User can change the volume of active source or sink. + - When user change volume during interruption e.g. Navigation Guidance, IVI system change its volume temporary or permanently. +5. Mute/unmute + - User can mute/unmute current active source. +6. Volume management + - When user change active source, IVI system mute/unmute to avoid distortion of sound. +7. Volume acceleration + - When road noise is increased by speed, IVI system automatically change the volume of active source. +8. Routing sound + - System needs to route sound stream to proper zones. (driver zone, passenger zone, rear seat zone) + +[See also this page](https://wiki.automotivelinux.org/eg-ui-graphics-req-audiorouting) + +* * * + +## **
Software Architecture
** +The architecture of Sound Manager is shown below. +Sound Manager is the service designed to be used by multiple applications. +Therefore Sound Manager framework consists on two binder layers. Please refer the following figure. +The upper binder is for application side security context for applications. The lower binder is for servide side security context. +Usually application side binder has some business logic for each application, so the number of binders depend on the number of applications which use Sound Manager. +On the other hand, regarding lower binder there is only one module in the system. This binder receives all messages from multiple applications (in detail, it comes from upper layer binder). + +The communication protocols between libsoundmanager and upper binder, upper binder and lower binder, lower binder (soundmanager-binding) and AudioManager are WebSocket. + +![software-stack.png](parts/software-stack.png) + +* * * + +## **
API reference
** +"libsoundmanager" and "soundmanager_binding" provides several kinds of APIs, and these APIs basically correspond to GENIVI Audio Manager API. (Some APIs are Sound Manager original functions.) + +For understanding, GENIVI Audio Manager stands for one core module and three plug-ins. +1. AudioManagerDaemon + This is a core module of Audio Manager. +2. AudioManagerCommandPlugin + This is a command interface for Audio Manager. +3. AudioManagerController + This plug-in can be used for sound-right management. +4. AudioManagerRountingPlugin + This plug-in abstracts the hardware and software. And sometimes there may be multiple plug-ins. + +*) [See also GENIVI AudioManager Components](http://docs.projects.genivi.org/AudioManager/audiomanagercomponentspage.html) + +![See also GENIVI AudioManager Components](parts/am-component.png) +(This figure was copied from GENIVI Web page.) + +### **
CommandReceiver API
** +- [connect (const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t &mainConnectionID)](http://docs.projects.genivi.org/AudioManager/a00033.html#a62d8f5aee1e601d59f993c5a5561e234) +- [disconnect (const am_mainConnectionID_t mainConnectionID)](http://docs.projects.genivi.org/AudioManager/a00033.html#aa24d0146f4e3c75e02d6c0152e246da1) +- [setVolume (const am_sinkID_t sinkID, const am_mainVolume_t volume)](http://docs.projects.genivi.org/AudioManager/a00033.html#a6d47bc67473d75495260abe8c666fc7e) +- [volumeStep (const am_sinkID_t sinkID, const int16_t volumeStep)](http://docs.projects.genivi.org/AudioManager/a00033.html#ad7a4c1fe5a2ecfaae5484a14d8820e58) +- [setSinkMuteState (const am_sinkID_t sinkID, const am_MuteState_e muteState)](http://docs.projects.genivi.org/AudioManager/a00033.html#afae22041843c5349be16a6593d3ebb9c) +- [getListMainConnections (std::vector< am_MainConnectionType_s > &listConnections)](http://docs.projects.genivi.org/AudioManager/a00033.html#a59d10a7178e3227d0b8f415308c71179) + +### **
CommandSender API
** +These APIs are callback function from GENIVI Audio Manager point of view, but it's treated as asynchronous "event" from Application point of view. +To receive an event, Application should call "subscribe()" API, and register the event name. +Each CommandSender API corresponds to event name. For example, if an application wants to get the event of "cbNewMainConnection()", the event name shall be specified as "newMainConnection". +- [cbNewMainConnection (const am_MainConnectionType_s mainConnection)](http://docs.projects.genivi.org/AudioManager/a00034.html#a69ada9e19c65c1d078d8a5f473d08586) +- [cbRemovedMainConnection (const am_mainConnectionID_t mainConnection)](http://docs.projects.genivi.org/AudioManager/a00034.html#aa3b5906bcf682cff155fb24d402efd89) +- [cbMainConnectionStateChanged (const am_mainConnectionID_t connectionID, const am_ConnectionState_e connectionState)](http://docs.projects.genivi.org/AudioManager/a00034.html#a32aa8ab84632805a876e023a7aead810) +- [cbVolumeChanged (const am_sinkID_t sinkID, const am_mainVolume_t volume)](http://docs.projects.genivi.org/AudioManager/a00034.html#a4494fdd835137e572f2cf4a3aceb6ae5) +- [cbSinkMuteStateChanged (const am_sinkID_t sinkID, const am_MuteState_e muteState)](http://docs.projects.genivi.org/AudioManager/a00034.html#a6068ce59089fbdc63aec81e778aba238) + +### **
CAmRoutingReceiver API
** +- [confirmRoutingReady (const uint16_t handle, const am_Error_e error)](http://docs.projects.genivi.org/AudioManager/a00053.html#a1dd1b89cccffeaafb1a3c11cebd7e48c) +- [registerSource (const am_Source_s &sourceData, am_sourceID_t &sourceID)](http://docs.projects.genivi.org/AudioManager/a00053.html#acadce23459d94cec496d17700cbde230) +- [registerDomain (const am_Domain_s &domainData, am_domainID_t &domainID)](http://docs.projects.genivi.org/AudioManager/a00053.html#a34841797b481e774867ce0a1efacd5f2) +- [ackConnect (const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)](http://docs.projects.genivi.org/AudioManager/a00053.html#ad680eddb5bf7aa480308807903dcb592) +- [ackSetSourceState (const am_Handle_s handle, const am_Error_e error)](http://docs.projects.genivi.org/AudioManager/a00053.html#a11f6b0378a50296a72107d6a1fa7ec21) +- [ackDisconnect (const am_Handle_s handle, const am_connectionID_t connectionID, const am_Error_e error)](http://docs.projects.genivi.org/AudioManager/a00053.html#af478e5deb2e71e94c28cec497ac48ff4) + +### **
CAmRoutingSender API
** +These APIs are also treaded as asynchronous event. + +- [setRoutingReady ()](http://docs.projects.genivi.org/AudioManager/a00054.html#a7a4d410e30df0e8240d25a57e3c72c6b) +- [asyncConnect (am_Handle_s &handle, am_connectionID_t &connectionID, const am_sourceID_t sourceID, const am_sinkID_t sinkID, const am_CustomConnectionFormat_t connectionFormat)](http://docs.projects.genivi.org/AudioManager/a00054.html#a8a81297be9c64511e27d85444c59b0d6) +- [asyncSetSourceState (am_Handle_s &handle, const am_sourceID_t sourceID, const am_SourceState_e state)](http://docs.projects.genivi.org/AudioManager/a00054.html#ab02d93d54ee9cd98776a3f2d274ee24d) +- [asyncDisconnect (am_Handle_s &handle, const am_connectionID_t connectionID)](http://docs.projects.genivi.org/AudioManager/a00054.html#a93ae95515730eb615ab5dfc1316d7862) + +### **
Sound Manager Specific API
** +- [LibSoundmanager ()](api-ref/html/class_lib_soundmanager.html#a8b51e9891813cb62dd12109c017ad106) +- [call (const string& verb, struct json_object* arg)](api-ref/html/class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773) +- [call (const char* verb, struct json_object* arg)](api-ref/html/class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773) +- [subscribe (const string& event_name)](api-ref/html/class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e) +- [unsubscribe (const string& event_name)](api-ref/html/class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06) +- [register_callback( void (\*event_cb)(const std::string& event, struct json_object\* event_contents), void (\*reply_cb)(struct json_object\* reply_contents))](api-ref/html/class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74) +- [run_eventloop()](api-ref/html/class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729) +* * * + +## **
Sequence
** +### **
StartUp
** +![seq_startup.png](parts/seq_startup.svg) + +### **
Registration
** +![seq_registration.png](parts/seq_registration.svg) + +### **
Request Sound Right
** +![seq_requestsoundmode.png](parts/seq_requestsoundmode.svg) + +### **
Connect Sound Route
** +![seq_connectsoundroute.png](parts/seq_connectsoundroute.svg) + +### **
Start Sound Streaming
** +![seq_startsoundstreaming.png](parts/seq_startsoundstreaming.svg) + +### **
Stop Sound Streaming
** +![seq_stopsoundstreaming.png](parts/seq_stopsoundstreaming.svg) + +### **
Disconnect Sound Route
** +![seq_disconnectsoundroute.png](parts/seq_disconnectsoundroute.svg) + +### **
Change Volume
** +![seq_changevolume.png](parts/seq_changevolume.svg) + +### **
Set Mute State
** +![seq_setmutestate.png](parts/seq_setmutestate.svg) + +### **
Release Sound Right
** +![seq_releasesoundmode.png](parts/seq_releasesoundmode.svg) + +* * * + +### **
Audio Domain
** + +One of the most important concept of Audio Manager is Audio Domain. +To use GENIVI Audio Manager based system, it may be better to understand this concept. +The below document should bring good understanding. + +[GENIVI Audio Manager: Generic Controller Plug-in](http://events.linuxfoundation.org/sites/events/files/slides/AGL_AMM_presentation_A01.pdf) + +Although strongly recommended to read whole pages, but you can get quick understanding by page.10 to 14. + + +# **
Sample code
** +You can find sample implementation of Sound Manager as below. +* `soundmanager/sample/radio` +* `soundmanager/sample/mediaplayer` +* `soundmanager/sample/phone` + +This samples are based on QML application. But the library is written as C library so it is usable for other HMI framework. +To use Sound Manager, at first libsoundmanager should be enabled. As this sample, please refer to "soundmanager/sample/radio/app/main.cpp". +Then as the calling sample from QML, please refer "soundmanager/sample/radio/app/Radio.qml". The following code is found in this file. +``` +onClicked: { + var JsonArg = JSON.stringify({sourceID:100, sinkID:100}) + smw.call("connect",JsonArg) +``` + +And also we provide the other sample as below. +* `soundmanager/sample/radio_qml` + +This is an alternative way against useing libsoundmanager. +This sample doesn't use libsoundmanager but calls API via WebSocket class which is provided by QML. How to implement this way is found in "soundmanager/sample/radio_qml/app/api/BindingSoundManager.qml". + +# **
Limitation
** +* The following APIs can be called, but probably it doesn't work + * setVolume + * volumeStep +* The following APIs cannot be called so far. + * getVolume +* The following events never happen. + * volumeChanged +* The following sample application is under developing + * soundmanager/sample/phone + +# **
Next Plan
** +* Add new calling style for API +Current Sound Manger expects all APIs call be called as JSON format. +But Sound Manager provide "function call" interface in next version. So it will be possible to call all APIs of Sound Manager not only JSON format but also function style. + +* Support source name and sink name as abstract alias instead of SourceID/SinkID +The CommandReciever APIs requires SourceID/SinkID assigned dynamically as arguments, but after supporting this feature, you can call these APIs using abstract bname such like "radio" or "speaker". It will provide more readable code. + +``` +struct json_object* jobj = json_object_new_object(); + +json_object_object_add(jobj, "sourceID", json_object_new_string("radio")); +json_object_object_add(jobj, "sinkID", json_object_new_string("speaker")); + +``` diff --git a/doc/Display_Audio_Transition1.md b/doc/Display_Audio_Transition1.md new file mode 100644 index 0000000..a9c1604 --- /dev/null +++ b/doc/Display_Audio_Transition1.md @@ -0,0 +1,123 @@ +# Sound mode transition for single window application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StateEvent
State IDDisplayAudioPowerPush HomeScreen buttonStart BTAIncoming callPush Shortcut buttonTTSPush Phone control buttonSafety hazard
Win#1PopUpFLFRRLRROnOffMedia PlayerRadioNaviHVACPhoneOther buttonHomeMedia PlayerHVACNaviNavi INT TTSEndedRejectOff hookOn hookDetectedRecovered
S1--offoffoffoffS2--------------------
S2Home-offoffoffoff-S1S22S27S37S57S77S97S17S4-S22S57S37S3----S117-
S3Home-offTTSoffoff-S1S23S28S38S58S78S98S18S4-S23S58S38-S2---S117-
S4HomeRingingTeloffoffoff-S1------S19-------S2S5-S117-
S5Phone-Teloffoffoff-S1------S20--S25S60S40S6---S2S117-
S6Phone-TelTTSoffoff-S1------S21--S26S61S41-S5--S3S117-
S7Home-MPMPMPMP-S1S22S27S42S62S82S102S17S9-S22S62S42S8----S117-
S8Home-MPTTSMPMP-S1S23S28S43S63S83S103S18S9-S23S63S43-S7---S117-
S9HomeRingingTeloffoffoff-S1------S19-------S7S10-S117-
S10Phone-Teloffoffoff-S1------S20--S25S65S45S11---S7S117-
S11Phone-TelTTSoffoff-S1------S21--S26S66S46-S10--S8S117-
S12Home-RadioRadioRadioRadio-S1S22S27S47S67S87S107S17S14-S22S67S47S13----S117-
S13Home-RadioTTSRadioRadio-S1S23S28S48S68S88S108S18S14-S23S68S48-S12---S117-
S14HomeRingingTeloffoffoff-S1------S19-------S12S15-S117-
S15Phone-Teloffoffoff-S1------S20--S25S70S50S16---S12S117-
S16Phone-TelTTSoffoff-S1------S21--S26S71S51-S15--S13S117-
S17Home-BTABTABTABTA-S1S32S27S52S72S92S112S17S19-S32S72S52S18----S117-
S18Home-BTATTSBTABTA-S1S33S28S53S73S93S113S18S19-S33S73S53-S17---S117-
S19HomeRingingTeloffoffoff-S1------S19-------S17S20-S117-
S20Phone-Teloffoffoff-S1------S20--S35S75S55S21---S17S117-
S21Phone-TelTTSoffoff-S1------S21--S36S76S56-S20--S18S117-
S22MP-MPMPMPMP-S1------S32S24S7-S62S42S23---S117-
S23MP-MPTTSMPMP-S1------S33S24S8-S63S43-S22--S117-
S24MPRingingTeloffoffoff-S1------S34-------S22S25-S117-
S25Phone-Teloffoffoff-S1------S35-S10-S65S45S26---S22S117-
S26Phone-TelTTSoffoff-S1------S36-S11-S66S46-S25--S23S117-
S27Radio-RadioRadioRadioRadio-S1------S32S29S12S22S67S47S28---S117-
S28Radio-RadioTTSRadioRadio-S1------S33S29S13S23S68S48-S27--S117-
S29RadioRingingTeloffoffoff-S1------S34-------S27S30-S117-
S30Phone-Teloffoffoff-S1------S35-S15S25S70S50S31---S27S117-
S31Phone-TelTTSoffoff-S1------S36-S16S26S71S51-S30--S28S117-
S32MP(BTA)-BTABTABTABTA-S1-------S34S17-S72S52S33---S117-
S33MP(BTA)-BTATTSBTABTA-S1-------S34S18-S73S53-S32--S117-
S34MP(BTA)RingingTeloffoffoff-S1--------------S32S35-S117-
S35Phone-Teloffoffoff-S1--------S20-S75S55S36---S32S117-
S36Phone-TelTTSoffoff-S1--------S21-S76S56-S35--S33S117-
S37Navioffoffoffoff-S1------S52S39S2S22S57S37S38----S117-
S38NavioffTTSoffoff-S1------S53S39S3S23S58S38-S37---S117-
S39NaviRingingTeloffoffoff-S1------S54-------S37S40-S117-
S40Phone-Teloffoffoff-S1------S55-S5S25S60S40S41---S37S117-
S41Phone-TelTTSoffoff-S1------S56-S6S26S61S41-S40--S38S117-
S42Navi-MPMPMPMP-S1------S52S44S7S22S62-S43----S117-
S43Navi-MPTTSMPMP-S1------S53S44S8S23S63--S42---S117-
S44NaviRingingTeloffoffoff-S1------S54-------S42S45-S117-
S45Phone-Teloffoffoff-S1------S55-S10S25S65-S46---S42S117-
S46Phone-TelTTSoffoff-S1------S56-S11S26S66--S45--S43S117-
S47Navi-RadioRadioRadioRadio-S1------S52S49S12S22S67-S48----S117-
S48Navi-RadioTTSRadioRadio-S1------S53S49S13S23S68--S47---S117-
S49NaviRingingTeloffoffoff-S1------S54-------S47S50-S117-
S50Phone-Teloffoffoff-S1------S55-S15S25S70-S51---S47S117-
S51Phone-TelTTSoffoff-S1------S56-S16S26S71--S50--S48S117-
S52Navi-BTABTABTABTA-S1-------S54S17S32S72S52S53----S117-
S53Navi-BTATTSBTABTA-S1-------S54S18S33S73S53-S52---S117-
S54NaviRingingTeloffoffoff-S1--------------S52S55-S117-
S55Phone-Teloffoffoff-S1--------S20S35S75S55S56---S52S117-
S56Phone-TelTTSoffoff-S1--------S21S36S76S56-S55--S53S117-
S57HVACoffoffoffoff-S1------S72S59S2S22-S37S58----S117-
S58HVACoffTTSoffoff-S1------S73S59S3S23-S38-S57---S117-
S59HVACRingingTeloffoffoff-S1------S74-------S57S60-S117-
S60Phone-Teloffoffoff-S1------S75-S5S25-S40S61---S57S117-
S61Phone-TelTTSoffoff-S1------S76-S6S26-S41-S60--S58S117-
S62HVAC-MPMPMPMP-S1------S72S64S7S22-S42S63----S117-
S63HVAC-MPTTSMPMP-S1------S73S64S8S23-S43-S62---S117-
S64HVACRingingTeloffoffoff-S1------S74-------S62S65-S117-
S65Phone-Teloffoffoff-S1------S75-S10S25-S45S66---S62S117-
S66Phone-TelTTSoffoff-S1------S76-S11S26-S46-S65--S63S117-
S67HVAC-RadioRadioRadioRadio-S1------S72S69S12S22-S47S68----S117-
S68HVAC-RadioTTSRadioRadio-S1------S73S69S13S23-S48-S67---S117-
S69HVACRingingTeloffoffoff-S1------S74-------S67S70-S117-
S70Phone-Teloffoffoff-S1------S75-S15S25-S50S71---S67S117-
S71Phone-TelTTSoffoff-S1------S76-S16S26-S51-S70--S68S117-
S72HVAC-BTABTABTABTA-S1-------S74S17S32-S52S73----S117-
S73HVAC-BTATTSBTABTA-S1-------S74S18S33-S53-S72---S117-
S74HVACRingingTeloffoffoff-S1--------------S72S75-S117-
S75Phone-Teloffoffoff-S1--------S20S35-S55S76---S72S117-
S76Phone-TelTTSoffoff-S1--------S21S36-S56-S75--S73S117-
S77Phoneoffoffoffoff-S1------S92S79S2S22S57S37S78----S117-
S78PhoneoffTTSoffoff-S1------S93S79S3S23S58S38-S77---S117-
S79PhoneRingingTeloffoffoff-S1------S94-------S77S80-S117-
S80Phone-Teloffoffoff-S1------S95-S5S25S60S40S81---S77S117-
S81Phone-TelTTSoffoff-S1------S96-S6S26S61S41-S80--S78S117-
S82Phone-MPMPMPMP-S1------S92S84S7S22S62S42S83----S117-
S83Phone-MPTTSMPMP-S1------S93S84S8S23S63S43-S82---S117-
S84PhoneRingingTeloffoffoff-S1------S94-------S82S85-S117-
S85Phone-Teloffoffoff-S1------S95-S10S25S65S45S86---S82S117-
S86Phone-TelTTSoffoff-S1------S96-S11S26S66S46-S85--S83S117-
S87Phone-RadioRadioRadioRadio-S1------S92S89S12S22S67S47S88----S117-
S88Phone-RadioTTSRadioRadio-S1------S93S89S13S23S68S48-S87---S117-
S89PhoneRingingTeloffoffoff-S1------S94-------S87S90-S117-
S90Phone-Teloffoffoff-S1------S95-S15S25S70S50S91---S87S117-
S91Phone-TelTTSoffoff-S1------S96-S16S26S71S51-S90--S88S117-
S92Phone-BTABTABTABTA-S1-------S94S17S32S72S52S93----S117-
S93Phone-BTATTSBTABTA-S1-------S94S18S33S73S53-S92---S117-
S94PhoneRingingTeloffoffoff-S1--------------S92S95-S117-
S95Phone-Teloffoffoff-S1--------S20S35S75S55S96---S92S117-
S96Phone-TelTTSoffoff-S1--------S21S36S76S56-S95--S93S117-
S97Other-offoffoffoff-S1------S112S99S2S22S57S37S98----S117-
S98Other-offTTSoffoff-S1------S113S99S3S23S58S38-S97---S117-
S99OtherRingingTeloffoffoff-S1------S114-------S97S100-S117-
S100Other-Teloffoffoff-S1------S115-S5S25S60S40S101---S97S117-
S101Other-TelTTSoffoff-S1------S116-S6S26S61S41-S100--S98S117-
S102OtherMPMPMPMP-S1------S112S104S7S22S62S42S103----S117-
S103OtherMPTTSMPMP-S1------S113S104S8S23S63S43-S102---S117-
S104OtherRingingTeloffoffoff-S1------S114-------S102S105-S117-
S105Other-Teloffoffoff-S1------S115-S10S25S65S45S106---S102S117-
S106Other-TelTTSoffoff-S1------S116-S11S26S66S46-S105--S103S117-
S107Other-RadioRadioRadioRadio-S1------S112S109S12S22S67S47S108----S117-
S108Other-RadioTTSRadioRadio-S1------S113S109S13S23S68S48-S107---S117-
S109OtherRingingTeloffoffoff-S1------S114-------S107S110-S117-
S110Other-Teloffoffoff-S1------S115-S15S25S70S50S111---S107S117-
S111Other-TelTTSoffoff-S1------S116-S16S26S71S51-S110--S108S117-
S112Other-BTABTABTABTA-S1-------S114S17S32S72S52S113----S117-
S113Other-BTATTSBTABTA-S1-------S114S18S33S73S53-S112---S117-
S114OtherRingingTeloffoffoff-S1--------------S112S115-S117-
S115Other-Teloffoffoff-S1--------S20S35S75S55S116---S112S117-
S116Other-TelTTSoffoff-S1--------S21S36S76S56-S115--S113S117-
S117anyanyanyWarnanyany-S1------------------S(previous)
diff --git a/doc/Display_Audio_Transition2.md b/doc/Display_Audio_Transition2.md new file mode 100644 index 0000000..46d52b8 --- /dev/null +++ b/doc/Display_Audio_Transition2.md @@ -0,0 +1,333 @@ +# Sound mode transition for dual window application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StateEvent
State IDDisplayAudioPowerPush HomeScreen buttonStart BTAIncoming callPush Shortcut buttonTouchTTSPush Phone control buttonSafety hazard
Win#1Win#2PopUpFLFRRLRROnOffMedia PlayerRadioNaviHVACPhoneOther buttonHomeMedia PlayerHVACNaviWin#1Win#2Navi INT TTSEndedRejectOff hookOn hookDetectedRecovered
S1---offoffoffoffS2----------------------
S2Home--offoffoffoff-S1S22S27S37S57S77S97S17S4-S22S57S37--S3----S327-
S3Home--offTTSoffoff-S1S23S28S38S58S78S98S18S4-S23S58S38---S2---S327-
S4Home-RingingTeloffoffoff-S1------S19---------S2S5-S327-
S5Phone--Teloffoffoff-S1------S20--S25S60S40--S6---S2S327-
S6Phone--TelTTSoffoff-S1------S21--S26S61S41---S5--S3S327-
S7Home--MPMPMPMP-S1S22S27S42S62S82S102S17S9-S22S62S42--S8----S327-
S8Home--MPTTSMPMP-S1S23S28S43S63S83S103S18S9-S23S63S43---S7---S327-
S9Home-RingingTeloffoffoff-S1------S19---------S7S10-S327-
S10Phone--Teloffoffoff-S1------S20--S25S65S45--S11---S7S327-
S11Phone--TelTTSoffoff-S1------S21--S26S66S46---S10--S8S327-
S12Home--RadioRadioRadioRadio-S1S22S27S47S67S87S107S17S14-S22S67S47--S13----S327-
S13Home--RadioTTSRadioRadio-S1S23S28S48S68S88S108S18S14-S23S68S48---S12---S327-
S14Home-RingingTeloffoffoff-S1------S19---------S12S15-S327-
S15Phone--Teloffoffoff-S1------S20--S25S70S50--S16---S12S327-
S16Phone--TelTTSoffoff-S1------S21--S26S71S51---S15--S13S327-
S17Home--BTABTABTABTA-S1S32S27S52S72S92S112S17S19-S32S72S52--S18----S327-
S18Home--BTATTSBTABTA-S1S33S28S53S73S93S113S18S19-S33S73S53---S17---S327-
S19Home-RingingTeloffoffoff-S1------S19---------S17S20-S327-
S20Phone--Teloffoffoff-S1------S20--S35S75S55--S21---S17S327-
S21Phone--TelTTSoffoff-S1------S21--S36S76S56---S20--S18S327-
S22MP--MPMPMPMP-S1------S32S24S7-S117S122--S23---S327-
S23MP--MPTTSMPMP-S1------S33S24S8-S118S123---S22--S327-
S24MP-RingingTeloffoffoff-S1------S34---------S22S25-S327-
S25Phone--Teloffoffoff-S1------S35-S10-S120S125--S26---S22S327-
S26Phone--TelTTSoffoff-S1------S36-S11-S121S126---S25--S23S327-
S27Radio--RadioRadioRadioRadio-S1------S32S29S12S132S147S152--S28---S327-
S28Radio--RadioTTSRadioRadio-S1------S33S29S13S133S148S153---S27--S327-
S29Radio-RingingTeloffoffoff-S1------S34---------S27S30-S327-
S30Phone--Teloffoffoff-S1------S35-S15S135S150S155--S31---S27S327-
S31Phone--TelTTSoffoff-S1------S36-S16S136S151S156---S30--S28S327-
S32MP(BTA)--BTABTABTABTA-S1-------S34S17S32S157S162--S33---S327-
S33MP(BTA)--BTATTSBTABTA-S1-------S34S18S33S158S163---S32--S327-
S34MP(BTA)-RingingTeloffoffoff-S1----------------S32S35-S327-
S35Phone--Teloffoffoff-S1--------S20S35S160S165--S36---S32S327-
S36Phone--TelTTSoffoff-S1--------S21S36S161S166---S35--S33S327-
S37Navi-offoffoffoff-S1------S52S39S2S247S257S37--S38----S327-
S38Navi-offTTSoffoff-S1------S53S39S3S248S258S38---S37---S327-
S39Navi-RingingTeloffoffoff-S1------S54---------S37S40-S327-
S40Phone--Teloffoffoff-S1------S55-S5S250S260S40--S41---S37S327-
S41Phone--TelTTSoffoff-S1------S56-S6S251S261S41---S40--S38S327-
S42Navi--MPMPMPMP-S1------S52S44S7S247S262S42--S43----S327-
S43Navi--MPTTSMPMP-S1------S53S44S8S248S263S43---S42---S327-
S44Navi-RingingTeloffoffoff-S1------S54---------S42S45-S327-
S45Phone--Teloffoffoff-S1------S55-S10S250S265S45--S46---S42S327-
S46Phone--TelTTSoffoff-S1------S56-S11S251S266S46---S45--S43S327-
S47Navi--RadioRadioRadioRadio-S1------S52S49S12S247S267S47--S48----S327-
S48Navi--RadioTTSRadioRadio-S1------S53S49S13S248S268S48---S47---S327-
S49Navi-RingingTeloffoffoff-S1------S54---------S47S50-S327-
S50Phone--Teloffoffoff-S1------S55-S15S250S270S50--S51---S47S327-
S51Phone--TelTTSoffoff-S1------S56-S16S251S271S51---S50--S48S327-
S52Navi--BTABTABTABTA-S1-------S54S17S252S272S52--S53----S327-
S53Navi--BTATTSBTABTA-S1-------S54S18S253S273S53---S52---S327-
S54Navi-RingingTeloffoffoff-S1----------------S52S55-S327-
S55Phone--Teloffoffoff-S1--------S20S255S275S55--S56---S52S327-
S56Phone--TelTTSoffoff-S1--------S21S256S276S56---S55--S53S327-
S57HVAC-offoffoffoff-S1------S72S59S2S167S57S177--S58----S327-
S58HVAC-offTTSoffoff-S1------S73S59S3S168S58S178---S57---S327-
S59HVAC-RingingTeloffoffoff-S1------S74---------S57S60-S327-
S60Phone--Teloffoffoff-S1------S75-S5S170S60S177--S61---S57S327-
S61Phone--TelTTSoffoff-S1------S76-S6S171S61S178---S60--S58S327-
S62HVAC--MPMPMPMP-S1------S72S64S7S167S62S182--S63----S327-
S63HVAC--MPTTSMPMP-S1------S73S64S8S168S63S183---S62---S327-
S64HVAC-RingingTeloffoffoff-S1------S74---------S62S65-S327-
S65Phone--Teloffoffoff-S1------S75-S10S170S65S185--S66---S62S327-
S66Phone--TelTTSoffoff-S1------S76-S11S171S66S186---S65--S63S327-
S67HVAC--RadioRadioRadioRadio-S1------S72S69S12S167S67S187--S68----S327-
S68HVAC--RadioTTSRadioRadio-S1------S73S69S13S168S68S188---S67---S327-
S69HVAC-RingingTeloffoffoff-S1------S74---------S67S70-S327-
S70Phone--Teloffoffoff-S1------S75-S15S170S70S190--S71---S67S327-
S71Phone--TelTTSoffoff-S1------S76-S16S171S71S191---S70--S68S327-
S72HVAC--BTABTABTABTA-S1-------S74S17S172S72S192--S73----S327-
S73HVAC--BTATTSBTABTA-S1-------S74S18S173S73S193---S72---S327-
S74HVAC-RingingTeloffoffoff-S1----------------S72S75-S327-
S75Phone--Teloffoffoff-S1--------S20S175S75S195--S76---S72S327-
S76Phone--TelTTSoffoff-S1--------S21S176S76S196---S75--S73S327-
S77Phone-offoffoffoff-S1------S92S79S2S197S207S227--S78----S327-
S78Phone-offTTSoffoff-S1------S93S79S3S198S208S228---S77---S327-
S79Phone-RingingTeloffoffoff-S1------S94---------S77S80-S327-
S80Phone--Teloffoffoff-S1------S95-S5S200S210S230--S81---S77S327-
S81Phone--TelTTSoffoff-S1------S96-S6S201S211S231---S80--S78S327-
S82Phone--MPMPMPMP-S1------S92S84S7S197S212S232--S83----S327-
S83Phone--MPTTSMPMP-S1------S93S84S8S198S213S233---S82---S327-
S84Phone-RingingTeloffoffoff-S1------S94---------S82S85-S327-
S85Phone--Teloffoffoff-S1------S95-S10S200S215S235--S86---S82S327-
S86Phone--TelTTSoffoff-S1------S96-S11S201S216S236---S85--S83S327-
S87Phone--RadioRadioRadioRadio-S1------S92S89S12S197S217S237--S88----S327-
S88Phone--RadioTTSRadioRadio-S1------S93S89S13S198S218S238---S87---S327-
S89Phone-RingingTeloffoffoff-S1------S94---------S87S90-S327-
S90Phone--Teloffoffoff-S1------S95-S15S200S220S240--S91---S87S327-
S91Phone--TelTTSoffoff-S1------S96-S16S201S221S241---S90--S88S327-
S92Phone--BTABTABTABTA-S1-------S94S17S202S222S242--S93----S327-
S93Phone--BTATTSBTABTA-S1-------S94S18S203S223S243---S92---S327-
S94Phone-RingingTeloffoffoff-S1----------------S92S95-S327-
S95Phone--Teloffoffoff-S1--------S20S205S225S245--S96---S92S327-
S96Phone--TelTTSoffoff-S1--------S21S206S226S246---S95--S93S327-
S97Other--offoffoffoff-S1------S112S99S2S277S287S307--S98----S327-
S98Other--offTTSoffoff-S1------S113S99S3S278S288S308---S97---S327-
S99Other-RingingTeloffoffoff-S1------S114---------S97S100-S327-
S100Other--Teloffoffoff-S1------S115-S5S278S290S310--S101---S97S327-
S101Other--TelTTSoffoff-S1------S116-S6S278S291S311---S100--S98S327-
S102Other-MPMPMPMP-S1------S112S104S7S277S292S312--S103----S327-
S103Other-MPTTSMPMP-S1------S113S104S8S278S293S313---S102---S327-
S104Other-RingingTeloffoffoff-S1------S114---------S102S105-S327-
S105Other--Teloffoffoff-S1------S115-S10S278S295S315--S106---S102S327-
S106Other--TelTTSoffoff-S1------S116-S11S278S296S316---S105--S103S327-
S107Other--RadioRadioRadioRadio-S1------S112S109S12S277S297S317--S108----S327-
S108Other--RadioTTSRadioRadio-S1------S113S109S13S278S298S318---S107---S327-
S109Other-RingingTeloffoffoff-S1------S114---------S107S110-S327-
S110Other--Teloffoffoff-S1------S115-S15S278S300S320--S111---S107S327-
S111Other--TelTTSoffoff-S1------S116-S16S278S301S321---S110--S108S327-
S112Other--BTABTABTABTA-S1-------S114S17S282S302S322--S113----S327-
S113Other--BTATTSBTABTA-S1-------S114S18S283S303S323---S112---S327-
S114Other-RingingTeloffoffoff-S1----------------S112S115-S327-
S115Other--Teloffoffoff-S1--------S20S285S305S325--S116---S112S327-
S116Other--TelTTSoffoff-S1--------S21S286S306S326---S115--S113S327-
S117MPHVAC-MPMPMPMP-S1------S157S119S7--S122--S118----S327-
S118MPHVAC-MPTTSMPMP-S1------S158S119S8--S123---S117---S327-
S119MPHVACRingingTeloffoffoff-S1------S159---------S117S120-S327-
S120PhoneHVAC-Teloffoffoff-S1------S160-S10--S125--S121---S117S327-
S121PhoneHVAC-TelTTSoffoff-S1------S161-S11--S126---S120--S118S327-
S122MPNavi-MPMPMPMP-S1------S162S124S7-S117---S123----S327-
S123MPNavi-MPTTSMPMP-S1------S163S124S8-S118----S122---S327-
S124MPNaviRingingTeloffoffoff-S1------S164---------S122S125-S327-
S125PhoneNavi-Teloffoffoff-S1------S165-S10-S120---S126---S122S327-
S126PhoneNavi-Teloffoffoff-S1------S166-S11-S121----S125--S123S327-
S127RadioMP-RadioRadioRadioRadio-S1------S137S129S12S127S147S152-S132S128----S327-
S128RadioMP-RadioTTSRadioRadio-S1------S138S129S13S128S148S153-S133-S127---S327-
S129RadioMPRingingTeloffoffoff-S1------S139---------S127S130-S327-
S130PhoneMP-Teloffoffoff-S1------S140-S15S130S150S155-S135S131---S127S327-
S131PhoneMP-TelTTSoffoff-S1------S141-S16S131S151S156-S136-S130--S128S327-
S132RadioMP-MPMPMPMP-S1------S137S134S7S132S147S152S127-S133----S327-
S133RadioMP-MPTTSMPMP-S1------S138S134S8S133S148S153S128--S132---S327-
S134RadioMPRingingTeloffoffoff-S1------S139---------S132S135-S327-
S135PhoneMP-Teloffoffoff-S1------S140-S10S135S150S155S130-S136---S132S327-
S136PhoneMP-Teloffoffoff-S1------S141-S11S136S151S156S131--S135--S133S327-
S137RadioMP(BTA)-BTABTABTABTA-S1-------S139S17S137S147S152S142-S138----S327-
S138RadioMP(BTA)-BTATTSBTABTA-S1-------S139S18S138S148S153S143--S137---S327-
S139RadioMP(BTA)RingingTeloffoffoff-S1----------------S137S140-S327-
S140PhoneMP(BTA)-Teloffoffoff-S1--------S20S140S150S155S145-S141---S137S327-
S141PhoneMP(BTA)-TelTTSoffoff-S1--------S21S141S151S156S146--S140--S138S327-
S142RadioMP(BTA)-RadioRadioRadioRadio-S1-------S144S17S142S152S157-S137S143----S327-
S143RadioMP(BTA)-RadioTTSRadioRadio-S1-------S144S18S143S153S158-S138-S142---S327-
S144RadioMP(BTA)RingingTeloffoffoff-S1----------------S142S145-S327-
S145PhoneMP(BTA)-Teloffoffoff-S1--------S20S145S155S160-S140S146---S142S327-
S146PhoneMP(BTA)-TelTTSoffoff-S1--------S21S146S156S161-S141-S145--S143S327-
S147RadioHVAC-RadioRadioRadioRadio-S1------S157S149S12S132-S152--S148----S327-
S148RadioHVAC-RadioTTSRadioRadio-S1------S158S149S13S133-S153---S147---S327-
S149RadioHVACRingingTeloffoffoff-S1------S159---------S147S150-S327-
S150PhoneHVAC-Teloffoffoff-S1------S160-S15S135-S155--S151---S147S327-
S151PhoneHVAC-Teloffoffoff-S1------S161-S16S136-S156---S150--S148S327-
S152RadioNavi-RadioRadioRadioRadio-S1------S162S154S12S132S147---S153----S327-
S153RadioNavi-RadioTTSRadioRadio-S1------S163S154S13S133S148----S152---S327-
S154RadioNaviRingingTeloffoffoff-S1------S164---------S152S155-S327-
S155PhoneNavi-Teloffoffoff-S1------S165-S15S135S150---S156---S152S327-
S156PhoneNavi-Teloffoffoff-S1------S166-S16S136S151----S155--S153S327-
S157MP(BTA)HVAC-BTABTABTABTA-S1-------S159S17--S162--S158----S327-
S158MP(BTA)HVAC-BTATTSBTABTA-S1-------S159S18--S163---S157---S327-
S159MP(BTA)HVACRingingTeloffoffoff-S1----------------S157S160-S327-
S160PhoneHVAC-Teloffoffoff-S1--------S20--S165--S161---S157S327-
S161PhoneHVAC-Teloffoffoff-S1--------S21--S166---S160--S158S327-
S162MP(BTA)Navi-BTABTABTABTA-S1-------S164S17-S157---S163----S327-
S163MP(BTA)Navi-BTATTSBTABTA-S1-------S164S18-S158----S162---S327-
S164MP(BTA)NaviRingingTeloffoffoff-S1----------------S162S165-S327-
S165PhoneNavi-Teloffoffoff-S1--------S20-S160---S166---S162S327-
S166PhoneNavi-Teloffoffoff-S1--------S21-S161----S165--S163S327-
S167HVACMP-MPMPMPMP-S1------S172S169S7--S182--S168----S327-
S168HVACMP-MPTTSMPMP-S1------S173S169S8--S183---S167---S327-
S169HVACMPRingingTeloffoffoff-S1------S174---------S167S170-S327-
S170PhoneMP-Teloffoffoff-S1------S175-S10--S183--S171---S167S327-
S171PhoneMP-TelTTSoffoff-S1------S176-S11--S183---S170--S168S327-
S172HVACMP(BTA)-BTABTABTABTA-S1-------S174S17--S192--S173----S327-
S173HVACMP(BTA)-BTATTSBTABTA-S1-------S174S18--S193---S172---S327-
S174HVACMP(BTA)RingingTeloffoffoff-S1----------------S172S175-S327-
S175PhoneMP(BTA)-Teloffoffoff-S1--------S20--S195--S176---S172S327-
S176PhoneMP(BTA)-TelTTSoffoff-S1--------S21--S196---S175--S173S327-
S177HVACNavi-offoffoffoff-S1------S192S179S2S167----S178----S327-
S178HVACNavi-offTTSoffoff-S1------S193S179S3S167-----S177---S327-
S179HVACNaviRingingTeloffoffoff-S1------S194---------S177S180-S327-
S180PhoneNavi-Teloffoffoff-S1------S195-S20S170----S181---S177S327-
S181PhoneNavi-TelTTSoffoff-S1------S196-S21S171-----S180--S178S327-
S182HVACNavi-MPMPMPMP-S1------S192S184S7S167----S183----S327-
S183HVACNavi-MPTTSMPMP-S1------S193S184S8S167-----S182---S327-
S184HVACNaviRingingTeloffoffoff-S1------S194---------S182S185-S327-
S185PhoneNavi-Teloffoffoff-S1------S195-S10S170----S186---S182S327-
S186PhoneNavi-TelTTSoffoff-S1------S196-S11S171-----S185--S183S327-
S187HVACNavi-RadioRadioRadioRadio-S1------S192S189S12S167----S188----S327-
S188HVACNavi-RadioTTSRadioRadio-S1------S193S189S13S167-----S187---S327-
S189HVACNaviRingingTeloffoffoff-S1------S194---------S187S190-S327-
S190PhoneNavi-Teloffoffoff-S1------S195-S15S170----S191---S187S327-
S191PhoneNavi-TelTTSoffoff-S1------S196-S16S171-----S190--S188S327-
S192HVACNavi-BTABTABTABTA-S1-------S194S17S172----S193----S327-
S193HVACNavi-BTATTSBTABTA-S1-------S194S18S173-----S192---S327-
S194HVACNaviRingingTeloffoffoff-S1----------------S192S195-S327-
S195PhoneNavi-Teloffoffoff-S1--------S20S175----S196---S192S327-
S196PhoneNavi-TelTTSoffoff-S1--------S21S176-----S195--S193S327-
S197PhoneMPMPMPMPMP-S1------S202S199S7-S212S232--S198----S327-
S198PhoneMPMPTTSMPMP-S1------S203S199S8-S213S233---S197---S327-
S199PhoneMPRingingTeloffoffoff-S1------S204---------S197S200-S327-
S200PhoneMP-Teloffoffoff-S1------S205-S10-S215S235--S201---S197S327-
S201PhoneMP-TelTTSoffoff-S1------S206-S11-S216S236---S200--S198S327-
S202PhoneMP(BTA)-BTABTABTABTA-S1-------S204S17-S222S242--S203----S327-
S203PhoneMP(BTA)-BTATTSBTABTA-S1-------S204S18-S223S243---S202---S327-
S204PhoneMP(BTA)RingingTeloffoffoff-S1----------------S202S205-S327-
S205PhoneMP(BTA)-Teloffoffoff-S1--------S20-S225S245--S206---S202S327-
S206PhoneMP(BTA)-TelTTSoffoff-S1--------S21-S226S246---S205--S203S327-
S207PhoneHVAC-offoffoffoff-S1------S222S209S2S197-S227--S208----S327-
S208PhoneHVAC-offTTSoffoff-S1------S223S209S3S198-S228---S207---S327-
S209PhoneHVACRingingTeloffoffoff-S1------S224---------S207S210-S327-
S210PhoneHVAC-Teloffoffoff-S1------S225-S20S200-S230--S211---S207S327-
S211PhoneHVAC-TelTTSoffoff-S1------S226-S21S201-S231---S210--S208S327-
S212PhoneHVACMPMPMPMP-S1------S222S214S7S197-S232--S213----S327-
S213PhoneHVACMPTTSMPMP-S1------S223S214S8S198-S233---S212---S327-
S214PhoneHVACRingingTeloffoffoff-S1------S224---------S212S215-S327-
S215PhoneHVAC-Teloffoffoff-S1------S225-S10S200-S235--S216---S212S327-
S216PhoneHVAC-TelTTSoffoff-S1------S226-S11S201-S236---S215--S213S327-
S217PhoneHVAC-RadioRadioRadioRadio-S1------S222S219S12S197-S237--S218----S327-
S218PhoneHVAC-RadioTTSRadioRadio-S1------S223S219S13S198-S238---S217---S327-
S219PhoneHVACRingingTeloffoffoff-S1------S224---------S217S220-S327-
S220PhoneHVAC-Teloffoffoff-S1------S225-S15S200-S240--S221---S217S327-
S221PhoneHVAC-TelTTSoffoff-S1------S226-S16S201-S241---S220--S218S327-
S222PhoneHVAC-BTABTABTABTA-S1-------S224S17S202-S242--S223----S327-
S223PhoneHVAC-BTATTSBTABTA-S1-------S224S18S203-S243---S222---S327-
S224PhoneHVACRingingTeloffoffoff-S1----------------S222S225-S327-
S225PhoneHVAC-Teloffoffoff-S1--------S20S205-S245--S226---S222S327-
S226PhoneHVAC-TelTTSoffoff-S1--------S21S206-S246---S225--S223S327-
S227PhoneNavi-offoffoffoff-S1------S242S229S2S197S207---S228----S327-
S228PhoneNavi-offTTSoffoff-S1------S243S229S3S198S208----S227---S327-
S229PhoneNaviRingingTeloffoffoff-S1------S244---------S227S230-S327-
S230PhoneNavi-Teloffoffoff-S1------S245-S20S200S210---S231---S227S327-
S231PhoneNavi-TelTTSoffoff-S1------S246-S21S201S211----S230--S228S327-
S232PhoneNaviMPMPMPMP-S1------S242S234S7S197S212---S233----S327-
S233PhoneNaviMPTTSMPMP-S1------S243S234S8S198S213----S232---S327-
S234PhoneNaviRingingTeloffoffoff-S1------S244---------S232S235-S327-
S235PhoneNavi-Teloffoffoff-S1------S245-S10S200S215---S236---S232S327-
S236PhoneNavi-TelTTSoffoff-S1------S246-S11S201S216----S235--S233S327-
S237PhoneNavi-RadioRadioRadioRadio-S1------S242S239S12S197S217---S238----S327-
S238PhoneNavi-RadioTTSRadioRadio-S1------S243S239S13S198S218----S237---S327-
S239PhoneNaviRingingTeloffoffoff-S1------S244---------S237S240-S327-
S240PhoneNavi-Teloffoffoff-S1------S245-S15S200S220---S241---S237S327-
S241PhoneNavi-TelTTSoffoff-S1------S246-S16S201S221----S240--S238S327-
S242PhoneNavi-BTABTABTABTA-S1-------S244S17S202S222---S243----S327-
S243PhoneNavi-BTATTSBTABTA-S1-------S244S18S203S223----S242---S327-
S244PhoneNaviRingingTeloffoffoff-S1----------------S242S245-S327-
S245PhoneNavi-Teloffoffoff-S1--------S20S205S225---S246---S242S327-
S246PhoneNavi-TelTTSoffoff-S1--------S21S206S226----S245--S243S327-
S247NaviMP-MPMPMPMP-S1------S252S249S7-S262---S248----S327-
S248NaviMP-MPTTSMPMP-S1------S253S249S8-S263----S247---S327-
S249NaviMPRingingTeloffoffoff-S1------S254---------S247S248-S327-
S250PhoneMP-Teloffoffoff-S1------S255-S10-S265---S251---S247S327-
S251PhoneMP-TelTTSoffoff-S1------S256-S11-S266----S250--S248S327-
S252NaviMP(BTA)-BTABTABTABTA-S1-------S254S17-S272---S253----S327-
S253NaviMP(BTA)-BTATTSBTABTA-S1-------S254S18-S273----S252---S327-
S254NaviMP(BTA)RingingTeloffoffoff-S1----------------S252S253-S327-
S255PhoneMP(BTA)-Teloffoffoff-S1--------S20-S275---S256---S252S327-
S256PhoneMP(BTA)-TelTTSoffoff-S1--------S21-S276----S255--S253S327-
S257NaviHVAC-offoffoffoff-S1------S272S259S2S247----S258----S327-
S258NaviHVAC-offTTSoffoff-S1------S273S259S3S248-----S257---S327-
S259NaviHVACRingingTeloffoffoff-S1------S274---------S257S260-S327-
S260PhoneHVAC-Teloffoffoff-S1------S275-S20S250----S261---S257S327-
S261PhoneHVAC-TelTTSoffoff-S1------S276-S21S251-----S260--S258S327-
S262NaviHVAC-MPMPMPMP-S1------S272S264S7S247----S263----S327-
S263NaviHVAC-MPTTSMPMP-S1------S273S264S8S248-----S262---S327-
S264NaviHVACRingingTeloffoffoff-S1------S274---------S262S265-S327-
S265PhoneHVAC-Teloffoffoff-S1------S275-S10S250----S266---S262S327-
S266PhoneHVAC-TelTTSoffoff-S1------S276-S11S251-----S265--S263S327-
S267NaviHVAC-RadioRadioRadioRadio-S1------S272S269S12S247----S268----S327-
S268NaviHVAC-RadioTTSRadioRadio-S1------S273S269S13S248-----S267---S327-
S269NaviHVACRingingTeloffoffoff-S1------S274---------S267S270-S327-
S270PhoneHVAC-Teloffoffoff-S1------S275-S15S250----S271---S267S327-
S271PhoneHVAC-TelTTSoffoff-S1------S276-S16S251-----S270--S268S327-
S272NaviHVAC-BTABTABTABTA-S1-------S274S17S252----S273----S327-
S273NaviHVAC-BTATTSBTABTA-S1-------S274S18S253-----S272---S327-
S274NaviHVACRingingTeloffoffoff-S1----------------S272S275-S327-
S275PhoneHVAC-Teloffoffoff-S1--------S20S255----S276---S272S327-
S276PhoneHVAC-TelTTSoffoff-S1--------S21S256-----S275--S273S327-
S277OtherMP-MPMPMPMP-S1------S282S279S7-S292S312--S278----S327-
S278OtherMP-MPTTSMPMP-S1------S283S279S8-S293S313---S277---S327-
S279OtherMPRingingTeloffoffoff-S1------S284---------S277S280-S327-
S280PhoneMP-Teloffoffoff-S1------S285-S10-S295S317--S281---S277S327-
S281PhoneMP-TelTTSoffoff-S1------S286-S11-S296S318---S280--S278S327-
S282OtherMP(BTA)-BTABTABTABTA-S1-------S284S12-S302S322--S283----S327-
S283OtherMP(BTA)-BTATTSBTABTA-S1-------S284S13-S303S323---S282---S327-
S284OtherMP(BTA)RingingTeloffoffoff-S1----------------S282S285-S327-
S285PhoneMP(BTA)-Teloffoffoff-S1--------S20-S305S325--S286---S282S327-
S286PhoneMP(BTA)-TelTTSoffoff-S1--------S21-S306S326---S285--S283S327-
S287OtherHVAC-offoffoffoff-S1------S302S289S2S277-S307--S288----S327-
S288OtherHVAC-offTTSoffoff-S1------S303S289S3S278-S308---S287---S327-
S289OtherHVACRingingTeloffoffoff-S1------S304---------S287S290-S327-
S290PhoneHVAC-Teloffoffoff-S1------S305-S20S280-S310--S291---S287S327-
S291PhoneHVAC-TelTTSoffoff-S1------S306-S21S281-S311---S290--S288S327-
S292OtherHVAC-MPMPMPMP-S1------S302S294S7S277-S312--S293----S327-
S293OtherHVAC-MPTTSMPMP-S1------S303S294S8S278-S313---S292---S327-
S294OtherHVACRingingTeloffoffoff-S1------S304---------S292S295-S327-
S295PhoneHVAC-Teloffoffoff-S1------S305-S10S278-S315--S296---S292S327-
S296PhoneHVAC-TelTTSoffoff-S1------S306-S11S278-S316---S295--S293S327-
S297OtherHVAC-RadioRadioRadioRadio-S1------S302S299S12S277-S317--S298----S327-
S298OtherHVAC-RadioTTSRadioRadio-S1------S303S299S13S278-S318---S297---S327-
S299OtherHVACRingingTeloffoffoff-S1------S304---------S297S300-S327-
S300PhoneHVAC-Teloffoffoff-S1------S305-S15S280-S320--S301---S297S327-
S301PhoneHVAC-TelTTSoffoff-S1------S306-S16S281-S321---S300--S298S327-
S302OtherHVAC-BTABTABTABTA-S1-------S304S17S282-S322--S303----S327-
S303OtherHVAC-BTATTSBTABTA-S1-------S304S18S283-S323---S302---S327-
S304OtherHVACRingingTeloffoffoff-S1----------------S302S305-S327-
S305PhoneHVAC-Teloffoffoff-S1--------S20S285-S325--S306---S302S327-
S306PhoneHVAC-TelTTSoffoff-S1--------S21S286-S326---S305--S303S327-
S307OtherNavi-offoffoffoff-S1------S322S309S2S287S287---S308----S327-
S308OtherNavi-offTTSoffoff-S1------S323S309S3S288S288----S307---S327-
S309OtherNaviRingingTeloffoffoff-S1------S324---------S307S310-S327-
S310PhoneNavi-Teloffoffoff-S1------S325-S20S290S290---S311---S307S327-
S311PhoneNavi-TelTTSoffoff-S1------S326-S21S291S291----S310--S308S327-
S312OtherNavi-MPMPMPMP-S1------S322S314S7S292S292---S313----S327-
S313OtherNavi-MPTTSMPMP-S1------S323S314S8S293S293----S312---S327-
S314OtherNaviRingingTeloffoffoff-S1------S324---------S312S315-S327-
S315PhoneNavi-Teloffoffoff-S1------S325-S10S295S295---S316---S312S327-
S316PhoneNavi-TelTTSoffoff-S1------S326-S11S296S296----S315--S313S327-
S317OtherNavi-RadioRadioRadioRadio-S1------S322S319S12S297S297---S318----S327-
S318OtherNavi-RadioTTSRadioRadio-S1------S323S319S13S298S298----S317---S327-
S319OtherNaviRingingTeloffoffoff-S1------S324---------S317S320-S327-
S320PhoneNavi-Teloffoffoff-S1------S325-S15S300S300---S321---S317S327-
S321PhoneNavi-TelTTSoffoff-S1------S326-S16S301S301----S320--S318S327-
S322OtherNavi-BTABTABTABTA-S1-------S324S17S282S302---S323----S327-
S323OtherNavi-BTATTSBTABTA-S1-------S324S18S283S303----S322---S327-
S324OtherNaviRingingTeloffoffoff-S1----------------S322S325-S327-
S325PhoneNavi-Teloffoffoff-S1--------S20S285S305---S326---S322S327-
S326PhoneNavi-TelTTSoffoff-S1--------S21S286S306----S325--S323S327-
S327anyanyanyanyWarnanyany-S1--------------------S(previous)
diff --git a/doc/api-ref/html/annotated.html b/doc/api-ref/html/annotated.html new file mode 100644 index 0000000..c8aeca2 --- /dev/null +++ b/doc/api-ref/html/annotated.html @@ -0,0 +1,103 @@ + + + + + + + +Sound Manager: Data Structures + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + +
 Cevent
 CLibSoundmanager
+
+
+
+ + + + diff --git a/doc/api-ref/html/annotated_dup.js b/doc/api-ref/html/annotated_dup.js new file mode 100644 index 0000000..9ab7e04 --- /dev/null +++ b/doc/api-ref/html/annotated_dup.js @@ -0,0 +1,5 @@ +var annotated_dup = +[ + [ "event", "structevent.html", "structevent" ], + [ "LibSoundmanager", "class_lib_soundmanager.html", "class_lib_soundmanager" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/bc_s.png b/doc/api-ref/html/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/bdwn.png b/doc/api-ref/html/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +Sound Manager: LibSoundmanager Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
LibSoundmanager Class Reference
+
+
+ +

#include <libsoundmanager.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 LibSoundmanager (const int port, const std::string &token)
 
 ~LibSoundmanager ()
 
void register_callback (void(*event_cb)(const std::string &event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents))
 
int run_eventloop ()
 
int call (const std::string &verb, struct json_object *arg)
 
int call_sync (const std::string &verb, struct json_object *arg, struct json_object *ret)
 
int subscribe (const std::string &event_name)
 
int unsubscribe (const std::string &event_name)
 
void on_hangup (void *closure, struct afb_wsj1 *wsj)
 
void on_call (void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)
 
void on_event (void *closure, const char *event, struct afb_wsj1_msg *msg)
 
void on_reply (void *closure, struct afb_wsj1_msg *msg)
 
+

Detailed Description

+
+

Definition at line 62 of file libsoundmanager.hpp.

+

Constructor & Destructor Documentation

+ +

◆ LibSoundmanager()

+ +
+
+ + + + + + + + + + + + + + + + + + +
LibSoundmanager::LibSoundmanager (const int port,
const std::string & token 
)
+
+ +
+
+ +

◆ ~LibSoundmanager()

+ +
+
+ + + + + + + +
LibSoundmanager::~LibSoundmanager ()
+
+ +

Definition at line 93 of file libsoundmanager.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ call()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int LibSoundmanager::call (const std::string & verb,
struct json_object * arg 
)
+
+

This function calls the API of Audio Manager via WebSocket

+

Parameters

+
    +
  • verb [in] : This argument should be specified to the API name (e.g. "connect")
  • +
  • arg [in] : This argument should be specified to the argument of API. And this argument expects JSON object
  • +
+

Rreturn

+
    +
  • Returns 0 on success or -1 in case of error.
  • +
+

Note

+

To call Audio Manager's APIs, the application should set its function name, arguments to JSON format.

+ +

Definition at line 217 of file libsoundmanager.cpp.

+ +
+
+ +

◆ call_sync()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int LibSoundmanager::call_sync (const std::string & verb,
struct json_object * arg,
struct json_object * ret 
)
+
+ +

Definition at line 236 of file libsoundmanager.cpp.

+ +
+
+ +

◆ on_call()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void LibSoundmanager::on_call (void * closure,
const char * api,
const char * verb,
struct afb_wsj1_msg * msg 
)
+
+ +

Definition at line 347 of file libsoundmanager.cpp.

+ +
+
+ +

◆ on_event()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void LibSoundmanager::on_event (void * closure,
const char * event,
struct afb_wsj1_msg * msg 
)
+
+ +

Definition at line 358 of file libsoundmanager.cpp.

+ +
+
+ +

◆ on_hangup()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void LibSoundmanager::on_hangup (void * closure,
struct afb_wsj1 * wsj 
)
+
+ +

Definition at line 342 of file libsoundmanager.cpp.

+ +
+
+ +

◆ on_reply()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void LibSoundmanager::on_reply (void * closure,
struct afb_wsj1_msg * msg 
)
+
+ +

Definition at line 369 of file libsoundmanager.cpp.

+ +
+
+ +

◆ register_callback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void LibSoundmanager::register_callback (void(*)(const std::string &event, struct json_object *event_contents) event_cb,
void(*)(struct json_object *reply_contents) reply_cb 
)
+
+

This function register callback function for reply/event message from sound manager

+

Parameters

+
    +
  • event_cb [in] : This argument should be specified to the callback for subscribed event
  • +
  • reply_cb [in] : This argument should be specified to the reply callback for call function
  • +
+

Rreturn

+
    +
  • Returns 0 on success or -1 in case of error.
  • +
+

Note

+

Event callback is invoked by sound manager for event you subscribed. If you would like to get event, please call subscribe function before/after this function

+ +

Definition at line 119 of file libsoundmanager.cpp.

+ +
+
+ +

◆ run_eventloop()

+ +
+
+ + + + + + + +
int LibSoundmanager::run_eventloop ()
+
+

This function start receiving the reply/event message from sound manager

+

Parameters

+

Nothing

Rreturn

+
    +
  • Returns thread_id on success or -1 in case of error.
  • +
+

Note

+ +

Definition at line 182 of file libsoundmanager.cpp.

+ +
+
+ +

◆ subscribe()

+ +
+
+ + + + + + + + +
int LibSoundmanager::subscribe (const std::string & event_name)
+
+

Register callback function for each event

+

Parameters

+
    +
  • event_name [in] : This argument should be specified to the event name
  • +
+

Rreturn

+
    +
  • Returns 0 on success or -1 in case of error.
  • +
+

Note

+

This function enables to get an event to your callback function. Regarding the list of event name, please refer to CommandSender API and RountingSender API.

+ +

Definition at line 255 of file libsoundmanager.cpp.

+ +
+
+ +

◆ unsubscribe()

+ +
+
+ + + + + + + + +
int LibSoundmanager::unsubscribe (const std::string & event_name)
+
+

Unregister callback function for each event

+

Parameters

+
    +
  • event_name [in] : This argument should be specified to the event name
  • +
+

Rreturn

+
    +
  • Returns 0 on success or -1 in case of error.
  • +
+

Note

+

This function disables to get an event to your callback function.

+ +

Definition at line 284 of file libsoundmanager.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/doc/api-ref/html/class_lib_soundmanager.js b/doc/api-ref/html/class_lib_soundmanager.js new file mode 100644 index 0000000..ed52e34 --- /dev/null +++ b/doc/api-ref/html/class_lib_soundmanager.js @@ -0,0 +1,15 @@ +var class_lib_soundmanager = +[ + [ "LibSoundmanager", "class_lib_soundmanager.html#a289a9d6ff8be95ae78660f239d962d79", null ], + [ "~LibSoundmanager", "class_lib_soundmanager.html#abf861908e3d6d85d2b3c08683b08f934", null ], + [ "call", "class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773", null ], + [ "call_sync", "class_lib_soundmanager.html#ae5b83ce661b1d785de2518ca10113956", null ], + [ "on_call", "class_lib_soundmanager.html#a3ba2255cb1d29c77c4c6a2267949eda0", null ], + [ "on_event", "class_lib_soundmanager.html#a86ef62e7847cd20e9cafbc1f6c017b3e", null ], + [ "on_hangup", "class_lib_soundmanager.html#a71a8165cb15c7815aa95a8955f5cd7f6", null ], + [ "on_reply", "class_lib_soundmanager.html#a69b4f10e509605a570cc52c795bc9d51", null ], + [ "register_callback", "class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74", null ], + [ "run_eventloop", "class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729", null ], + [ "subscribe", "class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e", null ], + [ "unsubscribe", "class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/classes.html b/doc/api-ref/html/classes.html new file mode 100644 index 0000000..ccaae38 --- /dev/null +++ b/doc/api-ref/html/classes.html @@ -0,0 +1,107 @@ + + + + + + + +Sound Manager: Data Structure Index + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
e | l
+ + + + + +
  e  
+
  l  
+
event   LibSoundmanager   
+
e | l
+
+
+ + + + diff --git a/doc/api-ref/html/closed.png b/doc/api-ref/html/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html b/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html new file mode 100644 index 0000000..b3d3d7f --- /dev/null +++ b/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html @@ -0,0 +1,104 @@ + + + + + + + +Sound Manager: SoundManagerBinding/include/libsoundmanager Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
libsoundmanager Directory Reference
+
+
+ + + + +

+Files

file  libsoundmanager.hpp [code]
 
+
+
+ + + + diff --git a/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.js b/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.js new file mode 100644 index 0000000..47bb19a --- /dev/null +++ b/doc/api-ref/html/dir_4ed4f07a8451d34bdd1d92ed62b81ed4.js @@ -0,0 +1,4 @@ +var dir_4ed4f07a8451d34bdd1d92ed62b81ed4 = +[ + [ "libsoundmanager.hpp", "libsoundmanager_8hpp.html", "libsoundmanager_8hpp" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.html b/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.html new file mode 100644 index 0000000..9af5eb6 --- /dev/null +++ b/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.html @@ -0,0 +1,106 @@ + + + + + + + +Sound Manager: SoundManagerBinding/libsoundmanager Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
libsoundmanager Directory Reference
+
+
+ + + + + + +

+Files

file  libsoundmanager.cpp [code]
 
file  test.cpp [code]
 
+
+
+ + + + diff --git a/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.js b/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.js new file mode 100644 index 0000000..2b5132f --- /dev/null +++ b/doc/api-ref/html/dir_574c53d22ed4def281d320d129dd43c9.js @@ -0,0 +1,5 @@ +var dir_574c53d22ed4def281d320d129dd43c9 = +[ + [ "libsoundmanager.cpp", "libsoundmanager_8cpp.html", "libsoundmanager_8cpp" ], + [ "test.cpp", "test_8cpp.html", "test_8cpp" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.html b/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.html new file mode 100644 index 0000000..72d6a35 --- /dev/null +++ b/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.html @@ -0,0 +1,104 @@ + + + + + + + +Sound Manager: SoundManagerBinding/soundmanager_binging Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
soundmanager_binging Directory Reference
+
+
+ + + + +

+Files

file  soundmanager.c [code]
 
+
+
+ + + + diff --git a/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.js b/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.js new file mode 100644 index 0000000..1e22727 --- /dev/null +++ b/doc/api-ref/html/dir_85932083476b47061c69d172796990a3.js @@ -0,0 +1,4 @@ +var dir_85932083476b47061c69d172796990a3 = +[ + [ "soundmanager.c", "soundmanager_8c.html", "soundmanager_8c" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.html b/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.html new file mode 100644 index 0000000..cd5167f --- /dev/null +++ b/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.html @@ -0,0 +1,108 @@ + + + + + + + +Sound Manager: SoundManagerBinding Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
SoundManagerBinding Directory Reference
+
+
+ + + + + + + + +

+Directories

directory  include
 
directory  libsoundmanager
 
directory  soundmanager_binging
 
+
+
+ + + + diff --git a/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.js b/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.js new file mode 100644 index 0000000..f0a5be1 --- /dev/null +++ b/doc/api-ref/html/dir_b967abc00200c877344b4504e6cbcf3f.js @@ -0,0 +1,6 @@ +var dir_b967abc00200c877344b4504e6cbcf3f = +[ + [ "include", "dir_c2dc0533631c44dc5d574e7be055c656.html", "dir_c2dc0533631c44dc5d574e7be055c656" ], + [ "libsoundmanager", "dir_574c53d22ed4def281d320d129dd43c9.html", "dir_574c53d22ed4def281d320d129dd43c9" ], + [ "soundmanager_binging", "dir_85932083476b47061c69d172796990a3.html", "dir_85932083476b47061c69d172796990a3" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.html b/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.html new file mode 100644 index 0000000..6131795 --- /dev/null +++ b/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.html @@ -0,0 +1,104 @@ + + + + + + + +Sound Manager: SoundManagerBinding/include Directory Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  libsoundmanager
 
+
+
+ + + + diff --git a/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.js b/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.js new file mode 100644 index 0000000..07c80e4 --- /dev/null +++ b/doc/api-ref/html/dir_c2dc0533631c44dc5d574e7be055c656.js @@ -0,0 +1,4 @@ +var dir_c2dc0533631c44dc5d574e7be055c656 = +[ + [ "libsoundmanager", "dir_4ed4f07a8451d34bdd1d92ed62b81ed4.html", "dir_4ed4f07a8451d34bdd1d92ed62b81ed4" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/doc.png b/doc/api-ref/html/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/doxygen.css b/doc/api-ref/html/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/doc/api-ref/html/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/doc/api-ref/html/doxygen.png b/doc/api-ref/html/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/dynsections.js b/doc/api-ref/html/dynsections.js new file mode 100644 index 0000000..1e6bf07 --- /dev/null +++ b/doc/api-ref/html/dynsections.js @@ -0,0 +1,104 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +Sound Manager: File List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
+
+ + + + diff --git a/doc/api-ref/html/files.js b/doc/api-ref/html/files.js new file mode 100644 index 0000000..4d99c33 --- /dev/null +++ b/doc/api-ref/html/files.js @@ -0,0 +1,4 @@ +var files = +[ + [ "SoundManagerBinding", "dir_b967abc00200c877344b4504e6cbcf3f.html", "dir_b967abc00200c877344b4504e6cbcf3f" ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/folderclosed.png b/doc/api-ref/html/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/functions.html b/doc/api-ref/html/functions.html new file mode 100644 index 0000000..5d6c445 --- /dev/null +++ b/doc/api-ref/html/functions.html @@ -0,0 +1,137 @@ + + + + + + + +Sound Manager: Data Fields + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+
+
+ + + + diff --git a/doc/api-ref/html/functions_func.html b/doc/api-ref/html/functions_func.html new file mode 100644 index 0000000..385add2 --- /dev/null +++ b/doc/api-ref/html/functions_func.html @@ -0,0 +1,131 @@ + + + + + + + +Sound Manager: Data Fields - Functions + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/doc/api-ref/html/functions_vars.html b/doc/api-ref/html/functions_vars.html new file mode 100644 index 0000000..030f1ea --- /dev/null +++ b/doc/api-ref/html/functions_vars.html @@ -0,0 +1,101 @@ + + + + + + + +Sound Manager: Data Fields - Variables + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/doc/api-ref/html/globals.html b/doc/api-ref/html/globals.html new file mode 100644 index 0000000..ebb2eae --- /dev/null +++ b/doc/api-ref/html/globals.html @@ -0,0 +1,146 @@ + + + + + + + +Sound Manager: Globals + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+
+ + + + diff --git a/doc/api-ref/html/globals_defs.html b/doc/api-ref/html/globals_defs.html new file mode 100644 index 0000000..e1d3a04 --- /dev/null +++ b/doc/api-ref/html/globals_defs.html @@ -0,0 +1,128 @@ + + + + + + + +Sound Manager: Globals + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/doc/api-ref/html/globals_func.html b/doc/api-ref/html/globals_func.html new file mode 100644 index 0000000..0c13d5f --- /dev/null +++ b/doc/api-ref/html/globals_func.html @@ -0,0 +1,104 @@ + + + + + + + +Sound Manager: Globals + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/doc/api-ref/html/globals_vars.html b/doc/api-ref/html/globals_vars.html new file mode 100644 index 0000000..a74e481 --- /dev/null +++ b/doc/api-ref/html/globals_vars.html @@ -0,0 +1,104 @@ + + + + + + + +Sound Manager: Globals + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/doc/api-ref/html/index.html b/doc/api-ref/html/index.html new file mode 100644 index 0000000..9319f4a --- /dev/null +++ b/doc/api-ref/html/index.html @@ -0,0 +1,97 @@ + + + + + + + +Sound Manager: Main Page + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Sound Manager Documentation
+
+
+
+
+ + + + diff --git a/doc/api-ref/html/jquery.js b/doc/api-ref/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/doc/api-ref/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+ +
+
libsoundmanager.cpp File Reference
+
+
+
#include <stdarg.h>
+#include <sys/socket.h>
+#include <iostream>
+#include <algorithm>
+#include <thread>
+#include <errno.h>
+#include <libsoundmanager/libsoundmanager.hpp>
+
+

Go to the source code of this file.

+
+ + + + + +

+Macros

#define ELOG(args, ...)   _ELOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
 
#define DLOG(args, ...)   _DLOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
 
+

Macro Definition Documentation

+ +

◆ DLOG

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define DLOG( args,
 ... 
)   _DLOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
+
+ +

Definition at line 26 of file libsoundmanager.cpp.

+ +
+
+ +

◆ ELOG

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ELOG( args,
 ... 
)   _ELOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
+
+ +

Definition at line 25 of file libsoundmanager.cpp.

+ +
+
+ + + + + + diff --git a/doc/api-ref/html/libsoundmanager_8cpp.js b/doc/api-ref/html/libsoundmanager_8cpp.js new file mode 100644 index 0000000..b599e84 --- /dev/null +++ b/doc/api-ref/html/libsoundmanager_8cpp.js @@ -0,0 +1,5 @@ +var libsoundmanager_8cpp = +[ + [ "DLOG", "libsoundmanager_8cpp.html#a4e42b2f5af2174dd24f958351becf63d", null ], + [ "ELOG", "libsoundmanager_8cpp.html#a797aa3053bd6a29819d44f8fad8a5eca", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/libsoundmanager_8cpp_source.html b/doc/api-ref/html/libsoundmanager_8cpp_source.html new file mode 100644 index 0000000..43e6d5d --- /dev/null +++ b/doc/api-ref/html/libsoundmanager_8cpp_source.html @@ -0,0 +1,116 @@ + + + + + + + +Sound Manager: SoundManagerBinding/libsoundmanager/libsoundmanager.cpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
libsoundmanager.cpp
+
+
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #include <stdarg.h>
18 #include <sys/socket.h>
19 #include <iostream>
20 #include <algorithm>
21 #include <thread>
22 #include <errno.h>
24 
25 #define ELOG(args,...) _ELOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
26 #define DLOG(args,...) _DLOG(__FUNCTION__,__LINE__,args,##__VA_ARGS__)
27 
28 using namespace std;
29 
30 static void _DLOG(const char* func, const int line, const char* log, ...);
31 static void _ELOG(const char* func, const int line, const char* log, ...);
32 static bool has_verb(const string& verb);
33 static const char API[] = "soundmanager";
34 
35 static void _on_hangup_static(void *closure, struct afb_wsj1 *wsj)
36 {
37  static_cast<LibSoundmanager*>(closure)->on_hangup(NULL,wsj);
38 }
39 
40 static void _on_call_static(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)
41 {
42  /* LibSoundmanager is not called from other process */
43 }
44 
45 static void _on_event_static(void* closure, const char* event, struct afb_wsj1_msg *msg)
46 {
47  static_cast<LibSoundmanager*>(closure)->on_event(NULL,event,msg);
48 }
49 
50 static void _on_reply_static(void *closure, struct afb_wsj1_msg *msg)
51 {
52  static_cast<LibSoundmanager*>(closure)->on_reply(NULL,msg);
53 }
54 
55 
70 LibSoundmanager::LibSoundmanager(const int port, const string& token)
71 {
72  int ret;
73  if(port > 0 && token.size() > 0)
74  {
75  mport = port;
76  mtoken = token;
77  }
78  else
79  {
80  ELOG("port and token should be > 0, Initial port and token uses.");
81  }
82 
83  ret = initialize_websocket();
84  if(ret != 0 )
85  {
86  ELOG("Failed to initialize websocket");
87  }
88  else{
89  DLOG("Initialized");
90  }
91 }
92 
94 {
95  if(mploop)
96  {
97  sd_event_unref(mploop);
98  }
99  if(sp_websock != NULL)
100  {
101  free(sp_websock);
102  }
103 }
104 
120  void (*event_cb)(const std::string& event, struct json_object* event_contents),
121  void (*reply_cb)(struct json_object* reply_contents))
122 {
123  onEvent = event_cb;
124  onReply = reply_cb;
125 }
126 
127 int LibSoundmanager::initialize_websocket()
128 {
129  mploop = NULL;
130  onEvent = nullptr;
131  onReply = nullptr;
132  int ret = sd_event_default(&mploop);
133  if(ret < 0)
134  {
135  ELOG("Failed to create event loop");
136  goto END;
137  }
138  /* Initialize interface from websocket */
139 
140  minterface.on_hangup = _on_hangup_static;
141  minterface.on_call = _on_call_static; /* Is this necessary? */
142  minterface.on_event = _on_event_static;
143  muri += "ws://localhost:" + to_string(mport) + "/api?token=" + mtoken; /*To be modified*/
144  sp_websock = afb_ws_client_connect_wsj1(mploop, muri.c_str(), &minterface, this);
145  if(sp_websock == NULL)
146  {
147  ELOG("Failed to create websocket connection");
148  goto END;
149  }
150 
151  /* creates the evsrc */
152  //ret = sd_event_add_io(mploop,&mevent_src, sp_websock->fd, EPOLLIN, event_callback, NULL);
153 
154  return 0;
155 END:
156  if(mploop)
157  {
158  sd_event_unref(mploop);
159  }
160  return -1;
161 }
162 
163 static void *event_loop_run(void *args)
164 {
165  struct sd_event* loop = (struct sd_event*)(args);
166  DLOG("start eventloop");
167  for(;;)
168  sd_event_run(loop, 30000000);
169 }
170 
183 {
184  if(mploop && sp_websock)
185  {
186  pthread_t thread_id;
187  int ret = pthread_create(&thread_id, NULL, event_loop_run, mploop);
188  if(ret != 0)
189  {
190  ELOG("Cannot run eventloop due to error:%d", errno);
191  return -1;
192  }
193  else
194  return thread_id;
195  }
196  else
197  {
198  ELOG("Connecting is not established yet");
199  return -1;
200  }
201 }
202 
217 int LibSoundmanager::call(const string& verb, struct json_object* arg)
218 {
219  int ret;
220  if(!sp_websock)
221  {
222  return -1;
223  }
224  if (!has_verb(verb))
225  {
226  ELOG("verb doesn't exit");
227  return -1;
228  }
229  ret = afb_wsj1_call_j(sp_websock, API, verb.c_str(), arg, _on_reply_static, this);
230  if (ret < 0) {
231  ELOG("Failed to call verb:%s",verb.c_str());
232  }
233  return ret;
234 }
235 
236 int LibSoundmanager::call_sync(const string& verb, struct json_object* arg, struct json_object* ret)
237 {
238  /* I haven't implemented yet */
239 }
240 
255 int LibSoundmanager::subscribe(const string& event_name)
256 {
257  if(!sp_websock)
258  {
259  return -1;
260  }
261  struct json_object* j_obj = json_object_new_object();
262  json_object_object_add(j_obj, "event", json_object_new_string(event_name.c_str()));
263 
264  int ret = afb_wsj1_call_j(sp_websock, API, "subscribe", j_obj, _on_reply_static, this);
265  if (ret < 0) {
266  ELOG("Failed to call verb:%s",__FUNCTION__);
267  }
268  return ret;
269 }
270 
284 int LibSoundmanager::unsubscribe(const string& event_name)
285 {
286  if(!sp_websock)
287  {
288  return -1;
289  }
290  struct json_object* j_obj = json_object_new_object();
291  json_object_object_add(j_obj, "event", json_object_new_string(event_name.c_str()));
292 
293  int ret = afb_wsj1_call_j(sp_websock, API, "unsubscribe", j_obj, _on_reply_static, this);
294  if (ret < 0) {
295  ELOG("Failed to call verb:%s",__FUNCTION__);
296  }
297  return ret;
298 }
299 
300 am_Error_e LibSoundmanager::connect(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am_mainConnectionID_t& mainConnectionID)
301 {
302  /*int ret;
303  char *key;
304  rc = asprintf(&key, "%d:%s/%s", ++num, api, "connect");
305  ret = afb_wsj1_call_s(wsj1, api, verb, object, on_reply, key);
306  if(ret < 0)
307  {
308  fprintf(stderr, "calling %s/%s(%s) failed: %m\n", api, verb, object);
309 
310  }*/
311  /* open the json scripts */
312  // get mainconnedction ID */
313  //mainConnectionID = xx;
314  return E_OK;
315 }
316 
317 am_Error_e LibSoundmanager::disconnect(const am_mainConnectionID_t mainConnectionID)
318 {
319  return E_OK;
320 }
321 
322 /*const struct afb_wsj1* LibSoundmanager::get_websocket_handler()
323 {
324  if(sp_websock)
325  {
326  return sp_websock;
327  }
328  return nullptr;
329 }
330 
331 const struct sd_event* LibSoundmanager::get_sd_event()
332 {
333  if(mploop)
334  {
335  return mploop;
336  }
337  return nullptr;
338 }*/
339 
340 /************* Callback Function *************/
341 
342 void LibSoundmanager::on_hangup(void *closure, struct afb_wsj1 *wsj)
343 {
344  DLOG("%s called", __FUNCTION__);
345 }
346 
347 void LibSoundmanager::on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)
348 {
349 }
350 
351 /*
352 * event is like "soundmanager/newMainConnection"
353 * msg is like {"event":"soundmanager\/newMainConnection","data":{"mainConnectionID":3,"sourceID":101,"sinkID":100,"delay":0,"connectionState":4},"jtype":"afb-event"})}
354 * ^key^ ^^^^^^^^^^^^ value ^^^^^^^^^^^^
355 * so you can get
356  event name : struct json_object obj = json_object_object_get(msg,"event")
357 */
358 void LibSoundmanager::on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)
359 {
360  cout << "ON-EVENT:" << event << "(" << afb_wsj1_msg_object_s(msg) << ")" << endl;
361  if(onEvent != nullptr)
362  {
363  const string ev(event);
364  struct json_object* ev_contents = afb_wsj1_msg_object_j(msg);
365  onEvent(ev, ev_contents);
366  }
367 }
368 
369 void LibSoundmanager::on_reply(void *closure, struct afb_wsj1_msg *msg)
370 {
371  cout << "ON-REPLY:" << "(" << afb_wsj1_msg_object_s(msg) << ")" << endl;
372  if(onReply != nullptr)
373  {
374  struct json_object* reply = afb_wsj1_msg_object_j(msg);
375  onReply(reply);
376  }
377 }
378 
379 /* Internal Function in libsoundmanager */
380 
381 static void _ELOG(const char* func, const int line, const char* log, ...)
382 {
383  char *message;
384  va_list args;
385  va_start(args, log);
386  if (log == NULL || vasprintf(&message, log, args) < 0)
387  message = NULL;
388  cout << "[ERROR]" << func << "(" << line << "):" << message << endl;
389  va_end(args);
390  free(message);
391 }
392 
393 static void _DLOG(const char* func, const int line, const char* log, ...)
394 {
395  char *message;
396  va_list args;
397  va_start(args, log);
398  if (log == NULL || vasprintf(&message, log, args) < 0)
399  message = NULL;
400  cout << "[DEBUG]" << func << "(" << line << "):" << message << endl;
401  va_end(args);
402  free(message);
403 }
404 
405 static bool has_verb(const string& verb)
406 {
407  DLOG("verb is %s", verb.c_str());
408  if(find(api_list.begin(), api_list.end(), verb) != api_list.end())
409  return true;
410  else
411  return false;
412 }
const std::vector< std::string > api_list
+ + +
int call_sync(const std::string &verb, struct json_object *arg, struct json_object *ret)
+
int unsubscribe(const std::string &event_name)
+
int call(const std::string &verb, struct json_object *arg)
+
void register_callback(void(*event_cb)(const std::string &event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents))
+ + + +
void on_hangup(void *closure, struct afb_wsj1 *wsj)
+
int subscribe(const std::string &event_name)
+
void on_reply(void *closure, struct afb_wsj1_msg *msg)
+ +
void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)
+
void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg)
+
#define ELOG(args,...)
+
#define DLOG(args,...)
+
+
+ + + + diff --git a/doc/api-ref/html/libsoundmanager_8hpp.html b/doc/api-ref/html/libsoundmanager_8hpp.html new file mode 100644 index 0000000..4291c66 --- /dev/null +++ b/doc/api-ref/html/libsoundmanager_8hpp.html @@ -0,0 +1,158 @@ + + + + + + + +Sound Manager: SoundManagerBinding/include/libsoundmanager/libsoundmanager.hpp File Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
libsoundmanager.hpp File Reference
+
+
+
#include <audiomanagertypes.h>
+#include <vector>
+#include <map>
+#include <string>
+#include <json-c/json.h>
+#include <systemd/sd-event.h>
+#include <afb/afb-binding.h>
+#include <afb/afb-wsj1.h>
+#include <afb/afb-ws-client.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  LibSoundmanager
 
+ + + + + +

+Variables

const std::vector< std::string > api_list
 
const std::vector< std::string > event_list
 
+

Variable Documentation

+ +

◆ api_list

+ +
+
+ + + + +
const std::vector<std::string> api_list
+
+Initial value:
{
std::string("connect"),
std::string("disconnect"),
std::string("setVolume"),
std::string("volumeStep"),
std::string("setSinkMuteState"),
std::string("getListMainConnections"),
std::string("ackConnect"),
std::string("ackDisconnect"),
std::string("ackSetSourceState"),
std::string("registerSource"),
std::string("deregisterSource"),
std::string("subscribe"),
std::string("unsubscribe")
}
+

Definition at line 34 of file libsoundmanager.hpp.

+ +
+
+ +

◆ event_list

+ +
+
+ + + + +
const std::vector<std::string> event_list
+
+Initial value:
{
std::string("newMainConnection"),
std::string("volumeChanged"),
std::string("removedMainConnection"),
std::string("sinkMuteStateChanged"),
std::string("mainConnectionStateChanged"),
std::string("setRoutingReady"),
std::string("setRoutingRundown"),
std::string("asyncConnect"),
std::string("ackSetSourceState")
}
+

Definition at line 50 of file libsoundmanager.hpp.

+ +
+
+
+
+ + + + diff --git a/doc/api-ref/html/libsoundmanager_8hpp.js b/doc/api-ref/html/libsoundmanager_8hpp.js new file mode 100644 index 0000000..16a31f8 --- /dev/null +++ b/doc/api-ref/html/libsoundmanager_8hpp.js @@ -0,0 +1,6 @@ +var libsoundmanager_8hpp = +[ + [ "LibSoundmanager", "class_lib_soundmanager.html", "class_lib_soundmanager" ], + [ "api_list", "libsoundmanager_8hpp.html#a1f6a1c6cdbe66b174179ef6395f2981f", null ], + [ "event_list", "libsoundmanager_8hpp.html#a63497e6f3147871c0c6b1b251565e7f0", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/libsoundmanager_8hpp_source.html b/doc/api-ref/html/libsoundmanager_8hpp_source.html new file mode 100644 index 0000000..58073d6 --- /dev/null +++ b/doc/api-ref/html/libsoundmanager_8hpp_source.html @@ -0,0 +1,103 @@ + + + + + + + +Sound Manager: SoundManagerBinding/include/libsoundmanager/libsoundmanager.hpp Source File + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Sound Manager +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
libsoundmanager.hpp
+
+
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef LIBSOUNDMANAGER_H
18 #define LIBSOUNDMANAGER_H
19 #include <audiomanagertypes.h>
20 #include <vector>
21 #include <map>
22 #include <string>
23 #include <json-c/json.h>
24 #include <systemd/sd-event.h>
25 extern "C"
26 {
27 #include <afb/afb-binding.h>
28 #include <afb/afb-wsj1.h>
29 #include <afb/afb-ws-client.h>
30 }
31 
32 using namespace am;
33 
34 const std::vector<std::string> api_list{
35  std::string("connect"),
36  std::string("disconnect"),
37  std::string("setVolume"),
38  std::string("volumeStep"),
39  std::string("setSinkMuteState"),
40  std::string("getListMainConnections"),
41  std::string("ackConnect"),
42  std::string("ackDisconnect"),
43  std::string("ackSetSourceState"),
44  std::string("registerSource"),
45  std::string("deregisterSource"),
46  std::string("subscribe"),
47  std::string("unsubscribe")
48 };
49 
50 const std::vector<std::string> event_list{
51  std::string("newMainConnection"),
52  std::string("volumeChanged"),
53  std::string("removedMainConnection"),
54  std::string("sinkMuteStateChanged"),
55  std::string("mainConnectionStateChanged"),
56  std::string("setRoutingReady"),
57  std::string("setRoutingRundown"),
58  std::string("asyncConnect"),
59  std::string("ackSetSourceState")
60 };
61 
63 {
64 private:
65  LibSoundmanager() = delete;
66 public:
67  LibSoundmanager(const int port, const std::string& token);
68  //LibSoundmanager(const std::string& uri);
69  ~LibSoundmanager();
70 
71  /* Method */
72  void register_callback(
73  void (*event_cb)(const std::string& event, struct json_object* event_contents),
74  void (*reply_cb)(struct json_object* reply_contents)
75  );
76  int run_eventloop();
77  int call(const std::string& verb, struct json_object* arg);
78  int call_sync(const std::string& verb, struct json_object* arg, struct json_object* ret);
79  int subscribe(const std::string& event_name);
80  int unsubscribe(const std::string& event_name);
81  /*const struct afb_wsj1* get_websocket_handler();
82  const struct sd_event* get_sd_event();*/
83 
84 private:
85  int initialize_websocket();
86  void (*onEvent)(const std::string& event, struct json_object* event_contents);
87  void (*onReply)(struct json_object* reply);
88 
89  struct afb_wsj1* sp_websock;
90  struct afb_wsj1_itf minterface;
91  sd_event* mploop;
92  std::string muri;
93  int mport = 12345;
94  std::string mtoken = "123456";
95 
96  am_Error_e connect(const am_sourceID_t sourceID, const am_sinkID_t sinkID, am::am_mainConnectionID_t& mainConnectionID);
97  am_Error_e disconnect(const am_mainConnectionID_t mainConnectionID);
98 
99 public:
100  /* Don't use/ Internal only */
101  void on_hangup(void *closure, struct afb_wsj1 *wsj);
102  void on_call(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg);
103  void on_event(void *closure, const char *event, struct afb_wsj1_msg *msg);
104  void on_reply(void *closure, struct afb_wsj1_msg *msg);
105 };
106 #endif /* LIBSOUNDMANAGER_H */
+
const std::vector< std::string > api_list
+
const std::vector< std::string > event_list
+ + +
+
+ + + + diff --git a/doc/api-ref/html/menu.js b/doc/api-ref/html/menu.js new file mode 100644 index 0000000..97db4c2 --- /dev/null +++ b/doc/api-ref/html/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/doc/api-ref/html/menudata.js b/doc/api-ref/html/menudata.js new file mode 100644 index 0000000..52fe2ba --- /dev/null +++ b/doc/api-ref/html/menudata.js @@ -0,0 +1,16 @@ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Structure Index",url:"classes.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html"}, +{text:"Functions",url:"functions_func.html"}, +{text:"Variables",url:"functions_vars.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/doc/api-ref/html/nav_f.png b/doc/api-ref/html/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/nav_g.png b/doc/api-ref/html/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).load(resizeHeight); +} + + diff --git a/doc/api-ref/html/search/all_0.html b/doc/api-ref/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/doc/api-ref/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_0.js b/doc/api-ref/html/search/all_0.js new file mode 100644 index 0000000..b97cbfb --- /dev/null +++ b/doc/api-ref/html/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5fgnu_5fsource',['_GNU_SOURCE',['../soundmanager_8c.html#a369266c24eacffb87046522897a570d5',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/all_1.html b/doc/api-ref/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/doc/api-ref/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_1.js b/doc/api-ref/html/search/all_1.js new file mode 100644 index 0000000..c6903b6 --- /dev/null +++ b/doc/api-ref/html/search/all_1.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['afbbindingv1register',['afbBindingV1Register',['../soundmanager_8c.html#a88642b2e51aa08fd18fdfc8017c8d567',1,'soundmanager.c']]], + ['afbbindingv1serviceinit',['afbBindingV1ServiceInit',['../soundmanager_8c.html#aace0247d919659df209ceb7dbeff6a2d',1,'soundmanager.c']]], + ['am_5fcmd_5fpath',['AM_CMD_PATH',['../soundmanager_8c.html#afa98a8b4c63efeb6e209144e7b247291',1,'soundmanager.c']]], + ['am_5fname',['AM_NAME',['../soundmanager_8c.html#ad25089fbfd55bf795bed283a5b283461',1,'soundmanager.c']]], + ['am_5froute_5fpath',['AM_ROUTE_PATH',['../soundmanager_8c.html#a9a50fb496af125690fb276944b3b4cff',1,'soundmanager.c']]], + ['api_5flist',['api_list',['../libsoundmanager_8hpp.html#a1f6a1c6cdbe66b174179ef6395f2981f',1,'libsoundmanager.hpp']]] +]; diff --git a/doc/api-ref/html/search/all_2.html b/doc/api-ref/html/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/doc/api-ref/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_2.js b/doc/api-ref/html/search/all_2.js new file mode 100644 index 0000000..6110f63 --- /dev/null +++ b/doc/api-ref/html/search/all_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['call',['call',['../class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773',1,'LibSoundmanager']]], + ['call_5fsync',['call_sync',['../class_lib_soundmanager.html#ae5b83ce661b1d785de2518ca10113956',1,'LibSoundmanager']]], + ['command_5fevent_5fnum',['COMMAND_EVENT_NUM',['../soundmanager_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/all_3.html b/doc/api-ref/html/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/doc/api-ref/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_3.js b/doc/api-ref/html/search/all_3.js new file mode 100644 index 0000000..dacb0bc --- /dev/null +++ b/doc/api-ref/html/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dlog',['DLOG',['../libsoundmanager_8cpp.html#a4e42b2f5af2174dd24f958351becf63d',1,'libsoundmanager.cpp']]] +]; diff --git a/doc/api-ref/html/search/all_4.html b/doc/api-ref/html/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/doc/api-ref/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_4.js b/doc/api-ref/html/search/all_4.js new file mode 100644 index 0000000..f241b7f --- /dev/null +++ b/doc/api-ref/html/search/all_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['elog',['ELOG',['../libsoundmanager_8cpp.html#a797aa3053bd6a29819d44f8fad8a5eca',1,'libsoundmanager.cpp']]], + ['event',['event',['../structevent.html',1,'event'],['../structevent.html#a58726ebc551d36562ac3f9e1fe293214',1,'event::event()']]], + ['event_5flist',['event_list',['../libsoundmanager_8hpp.html#a63497e6f3147871c0c6b1b251565e7f0',1,'libsoundmanager.hpp']]] +]; diff --git a/doc/api-ref/html/search/all_5.html b/doc/api-ref/html/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/doc/api-ref/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_5.js b/doc/api-ref/html/search/all_5.js new file mode 100644 index 0000000..626f0c6 --- /dev/null +++ b/doc/api-ref/html/search/all_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['libsoundmanager',['LibSoundmanager',['../class_lib_soundmanager.html',1,'LibSoundmanager'],['../class_lib_soundmanager.html#a289a9d6ff8be95ae78660f239d962d79',1,'LibSoundmanager::LibSoundmanager()']]], + ['libsoundmanager_2ecpp',['libsoundmanager.cpp',['../libsoundmanager_8cpp.html',1,'']]], + ['libsoundmanager_2ehpp',['libsoundmanager.hpp',['../libsoundmanager_8hpp.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/all_6.html b/doc/api-ref/html/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/doc/api-ref/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_6.js b/doc/api-ref/html/search/all_6.js new file mode 100644 index 0000000..4b803da --- /dev/null +++ b/doc/api-ref/html/search/all_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['main',['main',['../test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'test.cpp']]], + ['max_5flen_5fstr',['MAX_LEN_STR',['../soundmanager_8c.html#ab29566f6eaf3523d21c1465a3ff71570',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/all_7.html b/doc/api-ref/html/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/doc/api-ref/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_7.js b/doc/api-ref/html/search/all_7.js new file mode 100644 index 0000000..d6f2e90 --- /dev/null +++ b/doc/api-ref/html/search/all_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structevent.html#a723489bec273335d13513cd1040c0216',1,'event']]] +]; diff --git a/doc/api-ref/html/search/all_8.html b/doc/api-ref/html/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/doc/api-ref/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_8.js b/doc/api-ref/html/search/all_8.js new file mode 100644 index 0000000..07d9659 --- /dev/null +++ b/doc/api-ref/html/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['on_5fcall',['on_call',['../class_lib_soundmanager.html#a3ba2255cb1d29c77c4c6a2267949eda0',1,'LibSoundmanager']]], + ['on_5fevent',['on_event',['../class_lib_soundmanager.html#a86ef62e7847cd20e9cafbc1f6c017b3e',1,'LibSoundmanager']]], + ['on_5fhangup',['on_hangup',['../class_lib_soundmanager.html#a71a8165cb15c7815aa95a8955f5cd7f6',1,'LibSoundmanager']]], + ['on_5freply',['on_reply',['../class_lib_soundmanager.html#a69b4f10e509605a570cc52c795bc9d51',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/all_9.html b/doc/api-ref/html/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/doc/api-ref/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_9.js b/doc/api-ref/html/search/all_9.js new file mode 100644 index 0000000..f64b6c8 --- /dev/null +++ b/doc/api-ref/html/search/all_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['register_5fcallback',['register_callback',['../class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74',1,'LibSoundmanager']]], + ['routing_5fevent_5fnum',['ROUTING_EVENT_NUM',['../soundmanager_8c.html#a33d1c40de8a5e7a3d6f0e2f45de9f37f',1,'soundmanager.c']]], + ['run_5feventloop',['run_eventloop',['../class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/all_a.html b/doc/api-ref/html/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/doc/api-ref/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_a.js b/doc/api-ref/html/search/all_a.js new file mode 100644 index 0000000..6797659 --- /dev/null +++ b/doc/api-ref/html/search/all_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['sm',['sm',['../test_8cpp.html#a0cbfe893edb63b7b0c419db013fa9022',1,'test.cpp']]], + ['sound_5fmanager_5fname',['SOUND_MANAGER_NAME',['../soundmanager_8c.html#a9b2ae077f774994129a3c231be6703a0',1,'soundmanager.c']]], + ['sound_5fmanager_5fpath',['SOUND_MANAGER_PATH',['../soundmanager_8c.html#a2690d3e2461f5a2f9bb0720d657280da',1,'soundmanager.c']]], + ['soundmanager_2ec',['soundmanager.c',['../soundmanager_8c.html',1,'']]], + ['subscribe',['subscribe',['../class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/all_b.html b/doc/api-ref/html/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/doc/api-ref/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_b.js b/doc/api-ref/html/search/all_b.js new file mode 100644 index 0000000..2abceaa --- /dev/null +++ b/doc/api-ref/html/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['test_2ecpp',['test.cpp',['../test_8cpp.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/all_c.html b/doc/api-ref/html/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/doc/api-ref/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_c.js b/doc/api-ref/html/search/all_c.js new file mode 100644 index 0000000..3c4ce14 --- /dev/null +++ b/doc/api-ref/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unsubscribe',['unsubscribe',['../class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/all_d.html b/doc/api-ref/html/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/doc/api-ref/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/all_d.js b/doc/api-ref/html/search/all_d.js new file mode 100644 index 0000000..8beb9df --- /dev/null +++ b/doc/api-ref/html/search/all_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7elibsoundmanager',['~LibSoundmanager',['../class_lib_soundmanager.html#abf861908e3d6d85d2b3c08683b08f934',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/classes_0.html b/doc/api-ref/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/doc/api-ref/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/classes_0.js b/doc/api-ref/html/search/classes_0.js new file mode 100644 index 0000000..2ddd7f1 --- /dev/null +++ b/doc/api-ref/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['event',['event',['../structevent.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/classes_1.html b/doc/api-ref/html/search/classes_1.html new file mode 100644 index 0000000..a8e7069 --- /dev/null +++ b/doc/api-ref/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/classes_1.js b/doc/api-ref/html/search/classes_1.js new file mode 100644 index 0000000..8579e77 --- /dev/null +++ b/doc/api-ref/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['libsoundmanager',['LibSoundmanager',['../class_lib_soundmanager.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/close.png b/doc/api-ref/html/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/search/defines_0.html b/doc/api-ref/html/search/defines_0.html new file mode 100644 index 0000000..5b25204 --- /dev/null +++ b/doc/api-ref/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_0.js b/doc/api-ref/html/search/defines_0.js new file mode 100644 index 0000000..b97cbfb --- /dev/null +++ b/doc/api-ref/html/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5fgnu_5fsource',['_GNU_SOURCE',['../soundmanager_8c.html#a369266c24eacffb87046522897a570d5',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/defines_1.html b/doc/api-ref/html/search/defines_1.html new file mode 100644 index 0000000..91488cb --- /dev/null +++ b/doc/api-ref/html/search/defines_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_1.js b/doc/api-ref/html/search/defines_1.js new file mode 100644 index 0000000..ca7fddf --- /dev/null +++ b/doc/api-ref/html/search/defines_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['am_5fcmd_5fpath',['AM_CMD_PATH',['../soundmanager_8c.html#afa98a8b4c63efeb6e209144e7b247291',1,'soundmanager.c']]], + ['am_5fname',['AM_NAME',['../soundmanager_8c.html#ad25089fbfd55bf795bed283a5b283461',1,'soundmanager.c']]], + ['am_5froute_5fpath',['AM_ROUTE_PATH',['../soundmanager_8c.html#a9a50fb496af125690fb276944b3b4cff',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/defines_2.html b/doc/api-ref/html/search/defines_2.html new file mode 100644 index 0000000..8655993 --- /dev/null +++ b/doc/api-ref/html/search/defines_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_2.js b/doc/api-ref/html/search/defines_2.js new file mode 100644 index 0000000..1d68a26 --- /dev/null +++ b/doc/api-ref/html/search/defines_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['command_5fevent_5fnum',['COMMAND_EVENT_NUM',['../soundmanager_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/defines_3.html b/doc/api-ref/html/search/defines_3.html new file mode 100644 index 0000000..a55d3ff --- /dev/null +++ b/doc/api-ref/html/search/defines_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_3.js b/doc/api-ref/html/search/defines_3.js new file mode 100644 index 0000000..dacb0bc --- /dev/null +++ b/doc/api-ref/html/search/defines_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dlog',['DLOG',['../libsoundmanager_8cpp.html#a4e42b2f5af2174dd24f958351becf63d',1,'libsoundmanager.cpp']]] +]; diff --git a/doc/api-ref/html/search/defines_4.html b/doc/api-ref/html/search/defines_4.html new file mode 100644 index 0000000..54da39a --- /dev/null +++ b/doc/api-ref/html/search/defines_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_4.js b/doc/api-ref/html/search/defines_4.js new file mode 100644 index 0000000..0be396a --- /dev/null +++ b/doc/api-ref/html/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['elog',['ELOG',['../libsoundmanager_8cpp.html#a797aa3053bd6a29819d44f8fad8a5eca',1,'libsoundmanager.cpp']]] +]; diff --git a/doc/api-ref/html/search/defines_5.html b/doc/api-ref/html/search/defines_5.html new file mode 100644 index 0000000..dd7bfdc --- /dev/null +++ b/doc/api-ref/html/search/defines_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_5.js b/doc/api-ref/html/search/defines_5.js new file mode 100644 index 0000000..da39044 --- /dev/null +++ b/doc/api-ref/html/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['max_5flen_5fstr',['MAX_LEN_STR',['../soundmanager_8c.html#ab29566f6eaf3523d21c1465a3ff71570',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/defines_6.html b/doc/api-ref/html/search/defines_6.html new file mode 100644 index 0000000..58d00e9 --- /dev/null +++ b/doc/api-ref/html/search/defines_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_6.js b/doc/api-ref/html/search/defines_6.js new file mode 100644 index 0000000..3faadd4 --- /dev/null +++ b/doc/api-ref/html/search/defines_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['routing_5fevent_5fnum',['ROUTING_EVENT_NUM',['../soundmanager_8c.html#a33d1c40de8a5e7a3d6f0e2f45de9f37f',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/defines_7.html b/doc/api-ref/html/search/defines_7.html new file mode 100644 index 0000000..275e1b3 --- /dev/null +++ b/doc/api-ref/html/search/defines_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/defines_7.js b/doc/api-ref/html/search/defines_7.js new file mode 100644 index 0000000..84e27d8 --- /dev/null +++ b/doc/api-ref/html/search/defines_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sound_5fmanager_5fname',['SOUND_MANAGER_NAME',['../soundmanager_8c.html#a9b2ae077f774994129a3c231be6703a0',1,'soundmanager.c']]], + ['sound_5fmanager_5fpath',['SOUND_MANAGER_PATH',['../soundmanager_8c.html#a2690d3e2461f5a2f9bb0720d657280da',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/files_0.html b/doc/api-ref/html/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/doc/api-ref/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/files_0.js b/doc/api-ref/html/search/files_0.js new file mode 100644 index 0000000..5bbdd4a --- /dev/null +++ b/doc/api-ref/html/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['libsoundmanager_2ecpp',['libsoundmanager.cpp',['../libsoundmanager_8cpp.html',1,'']]], + ['libsoundmanager_2ehpp',['libsoundmanager.hpp',['../libsoundmanager_8hpp.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/files_1.html b/doc/api-ref/html/search/files_1.html new file mode 100644 index 0000000..dcce422 --- /dev/null +++ b/doc/api-ref/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/files_1.js b/doc/api-ref/html/search/files_1.js new file mode 100644 index 0000000..b6ebd2c --- /dev/null +++ b/doc/api-ref/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['soundmanager_2ec',['soundmanager.c',['../soundmanager_8c.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/files_2.html b/doc/api-ref/html/search/files_2.html new file mode 100644 index 0000000..d5c6c3b --- /dev/null +++ b/doc/api-ref/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/files_2.js b/doc/api-ref/html/search/files_2.js new file mode 100644 index 0000000..2abceaa --- /dev/null +++ b/doc/api-ref/html/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['test_2ecpp',['test.cpp',['../test_8cpp.html',1,'']]] +]; diff --git a/doc/api-ref/html/search/functions_0.html b/doc/api-ref/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/doc/api-ref/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_0.js b/doc/api-ref/html/search/functions_0.js new file mode 100644 index 0000000..6ce8cfa --- /dev/null +++ b/doc/api-ref/html/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['afbbindingv1register',['afbBindingV1Register',['../soundmanager_8c.html#a88642b2e51aa08fd18fdfc8017c8d567',1,'soundmanager.c']]], + ['afbbindingv1serviceinit',['afbBindingV1ServiceInit',['../soundmanager_8c.html#aace0247d919659df209ceb7dbeff6a2d',1,'soundmanager.c']]] +]; diff --git a/doc/api-ref/html/search/functions_1.html b/doc/api-ref/html/search/functions_1.html new file mode 100644 index 0000000..b343e2d --- /dev/null +++ b/doc/api-ref/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_1.js b/doc/api-ref/html/search/functions_1.js new file mode 100644 index 0000000..caf07a6 --- /dev/null +++ b/doc/api-ref/html/search/functions_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['call',['call',['../class_lib_soundmanager.html#a1fe952a4dabbab6126cc23e36c79c773',1,'LibSoundmanager']]], + ['call_5fsync',['call_sync',['../class_lib_soundmanager.html#ae5b83ce661b1d785de2518ca10113956',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_2.html b/doc/api-ref/html/search/functions_2.html new file mode 100644 index 0000000..ecce2f3 --- /dev/null +++ b/doc/api-ref/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_2.js b/doc/api-ref/html/search/functions_2.js new file mode 100644 index 0000000..6bc3e4c --- /dev/null +++ b/doc/api-ref/html/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['libsoundmanager',['LibSoundmanager',['../class_lib_soundmanager.html#a289a9d6ff8be95ae78660f239d962d79',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_3.html b/doc/api-ref/html/search/functions_3.html new file mode 100644 index 0000000..15f06ab --- /dev/null +++ b/doc/api-ref/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_3.js b/doc/api-ref/html/search/functions_3.js new file mode 100644 index 0000000..a52fe02 --- /dev/null +++ b/doc/api-ref/html/search/functions_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['main',['main',['../test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'test.cpp']]] +]; diff --git a/doc/api-ref/html/search/functions_4.html b/doc/api-ref/html/search/functions_4.html new file mode 100644 index 0000000..8985ff2 --- /dev/null +++ b/doc/api-ref/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_4.js b/doc/api-ref/html/search/functions_4.js new file mode 100644 index 0000000..07d9659 --- /dev/null +++ b/doc/api-ref/html/search/functions_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['on_5fcall',['on_call',['../class_lib_soundmanager.html#a3ba2255cb1d29c77c4c6a2267949eda0',1,'LibSoundmanager']]], + ['on_5fevent',['on_event',['../class_lib_soundmanager.html#a86ef62e7847cd20e9cafbc1f6c017b3e',1,'LibSoundmanager']]], + ['on_5fhangup',['on_hangup',['../class_lib_soundmanager.html#a71a8165cb15c7815aa95a8955f5cd7f6',1,'LibSoundmanager']]], + ['on_5freply',['on_reply',['../class_lib_soundmanager.html#a69b4f10e509605a570cc52c795bc9d51',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_5.html b/doc/api-ref/html/search/functions_5.html new file mode 100644 index 0000000..0314918 --- /dev/null +++ b/doc/api-ref/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_5.js b/doc/api-ref/html/search/functions_5.js new file mode 100644 index 0000000..7e4a2c1 --- /dev/null +++ b/doc/api-ref/html/search/functions_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['register_5fcallback',['register_callback',['../class_lib_soundmanager.html#a560edf9ae3b1e367ad4cbb31c7021d74',1,'LibSoundmanager']]], + ['run_5feventloop',['run_eventloop',['../class_lib_soundmanager.html#abe71d3531e7888f47185a601b284e729',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_6.html b/doc/api-ref/html/search/functions_6.html new file mode 100644 index 0000000..c506123 --- /dev/null +++ b/doc/api-ref/html/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_6.js b/doc/api-ref/html/search/functions_6.js new file mode 100644 index 0000000..4c6ed89 --- /dev/null +++ b/doc/api-ref/html/search/functions_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['subscribe',['subscribe',['../class_lib_soundmanager.html#a9cd7c5470cb135f9b1aa56d790c7e91e',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_7.html b/doc/api-ref/html/search/functions_7.html new file mode 100644 index 0000000..83a7b84 --- /dev/null +++ b/doc/api-ref/html/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_7.js b/doc/api-ref/html/search/functions_7.js new file mode 100644 index 0000000..3c4ce14 --- /dev/null +++ b/doc/api-ref/html/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unsubscribe',['unsubscribe',['../class_lib_soundmanager.html#a21060844aa7efad6473b6104546afb06',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/functions_8.html b/doc/api-ref/html/search/functions_8.html new file mode 100644 index 0000000..b55f0e6 --- /dev/null +++ b/doc/api-ref/html/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/functions_8.js b/doc/api-ref/html/search/functions_8.js new file mode 100644 index 0000000..8beb9df --- /dev/null +++ b/doc/api-ref/html/search/functions_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_7elibsoundmanager',['~LibSoundmanager',['../class_lib_soundmanager.html#abf861908e3d6d85d2b3c08683b08f934',1,'LibSoundmanager']]] +]; diff --git a/doc/api-ref/html/search/mag_sel.png b/doc/api-ref/html/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/search/nomatches.html b/doc/api-ref/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/doc/api-ref/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/doc/api-ref/html/search/search.css b/doc/api-ref/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/doc/api-ref/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/api-ref/html/search/search.js b/doc/api-ref/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/doc/api-ref/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/search/search_r.png b/doc/api-ref/html/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/variables_0.js b/doc/api-ref/html/search/variables_0.js new file mode 100644 index 0000000..2e775a1 --- /dev/null +++ b/doc/api-ref/html/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['api_5flist',['api_list',['../libsoundmanager_8hpp.html#a1f6a1c6cdbe66b174179ef6395f2981f',1,'libsoundmanager.hpp']]] +]; diff --git a/doc/api-ref/html/search/variables_1.html b/doc/api-ref/html/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/doc/api-ref/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/variables_1.js b/doc/api-ref/html/search/variables_1.js new file mode 100644 index 0000000..303e342 --- /dev/null +++ b/doc/api-ref/html/search/variables_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['event',['event',['../structevent.html#a58726ebc551d36562ac3f9e1fe293214',1,'event']]], + ['event_5flist',['event_list',['../libsoundmanager_8hpp.html#a63497e6f3147871c0c6b1b251565e7f0',1,'libsoundmanager.hpp']]] +]; diff --git a/doc/api-ref/html/search/variables_2.html b/doc/api-ref/html/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/doc/api-ref/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/variables_2.js b/doc/api-ref/html/search/variables_2.js new file mode 100644 index 0000000..d6f2e90 --- /dev/null +++ b/doc/api-ref/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name',['name',['../structevent.html#a723489bec273335d13513cd1040c0216',1,'event']]] +]; diff --git a/doc/api-ref/html/search/variables_3.html b/doc/api-ref/html/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/doc/api-ref/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/doc/api-ref/html/search/variables_3.js b/doc/api-ref/html/search/variables_3.js new file mode 100644 index 0000000..4f3ec89 --- /dev/null +++ b/doc/api-ref/html/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sm',['sm',['../test_8cpp.html#a0cbfe893edb63b7b0c419db013fa9022',1,'test.cpp']]] +]; diff --git a/doc/api-ref/html/soundmanager_8c.html b/doc/api-ref/html/soundmanager_8c.html new file mode 100644 index 0000000..01ac3bb --- /dev/null +++ b/doc/api-ref/html/soundmanager_8c.html @@ -0,0 +1,334 @@ + + + + + + + +Sound Manager: SoundManagerBinding/soundmanager_binging/soundmanager.c File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Sound Manager +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    soundmanager.c File Reference
    +
    +
    +
    #include <stdio.h>
    +#include <string.h>
    +#include <stdlib.h>
    +#include <stdint.h>
    +#include <unistd.h>
    +#include <json-c/json.h>
    +#include <pthread.h>
    +#include <afb/afb-binding.h>
    +#include "sm-helper.h"
    +#include "dbus/audio_manager_interface.h"
    +
    +

    Go to the source code of this file.

    + + + + +

    +Data Structures

    struct  event
     
    + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define _GNU_SOURCE
     
    #define AM_NAME   "org.genivi.audiomanager"
     
    #define AM_CMD_PATH   "/org/genivi/audiomanager/commandinterface"
     
    #define AM_ROUTE_PATH   "/org/genivi/audiomanager/routinginterface"
     
    #define SOUND_MANAGER_NAME   "org.soundmanager.genivi.routingsend"
     
    #define SOUND_MANAGER_PATH   "org/soundmanager/genivi/routingsend"
     
    #define COMMAND_EVENT_NUM   10
     
    #define ROUTING_EVENT_NUM   10
     
    #define MAX_LEN_STR   100
     
    + + + + + +

    +Functions

    const struct afb_binding * afbBindingV1Register (const struct afb_binding_interface *itf)
     
    int afbBindingV1ServiceInit (struct afb_service service)
     
    +

    Macro Definition Documentation

    + +

    ◆ _GNU_SOURCE

    + +
    +
    + + + + +
    #define _GNU_SOURCE
    +
    + +

    Definition at line 17 of file soundmanager.c.

    + +
    +
    + +

    ◆ AM_CMD_PATH

    + +
    +
    + + + + +
    #define AM_CMD_PATH   "/org/genivi/audiomanager/commandinterface"
    +
    + +

    Definition at line 32 of file soundmanager.c.

    + +
    +
    + +

    ◆ AM_NAME

    + +
    +
    + + + + +
    #define AM_NAME   "org.genivi.audiomanager"
    +
    + +

    Definition at line 31 of file soundmanager.c.

    + +
    +
    + +

    ◆ AM_ROUTE_PATH

    + +
    +
    + + + + +
    #define AM_ROUTE_PATH   "/org/genivi/audiomanager/routinginterface"
    +
    + +

    Definition at line 33 of file soundmanager.c.

    + +
    +
    + +

    ◆ COMMAND_EVENT_NUM

    + +
    +
    + + + + +
    #define COMMAND_EVENT_NUM   10
    +
    + +

    Definition at line 37 of file soundmanager.c.

    + +
    +
    + +

    ◆ MAX_LEN_STR

    + +
    +
    + + + + +
    #define MAX_LEN_STR   100
    +
    + +

    Definition at line 39 of file soundmanager.c.

    + +
    +
    + +

    ◆ ROUTING_EVENT_NUM

    + +
    +
    + + + + +
    #define ROUTING_EVENT_NUM   10
    +
    + +

    Definition at line 38 of file soundmanager.c.

    + +
    +
    + +

    ◆ SOUND_MANAGER_NAME

    + +
    +
    + + + + +
    #define SOUND_MANAGER_NAME   "org.soundmanager.genivi.routingsend"
    +
    + +

    Definition at line 34 of file soundmanager.c.

    + +
    +
    + +

    ◆ SOUND_MANAGER_PATH

    + +
    +
    + + + + +
    #define SOUND_MANAGER_PATH   "org/soundmanager/genivi/routingsend"
    +
    + +

    Definition at line 35 of file soundmanager.c.

    + +
    +
    +

    Function Documentation

    + +

    ◆ afbBindingV1Register()

    + +
    +
    + + + + + + + + +
    const struct afb_binding* afbBindingV1Register (const struct afb_binding_interface * itf)
    +
    + +

    Definition at line 1137 of file soundmanager.c.

    + +
    +
    + +

    ◆ afbBindingV1ServiceInit()

    + +
    +
    + + + + + + + + +
    int afbBindingV1ServiceInit (struct afb_service service)
    +
    + +

    Definition at line 1145 of file soundmanager.c.

    + +
    +
    +
    +
    + + + + diff --git a/doc/api-ref/html/soundmanager_8c.js b/doc/api-ref/html/soundmanager_8c.js new file mode 100644 index 0000000..ed837d7 --- /dev/null +++ b/doc/api-ref/html/soundmanager_8c.js @@ -0,0 +1,15 @@ +var soundmanager_8c = +[ + [ "event", "structevent.html", "structevent" ], + [ "_GNU_SOURCE", "soundmanager_8c.html#a369266c24eacffb87046522897a570d5", null ], + [ "AM_CMD_PATH", "soundmanager_8c.html#afa98a8b4c63efeb6e209144e7b247291", null ], + [ "AM_NAME", "soundmanager_8c.html#ad25089fbfd55bf795bed283a5b283461", null ], + [ "AM_ROUTE_PATH", "soundmanager_8c.html#a9a50fb496af125690fb276944b3b4cff", null ], + [ "COMMAND_EVENT_NUM", "soundmanager_8c.html#a09f43d9e7e1c5d2198c0d66024b4500e", null ], + [ "MAX_LEN_STR", "soundmanager_8c.html#ab29566f6eaf3523d21c1465a3ff71570", null ], + [ "ROUTING_EVENT_NUM", "soundmanager_8c.html#a33d1c40de8a5e7a3d6f0e2f45de9f37f", null ], + [ "SOUND_MANAGER_NAME", "soundmanager_8c.html#a9b2ae077f774994129a3c231be6703a0", null ], + [ "SOUND_MANAGER_PATH", "soundmanager_8c.html#a2690d3e2461f5a2f9bb0720d657280da", null ], + [ "afbBindingV1Register", "soundmanager_8c.html#a88642b2e51aa08fd18fdfc8017c8d567", null ], + [ "afbBindingV1ServiceInit", "soundmanager_8c.html#aace0247d919659df209ceb7dbeff6a2d", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/soundmanager_8c_source.html b/doc/api-ref/html/soundmanager_8c_source.html new file mode 100644 index 0000000..30d2f9b --- /dev/null +++ b/doc/api-ref/html/soundmanager_8c_source.html @@ -0,0 +1,110 @@ + + + + + + + +Sound Manager: SoundManagerBinding/soundmanager_binging/soundmanager.c Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Sound Manager +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    soundmanager.c
    +
    +
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
    3  *
    4  * Licensed under the Apache License, Version 2.0 (the "License");
    5  * you may not use this file except in compliance with the License.
    6  * You may obtain a copy of the License at
    7  *
    8  * http://www.apache.org/licenses/LICENSE-2.0
    9  *
    10  * Unless required by applicable law or agreed to in writing, software
    11  * distributed under the License is distributed on an "AS IS" BASIS,
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  * See the License for the specific language governing permissions and
    14  * limitations under the License.
    15  */
    16 
    17 #define _GNU_SOURCE
    18 #include <stdio.h>
    19 #include <string.h>
    20 #include <stdlib.h>
    21 #include <stdint.h>
    22 #include <unistd.h>
    23 #include <json-c/json.h>
    24 //#include <search.h>
    25 #include <pthread.h>
    26 #include <afb/afb-binding.h>
    27 #include "sm-helper.h"
    28 #include <glib.h>
    29 #include "dbus/audio_manager_interface.h"
    30 
    31 #define AM_NAME "org.genivi.audiomanager"
    32 #define AM_CMD_PATH "/org/genivi/audiomanager/commandinterface"
    33 #define AM_ROUTE_PATH "/org/genivi/audiomanager/routinginterface"
    34 #define SOUND_MANAGER_NAME "org.soundmanager.genivi.routingsend"
    35 #define SOUND_MANAGER_PATH "org/soundmanager/genivi/routingsend"
    36 
    37 #define COMMAND_EVENT_NUM 10
    38 #define ROUTING_EVENT_NUM 10
    39 #define MAX_LEN_STR 100
    40 
    41 const static struct afb_binding_interface *afbitf;
    42 static AudiomanagerCommandinterface *am_cmd_bus;
    43 static AudiomanagerRoutinginterface *am_route_bus;
    44 static OrgSoundmanagerGeniviRoutingsend *sm_adapter;
    45 static OrgSoundmanagerGeniviRoutingsendIface* sm_itf;
    46 
    47 static GMainLoop *loop = NULL;
    48 /* To Do hash table is better */
    49 struct event{
    50  char* name;
    51  struct afb_event* event;
    52  };
    53 static struct event command_event_list[COMMAND_EVENT_NUM];
    54 static struct event routing_event_list[ROUTING_EVENT_NUM];
    55 
    56 static struct afb_event ev_new_connection;
    57 static struct afb_event ev_removed_main_connection;
    58 static struct afb_event ev_volume_changed;
    59 static struct afb_event ev_sink_mute_state_changed;
    60 static struct afb_event ev_main_connection_state_changed;
    61 
    62 /* Routing interface event */
    63 static struct afb_event ev_set_routing_ready;
    64 static struct afb_event ev_set_routing_rundown;
    65 static struct afb_event ev_async_connect;
    66 static struct afb_event ev_async_set_source_state;
    67 
    68 static const char _sourceid[] = "sourceID";
    69 static const char _sinkid[] = "sinkID" ;
    70 static const char _main_connection_id[] = "mainConnectionID";
    71 static const char _delay[] = "delay";
    72 static const char _connectionState[] = "connectionState";
    73 static const char _connectionID[] = "connectionID";
    74 static const char _volume[] = "volume";
    75 static const char _volumeStep[] = "volumeStep";
    76 static const char _muteState[] = "muteState";
    77 
    78 static const char _handle[] = "handle";
    79 static const char _appname[] = "appname";
    80 static const char _ramp[] = "ramp";
    81 static const char _time[] = "time";
    82 static const char _sourceState[] = "sourceState";
    83 static const char _sourceClassID[] = "sourceClassID";
    84 static const char _error[] = "error";
    85 static const char _sinkData[] = "sinkData";
    86 static const char _sourceData[] = "sourceData";
    87 static const char _interruptState[] = "interruptState";
    88 static const char _availability[] = "availability";
    89 static const char _domainID[] = "domainID";
    90 static const char _listvolumes[] = "listvolumes";
    91 static const char _payload[] = "payload";
    92 static const char _connectionFormat[] = "connectionFormat";
    93 /*
    94 ********** Method of Sound Manager (API) **********
    95 */
    96 
    97 /* call "connect" function of Audio Manager*/
    98 static void connect (struct afb_req request)
    99 {
    100  DEBUG(afbitf,"call connect");
    101  guint16 source_id, sink_id;
    102  guint16 main_connectionID = 0;
    103  gint16 ret;
    104  REQ_ERROR req_err1, req_err2;
    105  GError *err = NULL;
    106  /* ToDo select appname or sourceID(sinkID) */
    107 
    108  req_err1 = getid_uint16(request, _sourceid, &source_id);
    109  req_err2 = getid_uint16(request, _sinkid, &sink_id);
    110 
    111  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK))
    112  {
    113  DEBUG(afbitf, "getid_uint16 source ret = %d,sink ret = %d", source_id, sink_id);
    114  NOTICE(afbitf,"wrong request");
    115  afb_req_fail(request,"wrong-request",NULL);
    116  return;
    117  }
    118 
    119  audiomanager_commandinterface_call_connect_sync(
    120  am_cmd_bus,
    121  source_id,
    122  sink_id,
    123  &ret,
    124  &main_connectionID,
    125  NULL, &err);
    126 
    127  if(err != NULL)
    128  {
    129  afb_req_fail(request, "failed", "Unable to call connect");
    130  return;
    131  }
    132 
    133  /* ToDo Remember appname(key) and tie to sourceID(value) */
    134 
    135  /*create response json object*/
    136  struct json_object *res = json_object_new_object();
    137  sm_add_object_to_json_object_func(res, __FUNCTION__, 4,
    138  "error", ret,
    139  _main_connection_id, main_connectionID);
    140  char *info;
    141  get_response_audiomanager_massage_error(ret,&info);
    142  afb_req_success(request, res, info);
    143 }
    144 
    145 /* call "disconnect" function of Audio Manager*/
    146 static void disconnect (struct afb_req request)
    147 {
    148  DEBUG(afbitf,"call disconnect");
    149 
    150  guint16 id;
    151  gint16 ret;
    152  REQ_ERROR req_err;
    153  GError *err = NULL;
    154 
    155  req_err = getid_uint16(request, _main_connection_id, &id);
    156  DEBUG(afbitf, "requested %s = %d", _main_connection_id, id);
    157 
    158  if(req_err != REQ_OK)
    159  {
    160  afb_req_fail(request,"wrong-request",afb_req_value (request, _main_connection_id));
    161  return;
    162  }
    163  audiomanager_commandinterface_call_disconnect_sync(
    164  am_cmd_bus,
    165  id,
    166  &ret,
    167  NULL, &err);
    168  DEBUG(afbitf, "ret = %d", ret);
    169 
    170  if(err != NULL)
    171  {
    172  afb_req_fail(request, "failed", "Unable to call getListMainConnections");
    173  return;
    174  }
    175 
    176  struct json_object* res_obj = json_object_new_object();
    177  sm_add_object_to_json_object_func(res_obj, __FUNCTION__, 2,
    178  "error", ret);
    179  char *info;
    180  get_response_audiomanager_massage_error(ret,&info);
    181 
    182  afb_req_success(request, res_obj, info); /* return error num as status */
    183 }
    184 
    185 static void setVolume (struct afb_req request)
    186 {
    187  DEBUG(afbitf,"call setVolume");
    188 
    189  guint16 sink_id, vol;
    190  gint16 ret;
    191  REQ_ERROR req_err1, req_err2;
    192  GError *err = NULL;
    193 
    194  req_err1 = getid_uint16(request, _sinkid, &sink_id);
    195  req_err2 = getid_int16(request, _volume, &vol);
    196  DEBUG(afbitf, "requested %s = %d, %s = %d",_sinkid, sink_id, _volume, vol);
    197  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK))
    198  {
    199  afb_req_fail(request,"wrong-request", NULL);
    200  return;
    201  }
    202 
    203  audiomanager_commandinterface_call_set_volume_sync(
    204  am_cmd_bus,
    205  sink_id,
    206  vol,
    207  &ret,
    208  NULL, &err);
    209  DEBUG(afbitf, "ret = %d", ret);
    210 
    211  if(err != NULL)
    212  {
    213  afb_req_fail(request, "failed", "Unable to call setVolume");
    214  return;
    215  }
    216 
    217  struct json_object* res_obj = json_object_new_object();
    218  sm_add_object_to_json_object_func(res_obj, __FUNCTION__, 2,
    219  "error", ret);
    220  char *info;
    221  get_response_audiomanager_massage_error(ret,&info);
    222 
    223  afb_req_success(request, res_obj, info); /* return error num as status */
    224 }
    225 
    226 static void volumeStep (struct afb_req request)
    227 {
    228  DEBUG(afbitf,"call volumeStep");
    229 
    230  guint16 sink_id, vol;
    231  gint16 ret;
    232  REQ_ERROR req_err1, req_err2;
    233  GError *err = NULL;
    234 
    235  req_err1 = getid_uint16(request, _sinkid, &sink_id);
    236  req_err2 = getid_int16(request, _volumeStep, &vol);
    237  DEBUG(afbitf, "requested %s = %d, %s = %d",_sinkid, sink_id, _volumeStep, vol);
    238  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK))
    239  {
    240  afb_req_fail(request,"wrong-request", NULL);
    241  return;
    242  }
    243 
    244  audiomanager_commandinterface_call_volume_step_sync(
    245  am_cmd_bus,
    246  sink_id,
    247  vol,
    248  &ret,
    249  NULL, &err);
    250  DEBUG(afbitf, "ret = %d", ret);
    251 
    252  if(err != NULL)
    253  {
    254  afb_req_fail(request, "failed", "Unable to call volumeStep");
    255  return;
    256  }
    257 
    258  struct json_object* res_obj = json_object_new_object();
    259  sm_add_object_to_json_object_func(res_obj, __FUNCTION__, 2,
    260  "error", ret);
    261  char *info;
    262  get_response_audiomanager_massage_error(ret,&info);
    263 
    264  afb_req_success(request, res_obj, info); /* return error num as status */
    265 }
    266 
    267 /* 1 means mute, 2 means unmute */
    268 static void setSinkMuteState(struct afb_req request)
    269 {
    270  DEBUG(afbitf,"call setSinkMuteStete");
    271 
    272  guint16 sink_id, mute;
    273  gint16 ret;
    274  REQ_ERROR req_err1, req_err2;
    275  GError *err = NULL;
    276 
    277  req_err1 = getid_uint16(request, _sinkid, &sink_id);
    278  req_err2 = getid_int16(request, _muteState, &mute);
    279  DEBUG(afbitf, "requested %s = %d, %s = %d",_sinkid, sink_id, _muteState, mute);
    280  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK))
    281  {
    282  afb_req_fail(request,"wrong-request", NULL);
    283  return;
    284  }
    285 
    286  audiomanager_commandinterface_call_set_sink_mute_state_sync(
    287  am_cmd_bus,
    288  sink_id,
    289  mute,
    290  &ret,
    291  NULL, &err);
    292  DEBUG(afbitf, "ret = %d", ret);
    293 
    294  if(err != NULL)
    295  {
    296  afb_req_fail(request, "failed", "Unable to call setSinkMuteStete");
    297  return;
    298  }
    299 
    300  struct json_object* res_obj = json_object_new_object();
    301  sm_add_object_to_json_object_func(res_obj, __FUNCTION__, 2,
    302  "error", ret);
    303  char *info;
    304  get_response_audiomanager_massage_error(ret,&info);
    305 
    306  afb_req_success(request, res_obj, info); /* return error num as status */
    307 }
    308 
    309 /* call "getListMainConnections" function of Audio Manager */
    310 static void getListMainConnections(struct afb_req request)
    311 {
    312  DEBUG(afbitf,"call getListMainConnections");
    313  guint16 ret;
    314  GVariant* mainConnectionList;
    315  GError *err = NULL;
    316 
    317  audiomanager_commandinterface_call_get_list_main_connections_sync(
    318  am_cmd_bus,
    319  &ret,
    320  &mainConnectionList,
    321  NULL,
    322  &err
    323  );
    324  DEBUG(afbitf,"ret = %d, mainConnectionList pointer = %p", ret, &mainConnectionList);
    325 
    326  if(err != NULL)
    327  {
    328  afb_req_fail(request, "failed", "Unable to call getListMainConnections");
    329  return;
    330  }
    331 
    332  /* create response */
    333  struct json_object *array_res = json_object_new_array();
    334  gsize size = g_variant_n_children(mainConnectionList);
    335  DEBUG(afbitf, "mainConnectionList size is %u",(uint16_t)size);
    336  struct json_object *verb_obj = json_object_new_object();
    337  sm_add_object_to_json_object_func(verb_obj, __FUNCTION__, 0);
    338  json_object_array_add(array_res, verb_obj);
    339  if(size <= 0)
    340  {
    341  NOTICE(afbitf, "mainConnectionList size is 0");
    342  }
    343  else{
    344  for(int i = 0; i < size; ++i)
    345  {
    346  guint16 mcid, srcid, sinkid;
    347  gint16 delay, constate;
    348  g_variant_get_child(
    349  mainConnectionList,i,"(qqqnn)",
    350  &mcid, &srcid, &sinkid, &delay, &constate
    351  );
    352 
    353  struct json_object* res_obj = json_object_new_object();
    354  sm_add_object_to_json_object_func(res_obj,__FUNCTION__,10,
    355  _main_connection_id, mcid,
    356  _sourceid, srcid,
    357  _sinkid, sinkid,
    358  _delay, delay,
    359  _connectionState, constate
    360  );
    361  json_object_array_add(array_res,res_obj);
    362  }
    363  }
    364  DEBUG(afbitf,"json object :%s:",json_object_to_json_string(array_res));
    365  afb_req_success(request, array_res, "Success to get main connection list");
    366 }
    367 
    368 /*
    369 *
    370 ****** Routing Interface method(API) ***********
    371 *
    372 */
    373 static void ackConnect(struct afb_req request)
    374 {
    375  /* This function will be deprecated */
    376  DEBUG(afbitf,"call %s", __FUNCTION__);
    377  guint16 handle, connection_id, error;
    378  REQ_ERROR req_err1, req_err2 , req_err3;
    379  GError *err = NULL;
    380 
    381  req_err1 = getid_uint16(request, _handle, &handle);
    382  req_err2 = getid_uint16(request, _connectionID, &connection_id);
    383  req_err3 = getid_uint16(request, _error, &error);
    384 
    385  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK) || (req_err3 != REQ_OK))
    386  {
    387  afb_req_fail(request,"wrong-request", NULL);
    388  return;
    389  }
    390  if(connection_id == 0)
    391  {
    392  afb_req_fail(request,"wrong-request", "connectionID is more than 0");
    393  return;
    394  }
    395 
    396 
    397  audiomanager_routinginterface_call_ack_connect_sync(
    398  am_route_bus,
    399  handle,
    400  connection_id,
    401  error,
    402  NULL, &err);
    403 
    404  if(err != NULL)
    405  {
    406  afb_req_fail(request, "failed", "Unable to call ackConnect");
    407  return;
    408  }
    409  afb_req_success(request, NULL, NULL);
    410 }
    411 static void ackDisconnect(struct afb_req request)
    412 {
    413  /* This function will be deprecated */
    414  DEBUG(afbitf,"call %s", __FUNCTION__);
    415  guint16 handle, connection_id, error;
    416  REQ_ERROR req_err1, req_err2 , req_err3;
    417  GError *err = NULL;
    418 
    419  req_err1 = getid_uint16(request, _handle, &handle);
    420  req_err2 = getid_uint16(request, _connectionID, &connection_id);
    421  req_err3 = getid_uint16(request, _error, &error);
    422 
    423  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK) || (req_err3 != REQ_OK))
    424  {
    425  afb_req_fail(request,"wrong-request", "connectionID is more than 0");
    426  return;
    427  }
    428  if(connection_id == 0)
    429  {
    430  afb_req_fail(request,"wrong-request", "connectionID is more than 0");
    431  return;
    432  }
    433 
    434  audiomanager_routinginterface_call_ack_disconnect_sync(
    435  am_route_bus,
    436  handle,
    437  connection_id,
    438  error,
    439  NULL, &err);
    440 
    441  if(err != NULL)
    442  {
    443  afb_req_fail(request, "failed", "Unable to call ackDisconnect");
    444  return;
    445  }
    446  afb_req_success(request, NULL, NULL);
    447 }
    448 static void ackSetSourceState(struct afb_req request)
    449 {
    450  /* This function will be deprecated */
    451  /* This function will be deprecated */
    452  DEBUG(afbitf,"call %s", __FUNCTION__);
    453  guint16 handle, error;
    454  REQ_ERROR req_err1, req_err2;
    455  GError *err = NULL;
    456 
    457  req_err1 = getid_uint16(request, _handle, &handle);
    458  req_err2 = getid_uint16(request, _error, &error);
    459 
    460  if((req_err1 != REQ_OK) || (req_err2 != REQ_OK))
    461  {
    462  NOTICE(afbitf,"wrong request");
    463  afb_req_fail(request,"wrong-request", NULL);
    464  return;
    465  }
    466 
    467  audiomanager_routinginterface_call_ack_set_source_state_sync(
    468  am_route_bus,
    469  handle,
    470  error,
    471  NULL, &err);
    472 
    473  if(err != NULL)
    474  {
    475  afb_req_fail(request, "failed", "Unable to call ackDisconnect");
    476  return;
    477  }
    478  afb_req_success(request, NULL, NULL);
    479 }
    480 static void registerSink(struct afb_req request)
    481 {
    482  /* This function will be deprecated because application will not register function*/
    483 }
    484 static void deregisterSink(struct afb_req request)
    485 {
    486  /* This function will be deprecated because application will not register function*/
    487 }
    488 
    489 /* This function will be modified to abstract argument */
    490 static void registerSource(struct afb_req request)
    491 {
    492  DEBUG(afbitf,"call %s", __FUNCTION__);
    493  GError *err = NULL;
    494 
    495  guint16 source_id; /* q 0 is for dynamic id*/
    496  guint16 domain_id; /* q */
    497  guint16 source_class_id; /* q */
    498  gint32 source_state = 1; /* i SS_ON */
    499  gint16 volume; /* n */
    500 
    501  if(REQ_OK != getid_uint16(request, _sourceid, &source_id)){
    502  source_id = 0; /* if 0, dynamic source id will be attached */
    503  }
    504  if( REQ_OK != getid_uint16(request, _domainID, &domain_id)){
    505  afb_req_fail(request,"wrong-request", "domainID should be more than 0");
    506  return;
    507  }
    508  if(domain_id == 0)
    509  {
    510  afb_req_fail(request,"wrong-request", "domainID should be more than 0");
    511  return;
    512  }
    513  const gchar* name = afb_req_value(request, _appname); /* s */
    514  if(!name)
    515  {
    516  char* info = "Must specify the name. Please input json arg such as {\"appname\":\"radio\"}";
    517  afb_req_fail(request, NULL, info);
    518  return;
    519  }
    520  if(REQ_OK != getid_uint16(request, _sourceClassID, &source_class_id)){
    521  source_class_id = 0; /* BASE */
    522  }
    523  if(REQ_OK != getid_uint16(request, _sourceState, &source_state)){
    524  source_state = 0;
    525  }
    526  if(REQ_OK != getid_int16(request, _volume, &volume)){
    527  volume = 3000;
    528  }
    529  gboolean visible = TRUE; /* b */
    530  struct availability_s available; /* (ii) */
    531  available.availability = 1; /* A_UNKNOWN */
    532  available.avalilable_reason = 0; /* AR_UNKNOWN */
    533  guint16 interrupt = 1; /* q IS_OFF */
    534 
    535  struct sound_property_s sound_property_list; /* a(in) */
    536  sound_property_list.type = 0;
    537  sound_property_list.value = 0; /* in reality, this is array of struct */
    538 
    539  gint32 connection_format_list = 0; /* ai */
    540  struct main_sound_property_s main_property_list; /* a(in) */
    541  main_property_list.type = 0;
    542  main_property_list.value = 0;
    543 
    544  struct notification_config_s nconf_routing;
    545  struct notification_config_s nconf_command; /* a(iin)a(iin) */
    546  nconf_routing.type = 0;
    547  nconf_routing.status = 0;
    548  nconf_routing.parameter = 0;
    549 
    550  nconf_command.type = 0;
    551  nconf_command.status = 0;
    552  nconf_command.parameter = 0;
    553 
    554  /* acuire data */
    555  guint16 acquire_source_id;
    556  guint16 error;
    557 
    558  GVariant* sourceData = create_source_data (source_id, domain_id, name, source_class_id,
    559  source_state, volume, visible, available, interrupt,
    560  sound_property_list, connection_format_list, main_property_list,
    561  nconf_routing, nconf_command, afbitf);
    562 
    563  GVariant* input = g_variant_ref_sink(sourceData);
    564  audiomanager_routinginterface_call_register_source_sync(
    565  am_route_bus,
    566  input,
    567  &acquire_source_id,
    568  &error,
    569  NULL, &err);
    570  g_variant_unref(input);
    571 
    572  if(err != NULL)
    573  {
    574  afb_req_fail(request, "failed", "Unable to call registerSource");
    575  return;
    576  }
    577 
    578  /*create response json object*/
    579  struct json_object *res = json_object_new_object();
    580  sm_add_object_to_json_object_func(res, __FUNCTION__, 4,
    581  _error, error,
    582  _sourceid, acquire_source_id);
    583  char *info;
    584  get_response_audiomanager_massage_error(error,&info);
    585  afb_req_success(request, res, info);
    586 }
    587 
    588 static void deregisterSource(struct afb_req request)
    589 {
    590  guint16 source_id;
    591  guint16 error;
    592 
    593  GError *err = NULL;
    594 
    595  if(REQ_OK != getid_uint16(request, _sourceid, &source_id)){
    596  afb_req_fail(request, "wrong-request", NULL);
    597  }
    598  audiomanager_routinginterface_call_deregister_source_sync(
    599  am_route_bus,
    600  source_id,
    601  &error,
    602  NULL, &err
    603  );
    604  if(err != NULL)
    605  {
    606  afb_req_fail(request, "failed", "Unable to call deregisterSource");
    607  return;
    608  }
    609  /*create response json object*/
    610  struct json_object *res = json_object_new_object();
    611  sm_add_object_to_json_object_func(res, __FUNCTION__, 2,
    612  _error, error);
    613  char *info;
    614  get_response_audiomanager_massage_error(error,&info);
    615  afb_req_success(request, res, info);
    616 
    617 }
    618 
    619 static void confirmRoutingReady(struct afb_req request)
    620 {
    621  /* This function will be deprecated because application will not register function*/
    622 }
    623 static void confirmRoutingRundown(struct afb_req request)
    624 {
    625  /* This function will be deprecated because application will not register function*/
    626 }
    627 static void ackSetVolumes(struct afb_req request)
    628 {
    629  /* This function will be deprecated */
    630 }
    631 static void ackSinkNotificationConfiguration(struct afb_req request)
    632 {
    633  /* This function will be deprecated */
    634 }
    635 static void ackSourceNotificationConfiguration(struct afb_req request)
    636 {
    637  /* This function will be deprecated */
    638 }
    639 
    640 
    641 static void subscribe(struct afb_req request)
    642 {
    643  const char *value = afb_req_value(request, "event");
    644  char *info;
    645  DEBUG(afbitf, "value is %s", value);
    646  if(value) {
    647  int index = sm_search_event_name_index(value);
    648  if(index < 0)
    649  {
    650  index = sm_search_routing_event_name_index(value);
    651  if(index < 0)
    652  {
    653  ERROR(afbitf, "dedicated event doesn't exist");
    654  }
    655  else
    656  {
    657  afb_req_subscribe(request, *routing_event_list[index].event);
    658  }
    659  }
    660  else
    661  {
    662  afb_req_subscribe(request, *command_event_list[index].event);
    663  }
    664  }
    665  else{
    666  ERROR(afbitf, "Please input event name");
    667  }
    668  afb_req_success(request, NULL, NULL);
    669 }
    670 
    671 static void unsubscribe(struct afb_req request)
    672 {
    673  const char *value = afb_req_value(request, "event");
    674  char *info;
    675  DEBUG(afbitf, "value is %s", value);
    676  if(value) {
    677  int index = sm_search_event_name_index(value);
    678  if(index < 0)
    679  {
    680  index = sm_search_routing_event_name_index(value);
    681  if(index < 0)
    682  {
    683  ERROR(afbitf, "dedicated event doesn't exist");
    684  }
    685  else
    686  {
    687  afb_req_unsubscribe(request, *routing_event_list[index].event);
    688  }
    689  }
    690  else
    691  {
    692  afb_req_unsubscribe(request, *command_event_list[index].event);
    693  }
    694  }
    695  else{
    696  ERROR(afbitf, "Please input event name");
    697  }
    698  afb_req_success(request, NULL, NULL);
    699 }
    700 
    701 /*
    702 ********** Callback Function invoked by Audio Manager **********
    703 */
    704 
    705 static void on_new_main_connection(AudiomanagerCommandinterface* interface,
    706  GVariant* mainConnection)
    707 {
    708  DEBUG(afbitf,"%s is called",__FUNCTION__);
    709 
    710  guint16 mcid, srcid, sinkid;
    711  gint16 delay, constate;
    712  g_variant_get(
    713  mainConnection,"(qqqnn)", &mcid, &srcid, &sinkid, &delay, &constate);
    714 
    715  struct json_object* res_obj = json_object_new_object();
    716  sm_add_object_to_json_object(res_obj,10,
    717  _main_connection_id, mcid,
    718  _sourceid, srcid,
    719  _sinkid, sinkid,
    720  _delay, delay,
    721  _connectionState, constate
    722  );
    723  DEBUG(afbitf,"json object :%s:",json_object_to_json_string(res_obj));
    724 
    725  afb_event_push(ev_new_connection, res_obj);
    726 }
    727 
    728 static void on_removed_main_connection(
    729  AudiomanagerCommandinterface* interface, guint16 mainConnectionID)
    730 {
    731  DEBUG(afbitf,"%s is called",__FUNCTION__);
    732 
    733  struct json_object* res_obj = json_object_new_object();
    734  sm_add_object_to_json_object(res_obj, 2,
    735  _main_connection_id, mainConnectionID);
    736  afb_event_push(ev_removed_main_connection, res_obj);
    737 }
    738 
    739 static void on_main_connection_state_changed(
    740  AudiomanagerCommandinterface* interface, guint16 connectionID, gint16 connectionState)
    741 {
    742  DEBUG(afbitf,"%s is called",__FUNCTION__);
    743 
    744  struct json_object* res_obj = json_object_new_object();
    745  sm_add_object_to_json_object(res_obj, 4,
    746  _connectionID, connectionID,
    747  _connectionState, connectionState);
    748  afb_event_push(ev_main_connection_state_changed, res_obj);
    749 }
    750 
    751 static void on_volume_changed(
    752  AudiomanagerCommandinterface* interface, guint16 sinkID, gint16 volume)
    753 {
    754  DEBUG(afbitf,"%s is called",__FUNCTION__);
    755  struct json_object* res_obj = json_object_new_object();
    756  sm_add_object_to_json_object(res_obj, 4,
    757  _sinkid, sinkID,
    758  _volume, volume);
    759  afb_event_push(ev_volume_changed, res_obj);
    760 }
    761 
    762 static void on_sink_mute_state_changed(
    763  AudiomanagerCommandinterface* interface, guint16 sinkID, gint16 mute)
    764 {
    765  DEBUG(afbitf,"%s is called",__FUNCTION__);
    766  struct json_object* res_obj = json_object_new_object();
    767  sm_add_object_to_json_object(res_obj, 4,
    768  _sinkid, sinkID,
    769  _muteState, mute);
    770  afb_event_push(ev_sink_mute_state_changed, res_obj);
    771 }
    772 
    773 /*
    774 ********** Callback Function invoked by Audio Manager Routing Interface**********
    775 */
    776 static void on_set_routing_ready(
    777  AudiomanagerRoutinginterface* interface)
    778 {
    779  DEBUG(afbitf,"%s is called",__FUNCTION__);
    780  afb_event_push(ev_set_routing_ready, NULL);
    781 }
    782 
    783 static void on_set_routing_rundown(
    784  AudiomanagerRoutinginterface* interface)
    785 {
    786  DEBUG(afbitf,"%s is called",__FUNCTION__);
    787  afb_event_push(ev_set_routing_ready, NULL);
    788 }
    789 
    790 
    791 
    792 /*
    793 ********** Callback Function invoked by Sound Manager Adapter Interface**********
    794 *
    795 * For now, there may be no need to send events to applications from these invocation.
    796 * Sound Manager just sends ack to Audio Manager in charge of applications.
    797 * If event is needed, make events in initialize function in this source, and
    798 * write afb_event_push in the invocations.
    799 * Events should be pushed in this source.(I teseted to push events in other code, but can't)
    800 *
    801 */
    802 
    803 
    804 static gboolean on_async_abort(
    805  OrgSoundmanagerGeniviRoutingsend *object,
    806  GDBusMethodInvocation *invocation,
    807  guint16 arg_handle)
    808 {
    809  DEBUG(afbitf, "%s called", __FUNCTION__);
    810  /* Nothing To Do. If it is better to implement something, I will implement */
    811  return TRUE;
    812 }
    813 
    814 static gboolean on_async_connect(
    815  OrgSoundmanagerGeniviRoutingsend *object,
    816  GDBusMethodInvocation *invocation,
    817  guint16 arg_handle,
    818  guint16 arg_connectionID,
    819  guint16 arg_sourceID,
    820  guint16 arg_sinkID,
    821  gint arg_connectionFormat)
    822 {
    823  DEBUG(afbitf, "%s called", __FUNCTION__);
    824  GError* err;
    825  struct json_object* res_obj = json_object_new_object();
    826  sm_add_object_to_json_object(res_obj, 10,
    827  _handle, arg_handle,
    828  _connectionID, arg_connectionID,
    829  _sourceid, arg_sourceID,
    830  _sinkid, arg_sinkID,
    831  _connectionFormat, arg_connectionFormat);
    832  afb_event_push(ev_async_connect, res_obj);
    833  audiomanager_routinginterface_call_ack_connect_sync(
    834  am_route_bus,
    835  arg_handle,
    836  arg_connectionID,
    837  NULL,
    838  NULL, &err);
    839  if(err != NULL)
    840  {
    841  ERROR(afbitf, "Can't create sound manager adapter");
    842  return FALSE;
    843  }
    844  return TRUE;
    845 }
    846 
    847 static gboolean on_async_disconnect(
    848  OrgSoundmanagerGeniviRoutingsend *object,
    849  GDBusMethodInvocation *invocation,
    850  guint16 arg_handle,
    851  guint16 arg_connectionID)
    852 {
    853  DEBUG(afbitf, "%s called", __FUNCTION__);
    854  GError* err;
    855  audiomanager_routinginterface_call_ack_disconnect_sync(
    856  am_route_bus,
    857  arg_handle,
    858  arg_connectionID,
    859  NULL,
    860  NULL, &err);
    861  if(err != NULL)
    862  {
    863  ERROR(afbitf, "Can't create sound manager adapter");
    864  return FALSE;
    865  }
    866  return TRUE;
    867 }
    868 
    869 static gboolean on_async_set_sink_volume(
    870  OrgSoundmanagerGeniviRoutingsend *object,
    871  GDBusMethodInvocation *invocation,
    872  guint16 arg_handle,
    873  guint16 arg_sinkID,
    874  gint16 arg_volume,
    875  gint16 arg_ramp,
    876  guint16 arg_time)
    877 {
    878  DEBUG(afbitf, "%s called", __FUNCTION__);
    879  /* Nothing To Do. If it is better to implement something, I will implement */
    880  return TRUE;
    881 }
    882 
    883 static gboolean on_async_set_source_state(
    884  OrgSoundmanagerGeniviRoutingsend *object,
    885  GDBusMethodInvocation *invocation,
    886  guint16 arg_handle,
    887  guint16 arg_sourceID,
    888  gint arg_sourceState)
    889 {
    890  DEBUG(afbitf, "%s called", __FUNCTION__);
    891  GError* err;
    892  struct json_object* res_obj = json_object_new_object();
    893  sm_add_object_to_json_object(res_obj, 6,
    894  _handle, arg_handle,
    895  _sourceid, arg_sourceID,
    896  _sourceState, arg_sourceState);
    897  afb_event_push(ev_async_set_source_state, res_obj);
    898  /* Applications should return ackSetSourceState, then Sound Manager doen't return ackSetSourceState */
    899  /*audiomanager_routinginterface_call_ack_set_source_state_sync(
    900  am_route_bus,
    901  arg_handle,
    902  NULL,
    903  NULL, &err);*/
    904  if(err != NULL)
    905  {
    906  ERROR(afbitf, "Can't create sound manager adapter");
    907  return FALSE;
    908  }
    909  return TRUE;
    910 }
    911 
    912 static gboolean init_sound_manager_adapter(GDBusServer *server, GDBusConnection *conn, gpointer data)
    913 {
    914  DEBUG(afbitf, "%s called", __FUNCTION__);
    915  sm_adapter = org_soundmanager_genivi_routingsend_skeleton_new();
    916  sm_itf = ORG_SOUNDMANAGER_GENIVI_ROUTINGSEND_GET_IFACE(sm_adapter);
    917  /* initialize sound manager adapter */
    918  sm_itf->handle_async_abort = on_async_abort;
    919  sm_itf->handle_async_connect = on_async_connect;
    920  sm_itf->handle_async_disconnect = on_async_disconnect;
    921  sm_itf->handle_async_set_sink_volume = on_async_set_sink_volume;
    922  sm_itf->handle_async_set_source_state = on_async_set_source_state;
    923  gboolean ret = g_dbus_interface_skeleton_export(G_DBUS_INTERFACE_SKELETON(sm_adapter), conn, SOUND_MANAGER_PATH, NULL);
    924  if(!ret)
    925  {
    926  ERROR(afbitf, "Can't create sound manager adapter");
    927  return FALSE;
    928  }
    929  return TRUE;
    930 }
    931 
    932 /*
    933  * array of the verbs exported to afb-daemon
    934  */
    935 static const struct afb_verb_desc_v1 binding_verbs[]= {
    936 /* VERB'S NAME SESSION MANAGEMENT FUNCTION TO CALL SHORT DESCRIPTION */
    937 { .name = "connect", .session = AFB_SESSION_NONE, .callback = connect, .info = "Connect source id and sink id" },
    938 { .name = "disconnect", .session = AFB_SESSION_NONE, .callback = disconnect, .info = "Disconnect source id and sink id" },
    939 { .name = "setVolume", .session = AFB_SESSION_NONE, .callback = setVolume, .info = "Set volume value" }, /* it is better to show the range*/
    940 { .name = "volumeStep", .session = AFB_SESSION_NONE, .callback = volumeStep, .info = "Set volume step range" },
    941 { .name = "setSinkMuteState", .session = AFB_SESSION_NONE, .callback = setSinkMuteState, .info = "Set Mute state: 1 means mute, 2 means umute. Others are invalid" },
    942 { .name = "getListMainConnections", .session = AFB_SESSION_NONE, .callback = getListMainConnections, .info = "Get MainConnection List" },
    943 /* Routing Interface */
    944 { .name = "registerSource", .session = AFB_SESSION_NONE, .callback = registerSource, .info = "Register Application" },
    945 { .name = "deregisterSource", .session = AFB_SESSION_NONE, .callback = deregisterSource, .info = "Deregister Application" },
    946 { .name = "ackConnect", .session = AFB_SESSION_NONE, .callback = ackConnect, .info = "Acknowledge of asyncConnect" },
    947 { .name = "ackDisconnect", .session = AFB_SESSION_NONE, .callback = ackDisconnect, .info = "Acknowledge of asyncConnect" },
    948 { .name = "ackSetSourceState", .session = AFB_SESSION_NONE, .callback = ackSetSourceState, .info = "Acknowledge of asyncSetSourceState" },
    949 { .name = "subscribe", .session = AFB_SESSION_NONE, .callback = subscribe, .info = "Subscribe event" },
    950 { .name = "unsubscribe", .session = AFB_SESSION_NONE, .callback = unsubscribe, .info = "Unsubscribe event" },
    951 { .name = NULL } /* marker for end of the array */
    952 };
    953 
    954 static const struct afb_binding binding_description =
    955 {
    956  .type = AFB_BINDING_VERSION_1,
    957  .v1 = {
    958  .info = "Sound Manager" ,
    959  .prefix = "soundmanager" ,
    960  .verbs = binding_verbs
    961  }
    962 };
    963 
    964 static void *dbus_event_loop_run(void *args)
    965 {
    966  loop = g_main_loop_new(NULL, FALSE);
    967  g_main_loop_run(loop);
    968 }
    969 
    970 static void free_dbus()
    971 {
    972  ERROR(afbitf, "free dbus");
    973  if(am_cmd_bus)
    974  {
    975  free(am_cmd_bus);
    976  }
    977  if(am_route_bus)
    978  {
    979  free(am_route_bus);
    980  }
    981 }
    982 
    983 static int init()
    984 {
    985  int ret;
    986  INFO(afbitf,"Initialize Dbus object");
    987  /* Initialize Dbus interface */
    988  if(am_cmd_bus || am_route_bus)
    989  {
    990  ERROR(afbitf, "Dbus object to Audio Manager is already created");
    991  goto out;
    992  }
    993  am_cmd_bus = audiomanager_commandinterface_proxy_new_for_bus_sync(
    994  G_BUS_TYPE_SYSTEM,
    995  G_DBUS_PROXY_FLAGS_NONE,
    996  AM_NAME,
    997  AM_CMD_PATH,
    998  NULL,
    999  NULL
    1000  );
    1001  am_route_bus = audiomanager_routinginterface_proxy_new_for_bus_sync(
    1002  G_BUS_TYPE_SYSTEM,
    1003  G_DBUS_PROXY_FLAGS_NONE,
    1004  AM_NAME,
    1005  AM_ROUTE_PATH,
    1006  NULL,
    1007  NULL
    1008  );
    1009 
    1010  if(!am_cmd_bus || !am_route_bus)
    1011  {
    1012  goto out;
    1013  }
    1014 
    1015  INFO(afbitf, "Finish Initialize");
    1016  return 0;
    1017 out:
    1018  ERROR(afbitf,"Failed to initialize");
    1019  free_dbus();
    1020  return -1;
    1021 }
    1022 
    1023 static int sm_event_init()
    1024 {
    1025  INFO(afbitf,"Initialize event receive setting");
    1026  int ret;
    1027  /* Initialize make event */
    1028  size_t size = sizeof cmd_evlist / sizeof *cmd_evlist;
    1029 
    1030  /*create event*/
    1031  /*ToDo Hash table is better. And event should be created in the loop
    1032  I would like to change */
    1033  ev_volume_changed = afb_daemon_make_event(afbitf->daemon, cmd_evlist[0]);
    1034  ev_new_connection = afb_daemon_make_event(afbitf->daemon, cmd_evlist[1]);
    1035  ev_removed_main_connection = afb_daemon_make_event(afbitf->daemon, cmd_evlist[2]);
    1036  ev_sink_mute_state_changed = afb_daemon_make_event(afbitf->daemon, cmd_evlist[3]);
    1037  ev_main_connection_state_changed = afb_daemon_make_event(afbitf->daemon, cmd_evlist[4]);
    1038  command_event_list[0].name = cmd_evlist[0];
    1039  command_event_list[0].event = &ev_volume_changed;
    1040  command_event_list[1].name = cmd_evlist[1];
    1041  command_event_list[1].event = &ev_new_connection;
    1042  command_event_list[2].name = cmd_evlist[2];
    1043  command_event_list[2].event = &ev_removed_main_connection;
    1044  command_event_list[3].name = cmd_evlist[3];
    1045  command_event_list[3].event = &ev_sink_mute_state_changed;
    1046  command_event_list[4].name = cmd_evlist[4];
    1047  command_event_list[4].event = &ev_main_connection_state_changed;
    1048 
    1049  /* create routing event */
    1050  ev_set_routing_ready = afb_daemon_make_event(afbitf->daemon, route_evlist[0]);
    1051  ev_set_routing_rundown = afb_daemon_make_event(afbitf->daemon, route_evlist[1]);
    1052  ev_async_connect = afb_daemon_make_event(afbitf->daemon, route_evlist[2]);
    1053  ev_async_set_source_state = afb_daemon_make_event(afbitf->daemon, route_evlist[3]);
    1054  routing_event_list[0].name = route_evlist[0];
    1055  routing_event_list[0].event = &ev_set_routing_ready;
    1056  routing_event_list[1].name = route_evlist[1];
    1057  routing_event_list[1].event = &ev_set_routing_rundown;
    1058  routing_event_list[2].name = route_evlist[1];
    1059  routing_event_list[2].event = &ev_async_connect;
    1060  routing_event_list[3].name = route_evlist[1];
    1061  routing_event_list[3].event = &ev_async_set_source_state;
    1062  /*for(size_t i = 0; i < size; ++i)
    1063  {
    1064  struct afb_event afbev = afb_daemon_make_event(afbitf->daemon, cmd_evlist[i]));
    1065  size_t afbev_size = sizeof afbev;
    1066  size_t key_size = sizeof cmd_evlist[i];
    1067 
    1068  struct event ev = {cmd_evlist[i],afbev};
    1069  command_event_list[i] = malloc(key_size + afbev_size);
    1070  command_event_list[i] = ev;
    1071  search_result = hsearch(entry, FIND);
    1072  if(search_result)
    1073  DEBUG(afbitf, "event name is %s", search_result->key);
    1074  }*/
    1075 
    1076  /* Initialize dbus event thread */
    1077  if(!am_cmd_bus || !am_route_bus)
    1078  {
    1079  goto ev_init_out;
    1080  }
    1081  pthread_t thread_id;
    1082  ret = pthread_create(&thread_id, NULL, dbus_event_loop_run, NULL);
    1083  if(ret != 0)
    1084  {
    1085  goto ev_init_out;
    1086  }
    1087  /* initialize signal from audio manager command interface */
    1088  g_signal_connect(am_cmd_bus,
    1089  "volume_changed",
    1090  G_CALLBACK(on_volume_changed),
    1091  NULL);
    1092  g_signal_connect(am_cmd_bus,
    1093  "new_main_connection",
    1094  G_CALLBACK(on_new_main_connection),
    1095  NULL);
    1096  g_signal_connect(am_cmd_bus,
    1097  "removed_main_connection",
    1098  G_CALLBACK(on_removed_main_connection),
    1099  NULL);
    1100  g_signal_connect(am_cmd_bus,
    1101  "sink_mute_state_changed",
    1102  G_CALLBACK(on_sink_mute_state_changed),
    1103  NULL);
    1104  g_signal_connect(am_cmd_bus,
    1105  "main_connection_state_changed",
    1106  G_CALLBACK(on_main_connection_state_changed),
    1107  NULL);
    1108  g_signal_connect(am_route_bus,
    1109  "set_routing_ready",
    1110  G_CALLBACK(on_set_routing_ready),
    1111  NULL);
    1112  g_signal_connect(am_route_bus,
    1113  "set_routing_rundown",
    1114  G_CALLBACK(on_set_routing_rundown),
    1115  NULL);
    1116 
    1117  /* Get soundmanager adapter bus */
    1118  g_bus_own_name(G_BUS_TYPE_SYSTEM, SOUND_MANAGER_NAME, G_BUS_NAME_OWNER_FLAGS_NONE,
    1119  NULL, init_sound_manager_adapter, NULL, NULL, NULL);
    1120 
    1121  INFO(afbitf,"Finish Initialize event receive setting");
    1122  return 0;
    1123 
    1124 ev_init_out:
    1125  if(loop != NULL)
    1126  {
    1127  g_main_loop_unref(loop);
    1128  }
    1129  free_dbus();
    1130  ERROR(afbitf, "DBus connection is not created");
    1131  return -1;
    1132 }
    1133 
    1134 /*
    1135  * activation function for registering the binding called by afb-daemon
    1136  */
    1137 const struct afb_binding *afbBindingV1Register (const struct afb_binding_interface *itf)
    1138 {
    1139  afbitf = itf; // records the interface for accessing afb-daemon
    1140 
    1141  int ret = init(); // Set Dbus communication with audio mangaer
    1142  return (ret == 0) ? &binding_description : NULL;
    1143 }
    1144 
    1145 int afbBindingV1ServiceInit(struct afb_service service)
    1146 {
    1147  DEBUG(afbitf, "Initializing Audio Manager Notification \n");
    1148  int ret = sm_event_init();
    1149  return ret;
    1150 }
    struct afb_event * event
    Definition: soundmanager.c:51
    +
    #define AM_CMD_PATH
    Definition: soundmanager.c:32
    +
    #define AM_NAME
    Definition: soundmanager.c:31
    +
    #define AM_ROUTE_PATH
    Definition: soundmanager.c:33
    + +
    const struct afb_binding * afbBindingV1Register(const struct afb_binding_interface *itf)
    +
    int afbBindingV1ServiceInit(struct afb_service service)
    +
    #define ROUTING_EVENT_NUM
    Definition: soundmanager.c:38
    +
    #define SOUND_MANAGER_PATH
    Definition: soundmanager.c:35
    +
    #define SOUND_MANAGER_NAME
    Definition: soundmanager.c:34
    +
    #define COMMAND_EVENT_NUM
    Definition: soundmanager.c:37
    +
    char * name
    Definition: soundmanager.c:50
    +
    +
    + + + + diff --git a/doc/api-ref/html/splitbar.png b/doc/api-ref/html/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/structevent.html b/doc/api-ref/html/structevent.html new file mode 100644 index 0000000..efe2a4d --- /dev/null +++ b/doc/api-ref/html/structevent.html @@ -0,0 +1,147 @@ + + + + + + + +Sound Manager: event Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Sound Manager +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    event Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    char * name
     
    struct afb_event * event
     
    +

    Detailed Description

    +
    +

    Definition at line 49 of file soundmanager.c.

    +

    Field Documentation

    + +

    ◆ event

    + +
    +
    + + + + +
    struct afb_event* event::event
    +
    + +

    Definition at line 51 of file soundmanager.c.

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    char* event::name
    +
    + +

    Definition at line 50 of file soundmanager.c.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/doc/api-ref/html/structevent.js b/doc/api-ref/html/structevent.js new file mode 100644 index 0000000..4e71468 --- /dev/null +++ b/doc/api-ref/html/structevent.js @@ -0,0 +1,5 @@ +var structevent = +[ + [ "event", "structevent.html#a58726ebc551d36562ac3f9e1fe293214", null ], + [ "name", "structevent.html#a723489bec273335d13513cd1040c0216", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/sync_off.png b/doc/api-ref/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/sync_on.png b/doc/api-ref/html/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/tab_a.png b/doc/api-ref/html/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/tab_b.png b/doc/api-ref/html/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/doc/api-ref/html/tabs.css b/doc/api-ref/html/tabs.css new file mode 100644 index 0000000..a28614b --- /dev/null +++ b/doc/api-ref/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#doc-content{overflow:auto;display:block;padding:0;margin:0;-webkit-overflow-scrolling:touch}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace!important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0!important;-webkit-border-radius:0;border-radius:0!important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px!important;-webkit-border-radius:5px;border-radius:5px!important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0!important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px!important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/doc/api-ref/html/test_8cpp.html b/doc/api-ref/html/test_8cpp.html new file mode 100644 index 0000000..7d62d1f --- /dev/null +++ b/doc/api-ref/html/test_8cpp.html @@ -0,0 +1,173 @@ + + + + + + + +Sound Manager: SoundManagerBinding/libsoundmanager/test.cpp File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Sound Manager +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    test.cpp File Reference
    +
    +
    +
    #include <libsoundmanager/libsoundmanager.hpp>
    +#include <iostream>
    +#include <glib-2.0/glib.h>
    +#include <fcntl.h>
    +#include <string>
    +#include <sys/types.h>
    +#include <sys/stat.h>
    +#include <thread>
    +#include <exception>
    +#include <vector>
    +#include <sstream>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main (int argc, char **argv)
     
    + + + +

    +Variables

    LibSoundmanagersm
     
    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int main (int argc,
    char ** argv 
    )
    +
    + +

    Definition at line 123 of file test.cpp.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ sm

    + +
    +
    + + + + +
    LibSoundmanager* sm
    +
    + +

    Definition at line 33 of file test.cpp.

    + +
    +
    +
    +
    + + + + diff --git a/doc/api-ref/html/test_8cpp.js b/doc/api-ref/html/test_8cpp.js new file mode 100644 index 0000000..2de2e8c --- /dev/null +++ b/doc/api-ref/html/test_8cpp.js @@ -0,0 +1,5 @@ +var test_8cpp = +[ + [ "main", "test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627", null ], + [ "sm", "test_8cpp.html#a0cbfe893edb63b7b0c419db013fa9022", null ] +]; \ No newline at end of file diff --git a/doc/api-ref/html/test_8cpp_source.html b/doc/api-ref/html/test_8cpp_source.html new file mode 100644 index 0000000..bde178d --- /dev/null +++ b/doc/api-ref/html/test_8cpp_source.html @@ -0,0 +1,106 @@ + + + + + + + +Sound Manager: SoundManagerBinding/libsoundmanager/test.cpp Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    Sound Manager +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    test.cpp
    +
    +
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
    3  *
    4  * Licensed under the Apache License, Version 2.0 (the "License");
    5  * you may not use this file except in compliance with the License.
    6  * You may obtain a copy of the License at
    7  *
    8  * http://www.apache.org/licenses/LICENSE-2.0
    9  *
    10  * Unless required by applicable law or agreed to in writing, software
    11  * distributed under the License is distributed on an "AS IS" BASIS,
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  * See the License for the specific language governing permissions and
    14  * limitations under the License.
    15  */
    16 
    18 #include <iostream>
    19 #include <glib-2.0/glib.h>
    20 #include <fcntl.h>
    21 #include <string>
    22 #include <sys/types.h>
    23 #include <sys/stat.h>
    24 #include <thread>
    25 #include <exception>
    26 #include <vector>
    27 #include <sstream>
    28 
    29 using namespace std;
    30 
    31 static int io_event_callback(sd_event_source *src, int fd, uint32_t revents, void *closure);
    32 static vector<string> split(const string& str, char sep);
    34 static sd_event_source *evsrc;
    35 static GMainLoop *loop = NULL;
    36 static void call_test();
    37 
    38 static void usage()
    39 {
    40  cout << "verb "<< "key:arg" << endl;
    41  cout << "example: connect sourceID 100 sinkID 100" << endl;
    42  cout << "verb list:" << endl;
    43  // Todo output api list
    44  exit(0);
    45 }
    46 
    47 static void *event_loop_run(void *args)
    48 {
    49  call_test();
    50 }
    51 
    52 static int io_event_callback(sd_event_source *src, int fd, uint32_t revents, void *closure)
    53 {
    54  /* This is for Receiving Thread */
    55 }
    56 
    57 static void call_test()
    58 {
    59  string command;
    60 
    61  cout << "input verb and argments" << endl;
    62 
    63  /* read the buffer */
    64  for(;;){
    65  char line[1023];
    66  cin.getline(line, sizeof(line));
    67  command = line;
    68  if(command.empty()){
    69  continue;
    70  }
    71 
    72  vector<string> v_command = split(command, ' ');
    73  /*for(auto itr = v_command.begin(); itr != v_command.end(); ++itr)
    74  {
    75  cout << *itr <<endl;
    76  }*/
    77  size_t num = v_command.size();
    78  if(num % 2 == 0){
    79  cout << "If command contains args, please input <key,value> in argument part" << endl;
    80  continue;
    81  }
    82  /* create json object */
    83  struct json_object* j_obj = json_object_new_object();
    84  for(int i = 1;i < (v_command.size()) ;++i){
    85  struct json_object* val = json_object_new_string(v_command[i+1].c_str());
    86  json_object_object_add(j_obj, v_command[i].c_str(), val);
    87  ++i;
    88  }
    89  /* call verb via libsoundmanager */
    90  sm->call(v_command[0], j_obj);
    91  /* free vector */
    92  vector<string>().swap(v_command);
    93  string().swap(command);
    94  }
    95 }
    96 
    97 static void onRep(struct json_object* reply_contents)
    98 {
    99  const char* str = json_object_to_json_string(reply_contents);
    100  cout << "[CB onRep]: " << str << endl;
    101  json_object_put(reply_contents);
    102 }
    103 
    104 static void onEv(const string& event, struct json_object* event_contents)
    105 {
    106  const char* str = json_object_to_json_string(event_contents);
    107  cout << "[CB onEvent]: event" << event.c_str() << " contents:" << str << endl;
    108  json_object_put(event_contents);
    109 }
    110 
    111 static vector<string> split(const string& str, char sep)
    112 {
    113  vector<string> v;
    114  stringstream ss(str);
    115  string buffer;
    116  while( getline(ss, buffer, sep) ) {
    117  if(!buffer.empty())
    118  v.push_back(buffer);
    119  }
    120  return v;
    121 }
    122 
    123 int main(int argc, char **argv)
    124 {
    125  int ret;
    126  if(argc == 1)
    127  {
    128  printf("Please input port num in first argument, and token in second argument");
    129  usage();
    130  return 0;
    131  }
    132  if(argc == 2)
    133  {
    134  string av(argv[1]);
    135  if( (av == "-h") || (av == "--help"))
    136  {
    137  usage();
    138  return 0;
    139  }
    140  }
    141 
    142  string port_string(argv[1]);
    143  string token(argv[2]);
    144  char* endptr;
    145  long port = strtol(port_string.c_str(),&endptr,10);
    146 
    147  /* error check of range */
    148  if( (port > 20000) || (port < 0) )
    149  {
    150  printf("input under 20000(temporary number)");
    151  return 0;
    152  }
    153  if(*endptr != '\0')
    154  {
    155  printf("not number");
    156  return 0;
    157  }
    158 
    159  cout << "Call test for libsoundmanager" << endl;
    160  sm = new LibSoundmanager(port, token);
    161  sm->register_callback(&onEv, &onRep);
    162  pthread_t thread_id;
    163  ret = pthread_create(&thread_id, NULL, event_loop_run, NULL);
    164 
    165  sd_event *sloop;
    166  ret = sd_event_default(&sloop);
    167 
    168  if (ret < 0) {
    169  printf("failed to create event loop");
    170  return -1;
    171  }
    172 
    173  sd_event_add_io(sloop, &evsrc, 0, EPOLLIN, io_event_callback, NULL);
    174  for(;;)
    175  sd_event_run(sloop, 30000000);
    176  return 0;
    177 }
    + +
    int call(const std::string &verb, struct json_object *arg)
    +
    void register_callback(void(*event_cb)(const std::string &event, struct json_object *event_contents), void(*reply_cb)(struct json_object *reply_contents))
    +
    LibSoundmanager * sm
    Definition: test.cpp:33
    + +
    int main(int argc, char **argv)
    Definition: test.cpp:123
    + +
    +
    + + + + diff --git a/doc/parts/am-component.png b/doc/parts/am-component.png new file mode 100644 index 0000000000000000000000000000000000000000..bf068bbdfeac2981196b0fefa5eb6dc844cc9516 GIT binary patch literal 90431 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 Q9&Q01*TX1hno|JfPppg43IG5A literal 0 HcmV?d00001 diff --git a/doc/parts/seq_changevolume.svg b/doc/parts/seq_changevolume.svg new file mode 100644 index 0000000..c76c6d5 --- /dev/null +++ b/doc/parts/seq_changevolume.svg @@ -0,0 +1,118 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domaincall("SetVolume")SetVolume()SetVolume()asyncSetSinkVolume()SetVolume()ackSetVolume()ackSetVolumeChange()cbVolumeChangedsignal("volumeChanged")event [volumeChanged] \ No newline at end of file diff --git a/doc/parts/seq_connectsoundroute.svg b/doc/parts/seq_connectsoundroute.svg new file mode 100644 index 0000000..a3c392a --- /dev/null +++ b/doc/parts/seq_connectsoundroute.svg @@ -0,0 +1,145 @@ +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio DomaincbMainConnectionStateChanged(CS_CONNECTING)signal("MmainConnectionChanged (CS_CONECTING)")event [mainConnectionChanged (CS_CONECTING)]Audio Manager Policy decides this mainconnection have to be established.At the beginning of sequence Audio Managershould inform cbMainConnectionStateChanged(CS_CONNECTING) to indicated pre-informationof establishment.asyncConnect()asyncConnect()setAudioMode()ackConnect()ackConnect()asyncConnect()Audio Manager have to know that Applicationcertainly start preparing sound route, and waitproceeding until Application return feedback.Main reason is to make sure that entire sound routeis established before connection state transite tonext phase. Otherwise it is possible for Application toface the problem that ALSA virtual device cannot beopened after connection state is changed.asyncConnect()event [asyncConnect]ackConnect()cbMainConnectionStateChanged(CS_SUSPENDED) \ No newline at end of file diff --git a/doc/parts/seq_disconnectsoundroute.svg b/doc/parts/seq_disconnectsoundroute.svg new file mode 100644 index 0000000..9036aca --- /dev/null +++ b/doc/parts/seq_disconnectsoundroute.svg @@ -0,0 +1,110 @@ +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio DomainasyncDisconnect()asyncDisconnect()event [asyncDisconnect]ackDisconnect()ackDisconnect()asyncDisconnect()asyncDisconnect()disconnect()ackDisconnect()cbMainConnectionStateChanged(CS_DISCONNECTED) \ No newline at end of file diff --git a/doc/parts/seq_initialization.svg b/doc/parts/seq_initialization.svg new file mode 100644 index 0000000..18cc0bb --- /dev/null +++ b/doc/parts/seq_initialization.svg @@ -0,0 +1,129 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domainalt[Domain Type = DSP/Amplifier]setRoutingReady()setRoutingReady()confirmRoutingReady()[Domain Type = Application]setRoutingReady()signal("setRoutingReady")event [setRoutingReady]call("confirmRoutingReady")confirmRoutingReady()confirmRoutingReady()setCommandReady()confirmCommandReady() \ No newline at end of file diff --git a/doc/parts/seq_registration.svg b/doc/parts/seq_registration.svg new file mode 100644 index 0000000..d91bf12 --- /dev/null +++ b/doc/parts/seq_registration.svg @@ -0,0 +1,235 @@ +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domainalt[Domain Type = DSP/Amplifier]registerDomain()registerDomain()[Domain Type = SoundManager]registerDomain()registerDomain()alt[Register Type = Dynamic]call("registerSource")registerSource()registerSource()[Register Type = Static]registerSourcecbNewSource()signal("NewSource")event [newSource]alt[Register Type = Dynamic]registerSink()registerSink()[Register Type = Static]registerSinkcbNewSink()signal("NewSink")event [newSink]alt[Register Type = Dynamic]registerGateway()registerGateway()[Register Type = Static]registerGatewayhookDomainRegistrationCompelte()hookDomainRegistrationCompelte() \ No newline at end of file diff --git a/doc/parts/seq_releasesoundmode.svg b/doc/parts/seq_releasesoundmode.svg new file mode 100644 index 0000000..7c30815 --- /dev/null +++ b/doc/parts/seq_releasesoundmode.svg @@ -0,0 +1,120 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domaincall("disconnect")disconnect()disconnect()opt[Main connection is existing]alt[MainConnectioState = CS_SUSPENDED]refDisconnect Sound Route[CS_CONNECTED]refStop Sound StreamingrefDisconnect Sound RoutecbMainConnectionStateChanged()signal("MainConnectionStateChanged")event [mainConnectionStateChanged]cbRemoveMainConnection()signal("RemoveMainConnection")event [removeMainConnection] \ No newline at end of file diff --git a/doc/parts/seq_requestsoundmode.svg b/doc/parts/seq_requestsoundmode.svg new file mode 100644 index 0000000..9fe4af9 --- /dev/null +++ b/doc/parts/seq_requestsoundmode.svg @@ -0,0 +1,166 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domaincall("connect")connect()connect()Please note that if same connection(source and sink are completely same)has bee created already, Audio Managerdoes not notify cbNewMainConnection()opt[main connection is not existing]cbNewMainConnectionsignal("NewMainConnection")event [newMainConnection(mainConnectionID)]cbMainConnectionStateChangesignal("MainConnectionStateChange")event [mainConnectionStateChange(CS_DISCONNECTED)]Once connection is requested andcreated in AudioManager, mainconnection continuously performtransition caused by policy decisionloop[Lifecycle of a main connection]alt[Transition of sound mode = Connect]Policy_Decision()refConnect Sound RouterefStart Sound Streaming[Disconnect]refStop Sound StreamingrefDisconnect Sound Route[Suspend]refStop Sound StreamingcbMainConnectionStatesignal("MainConnectionState")event [mainConnectionStateChange]cbRemoveMainConnectionsignal("RemoveMainConnection")event [removemainConnection] \ No newline at end of file diff --git a/doc/parts/seq_setmutestate.svg b/doc/parts/seq_setmutestate.svg new file mode 100644 index 0000000..d5d14b3 --- /dev/null +++ b/doc/parts/seq_setmutestate.svg @@ -0,0 +1,116 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio Domaincall("SetSinkMuteState")SetSinkMuteState()SetSinkMuteState()asyncSetSinkVolume()SetMute()ackSetMute()ackSetSinkVolumeChange()cbSinkMuteStateChangedsignal("sinkMuteStateChanged")event [sinkMuteStateChanged] \ No newline at end of file diff --git a/doc/parts/seq_startsoundstreaming.svg b/doc/parts/seq_startsoundstreaming.svg new file mode 100644 index 0000000..237f542 --- /dev/null +++ b/doc/parts/seq_startsoundstreaming.svg @@ -0,0 +1,129 @@ +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio DomainasyncSetSourceState (SS_ON)setMute(SS_ON)Mute(UnMute)ackSetSourceState()asyncSetSourceState()signal("asyncSetSourceState(SS_ON)")event [asyncSetSourceState("on")]Prepare audio device.And start audio playingcall("ackSetSourceState")ackSetSourceState()ackSetSource()cbMainConnectionStateChanged(CS_CONNECTED)signal("mainConnectionStateChanged (CS_CONNECTED)")event [mainConnectionStateChanged (CS_CONNECTED)] \ No newline at end of file diff --git a/doc/parts/seq_startup.svg b/doc/parts/seq_startup.svg new file mode 100644 index 0000000..27f0ab0 --- /dev/null +++ b/doc/parts/seq_startup.svg @@ -0,0 +1,68 @@ + +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio DomainStartup()loop[Number of Domains]refRegistrationwait_event() \ No newline at end of file diff --git a/doc/parts/seq_stopsoundstreaming.svg b/doc/parts/seq_stopsoundstreaming.svg new file mode 100644 index 0000000..d1651ce --- /dev/null +++ b/doc/parts/seq_stopsoundstreaming.svg @@ -0,0 +1,129 @@ +CommandPlugInAudio Manager DaemonRoutingPlugInApplicationSoundManagerIAmCommandSendIAmCommandReceiverAudioManagerIAmRoutingReceiveIAmRoutingSendAudio DomainasyncSetSourceState ()asyncSetSourceState(SS_PAUSED)event [asyncSetSourceState("paused")]Stop audio playing.And release audio device.call("ackSetSourceState")ackSetSourceState()ackSetSourceState()cbMainConnectionStateChanged (CS_SUSPENDED)]signal("MainConnectionStateChanged (CS_SUSPENDED)")event [mainConnectionStateChanged (CS_SUSPENDED)]asyncSetSourceState()SetMute()Mute (MUTE)ackSetSourceState() \ No newline at end of file diff --git a/doc/parts/software-stack.png b/doc/parts/software-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..cdca6ce5b9f209b9aa6b23e57cd08bb6305a8b8c GIT binary patch literal 41677 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 JF4+~B_-}|Y|3Cl$ literal 0 HcmV?d00001 diff --git a/doc/parts/software-stack2.png b/doc/parts/software-stack2.png new file mode 100644 index 0000000000000000000000000000000000000000..870c22f14b754f932ddca21d14162b4512457990 GIT binary patch literal 26849 zcma&ObySpX+y6@l2qFlGfRwi)CBo2MiXcjelt_bsbax6Wph!sPAjlBH(A_nI3?Usu zch|rWL+oq7`+c7G_uFgj{ReB-c%5^deH_R6JwB(QuT&InlH4W1!NIwy_+0Ka4i4@- z@V9rJ5crqTGYIwr*ZH-=6C7v{!z%FQnuV;gEDla_#Eny90^mEb!*d;H92~M%>>n=N zKIa_{&U-gSIav)4gUwW;nA@5s4Wj<|HBf7^1m|JFNAg_>ycWcqUqaGzLK1G_;__NN zQ!Ht^E7SCmMfR5BefI0@32JQttJzyyhuh11l?5DD5N}AWSi`pHcH&lzW~H6x$V7Gn zecoCEi{f_{MbB6xuFKE3|Bp|t7qla}>TIh9^-KjlN7#jRL1n(wrXFVGp0q3wX&iB+Jb?eXpr?)%gAAfgq&(Z~I=aW>d1|N5JI9HspQeH6nh} z9K?S;JI|=qt=aat3!UHVX27-Vt!%_VAX;JU3ED35Ic_~JWi(+v=O>Ae?Hy_s(c?CR zupgJ~#7mr6$T4Z!vSD8a$@>yWN z5ks|OPb+36UKQDhus3KE&F46M>IDaL`3J#&do|aco~$xNU}yg{?+&b;Wrn(rE)qMu zCTfaJqrwL-fQ9**H;?7|9lIs$ME*4S-lB+IrJbeMO#lCV?vc!2oNfD;a3M{8N$Fi0LX=w1pY4+>8T5mmnrjA&?$`XK5 zWyPA04_1R84vb3(=vfLr$87swtm{#+FO$M<$Fw-&+(t)8pBGL0Ure5FU!3>)VK#*^ z2P1})hH+7!V<7@r9Lkn29>E027hOK2P|>Q>8Y#^NemY-_H{8eu`;{>JpZ0l%YqpSWp}nR4o@8Blw(;WJ8?#lry%Egp=ism;16qBdepQzG z>A2?MO-KJ@l_tf(6g!v8O2+#+Qi6HV?vzsuI7C`Vaf-`k0KeFamH$JGl*m^^br0pn z@Y6a6%gl1HxZk-g;$abGCti0|y|U$}I6`;;@2k(wr)G5PSp#~hKvDN5*;g{m)Tl}3 zTdN6AN~O?2^_Pvsc5qOjp_SK2DRNcUKQtXzc$EOxl%)BV!xq!^WnVec5RRYH_lBd* zbmA6GN`en!M8RS(T$8r}#9}wdU=zGJh9ra`$B5LA!9~D4vruPBL>edA<3e(4?maNY zu6jjI&1T+o`XM}}LA_TXsO>)wfnvFl1n`yc0^2`{rMP;{xyrM~(^tl%YfsjqxitY# zO+;oxLHz~{yN)36Jf+dY(JEQ1HnSu`^kPi52Zgo{l7Q2xiT0MD`DLS4D;pB=w_{3tSuBV$=hC?G5 zmh8s7u@`Hm1MN|+x#{%Sc~Dj(%ql9nDT2PWQE|(T$KJ@@t&IP%T;<)wKlE`xX zbH4V6YO!$WJ3fwG9AvGa2s6`Bfe%unmU}CoeZ4a_*Zx&s@>(SIKQG6=TfA;=6+x;e zcc_En%tRU0wUtst`XH*{t#r~z%Pe&lF0+?RFoH>?n34EX zhW&H{dhRRF_|fkCW-Gb$?XawT5^mhdz%70>sK=bY99yo2tmUX%cpCfc26yb_AS<>Z zNpC=Lb9eOS#2$IjS~y!pV+$&C(Y|y{Cx#8W(;+8gEucq%koto+E8nudV74C|B(HO4NWH zAnaM8ON>)qwvu+Te2Z=TNEAfqx9DNOsylKjc+GZ+a*GehhAzmqtzC{ zC|pb=?^5L7U4?vXdeN)0S=>@H2AU!Fi*Pn{vcvZG>pFY%9i!$q&{$@lV{@eK#iniV zQ@4t1zB28XAVF=J?A8Yc5(yZRsHTYkj{;QmQp!}2Xox9-Vrr6h{sxl?!ON0lRl zD*d)yoDp;5@hQ6h=McPv$4~o(Z@RAZxXGhT8Jp}pW+;g|b6oiaWhUPJy1ALhO;dF} zW&78l{up=dVt&5-g4~pK0mfZCdvO=N^Q*GTe76eyaCsOzBs1T!oi4Y}XqZWgE|`28 zKTdcsTwJOvRF=)=0xe?#J$MTli?=0ITBo3s%zn#5Y8tm&+4~dvNPr_4m7{oa)@tVj zS|XhPFw3aNqU5ECX<2CZI@LEeq=vU!oNKwBI-O$Yn;^cbhXlJjHN+sI?ga5U;hyNDoNy>{JY)?`ZWyvi zk8O(U@p{xGQhd|5LwnlQm~xa6T-~W=-BPYp%H4E&u$GeXvZsG*uO)c4AX|oR1k@CekWqA?xF|^>1s~6YCZxF8AXI#YiG{e)<21qEmu4 z$J3Paw~_8+zC7iXf+Gg4JvAji@afla9^iBuo|xc{N%B-Uuj4+Kmf=i2$S`6!B`dNN zl3vOW(o1~LZ6O+j2=U`!-tk^I(4G8tO}R%dTW+6-38fmZB1b=@G7Bf?#Otn{mLk#M*M`Ao40QC)ns<3+TQcV<$^X7X%xz1{>m zo|8rnBRyKbvsiCVLzZiv;;}S#a5CKBmljJjEs6EroAKG>*@>Q!F>*#FV z8nuz8_&segXxq&j>qRyLwn8OZ)SkzDox8f1c0i5waZ_Ni-UBL~VSQUoYp;1rw`XwY z{KeE|apt}i9Noq#vEi-emye!(W-_r^mv!41BYK$G=Q8|~29~cdz-M$bj*eg3v-H|^ z4*sas$Ep=Yspu(Ka}}yoFxb(om|%JC(PnbaSvrgKH#p`9MP9z?hHUwE$GnL0LFj7c!C9$9?pIb@ntH7; zR>D`g!}u_{)Pfp=gpZCp;>Wkzg)H5ZhV*?k|W z<)3|Pe>Reu#HBDmuj)>i7mGfyQ#}+YnrTQFZws*|3_T7J(~~DR73R|g_2mBFzU7!V z($mC6K{z%0ux&BQ_K(0A`smOVnn*{B&kH%Y<%st_sic;y3PKrzqmg$IAO%`9$9ey` z5mWc3XYf8)A-h4l_I>gqPR!D(UC?+R0!=pFpV&bd} z^AYN`KBcZ2bUHAx*}8?J$CutFWL-%;c_D@N9{%?{rnk6Z&&dzzN=d!nczV-jza@|K zG?Mo{L@zpfvh*LPDZPvtizkl`MzEO}KFW_aF%+rdVJO$v^!&a19}h@iF|9=J^F}^q zKwmYE|7xdZD!mOLFcrN+^-xM|PiUl)AzUIz#a&XT=hCgtQ2r^fz2Tr@oNvCi$CsX^ zBgFZ5#bqRVas2YFdi{eCN+I%GqbX}m-?9=t-CFDQFY}!l&z}4zWU#hU@7^?=nfBdr zwPSJM{?OGB^2Sj^OvNHKX>^$;HVztO<^)|zF*EgVUzu^_w++)aJ|Tj}vr#q+0sy zo9`}s-gmZ|a(FsC{~EqL{)266KCP$yCB1~hX^@rvNz6KuG_>CyYcVFTJmqM$M{L851n#Lr&-l$8|X-STizs1!0i2)j520 zBLBM*M1aZ-l?*$}ygw%Fi7G2}0c%lzJlA7HP^X2FF&y?xr>t|>Cb5pu9u~7me zT4n1%AO0`_O%tYCsKIn!W=g-V8=71jN7$)B9rg<`ojM?wbg{KLd}Cj-R7Dfs?Ikt6 z<7TW7`>FBw{wo8&`kjhqUpdCg+9}FDz5?Eeh_#i9gZ20?SMg!GF4nuWyy+fXO?+;b zdh>iXqkX3-3Gm?N{uqoElqW`N(pfk4l_evm(NsD82LGhlw5`5D>WSVa=dzKX8u}G} ziTB`ipP=bUC2f=nm0<6WrLo>75zUAV)F06HQz>Pi|jGI z_h)c%-5FJBjL0*pyHNA4N`3_PFXGAqVo$)ID5@vF=sF~?{Vhn}Z+Lg3cfV-Xj8J1m zMXviF<~=MCm=^H1ZeM=0?eXj~sQ5k3zY?5$qA7T<%$h9yD7x12yw5weSS+!eU; z-|XKnq~UkF)gAqq^$f156d*u!H;mEzSxiv1bov!+PsZ$q$Pza-^Pm7V`P_ zp2vP&a2%u~dRt4x;~M4e3h#Cg|2=)XC~TUQ)Z{`uxVQJAaO&(H379$Q&@+kv-i}G6 z`#@gA>^+ZOZ1kNY3>4Ow6yJv}!e3E`Q8m)96T`l1i2wJA2(XePIv31PJ~Z_MYF29N z+cqISxOlNb-Eexl8mPA^1;|{0w~57T-rK`ajjSah#459UxU>{%vvObJo=h20NFrIO z#9ciyQyNLuCT1O2&7;~7@~Wa9MH*oT<%aX4j>^~kuGe8QBnkZjwL{^_tSADhiIm7K zgffZ;Y&i#;c=gIHd|FsP_(zQ0`Mx#kGe^%2hq|0ij;)*Ox#8j-N;vybBXNyZydG1< zm{e;AKiYqKz6AvzHN&?z?|X+2Ew?Mnx#Eu;AsqRpfjIZ)c<5jA+#ypi6-QrHUFTy? zN6pQ%ZShgC`@5W$oWW@pM|5>ZQ$mMpvcAyEmH>$I{R+FFf$bZlEeU7%9*~9|6Tka1 zC%HPokUe(Vfiffzs6L9J@ZeWQ;NHh2$Z$7gouOoCqW;Y5+xgR3r2~0bi$~$UL0zP0 zkk*)#t3&ot;$wa5s~2qk!>F^$3HCm@n+c&$)ER}%i17w5pvI*U<0;HQXcC-K0cN3P+?{$QT z*>zG9zOPameOk`C9K7vUJKmH4@vLF0YTj8VKxmL$o!~EZ1HE)e|FmDk<41xPuXj;9 zB=_|V#|DDCT15jMOo!^ZPg&@WaCNU(E^%Nw?`}IELABfuH1#juYsT8q!V;b{g8IT< z?kg~x-9E*^J^BB#l(%>Dh?pNcKRFB-}}@fP5b z;=Nl-W?otBRnNVWD)4H`ZE<@z!iJPm8*;lsKhl+VS;TopsySlJ-*XxfZXB^0Q7nQ2 zhqJx$Z)MmJuKfvClJa|{>M_k^MS2&njqAZ{Hs+JB)g0Gb$lqhmOz*E4(H+_rtvfl~ z)M=2m<4zD-9Kq$2=>FPZcNmjTGJ5M^$X)uPl+`z+5WEF0)#a*I_yTHPm{e+pW$pA8QxAFfoZ2!Q@jTU`Vw1=5)3nLzPTNUnk(vlRP3*fY!~MN%N2N7l2*_MTxBHbHIgSGQc4vM#NLTFGDXp+AMQNZ z4CQsNV$~haCMC@v(b`{7I2Ius#w84UyJQ}C(DC3XwGNjVWi@r7PDCa-VYqMZjfF!T?>7Orr{sqE?Sx?{#M7!Ns^nW<^+-dl=3`Nd~aDR8EX z^IwID0>hqFbCqQF3K~j}NX)p0a%isv5Iu`ar7y4g1EPH-)hal(&Ytf{yGD-2&(WtL ziyG&M?7OK;gfEU=J;tsf^atMIG5L9)pGdT_styx#X9kknFOS^Np7XJ&b{}kLfj7I8 zOM;nBRni(rrBo|b2s|dlG-KF01-rp@`UtuEC#-w~RzESDzQ9Ys3LwckRr|PNKL@(? z6Q5Cg2b_3S^5yo!nd2Qq;NlLF_szHCo(a$qea(#9)f`;vdEM=4ig33#i+H9=?Ju6K zF2m&u=5KQ4-pVg<$js*uh;4y3_oBjh*#TeXT?{9bu^BE05e zjl@e)r~Q@qHg3`9YRB{svI1JN)&Dx1DFRRbZ|US;@$YZg{7xtC7a%eIzl(g%HcJ>W z{zL7!m+jOeu7iSx*RKSl06SaV0B4eUCp(A~D%=2CSE9!$l{v4z)t4e6j+7?Ndi6oc z6NvOwuu32&p8Bvi5l`gecis^Jd#^cLZHYi?P%T>n^}WceXb@T&80;vjYMbFi8MgSE ze?*{gVBr~6UCnplPsf#k)ORn7{kM~(W(>2q4s%*fw60N~{xvC{{((|Y5`h-c8A@leY5jZ7wIuKQc@q>@*`PxxF)>pXEQg`^|Q_o~+XD z%zW%~vW;ms)PK;6>=fjLeByL?UTPcUrK^KLrak_$H{4brc8+ixM}e#zUxLFTzHJ^# z=0~M^Ou33ms_G3q76;ppOdOx`VhX)z{Oa7GvoApz<+`GpguZUU&52h_sdyNb0l=;oKMipkcqDYf;s*%u(cB~G9k>*j}-vt6xX+xaMr{CSfI?xZvKwh27NFDr;1 zG_{^iRiKh8)&oy-jMbIqWVX*(*FO~HtM1No)pifCcZD}C@c9`3O5^64uAA814Yk7< zp{g!?TB=8&MU3l&s0qi2rwn1C3mlj&472q?gcv+a?Q=3SgXwyHV<@J_@s&!WbR$Dy z*&gRG1m!%mRhwtqQP`~5{T;Cj(cLz2Kk)6%N=0T^J006$m=-$&swpze0vBb3J;KLm z;6pq4zY46k>3%O(bV>uJNXvFV zOP$Bc-g{Vjss`;jGW^!!=}4o8Wi8vr#*+KEmA~%5GtD8*8G+obI&FMwpY9+#@%uyQ z!+JYwX#IyEidXjvhenQqUmpHxtm-}^lv%L z3G+5|?(WZbA2xGmK_3J#`b-dnmemZGZMJgfS%}-QjFRn~HO6X{u#QN*voPrA#my++ zoEtu@P9_gu>@iShY~!ijRkZeSTbJ{!aP#fe+)Q2(uu5L{Cav6b|Fw;7-7TyhJ|W8x zo|NtvlMoqq8$G*MTQgv!Eq~8zA-9{+s5;6>T6tXR9Zh+|NR0%)q-VGfF~?1Fua-U{M3(ue;M;7*}K+96uxd(lxU6nTk}yMb|C+TjwFMh za7-@%(FXS<+TPbg@BR}^(=&THKdHPhK5EGsg0Me=u-b6eg>{H zzW^6X7&Qgdo->pTwTyDZ3H;&AsF_xAh(5 zrt6Mk==8RLwp*MdRD`hE>Q<6jUuTIX$i7&(Q5Lcv`07BpjOl&={q-m|3N}xzN_|QgF%GM- z&#p2tZG`*G{T4`W^3pzjgc$PKHzt@GW=Z~@6}_DpnXN}u5Ci0xcE&jzR|MWARw=ay z(G9Pr`=JAFSj|Co`i0ie3vRt4PFeVE7@n$yo0K9vZ7wX{Xy#s7*jP{;_Xxj{K$yYb z&{|S_^>kg2Y3Ld9syEl-|N1^tL3IUft1&lM5TU#eI*RG6Bz|JYqnz5qA(C>+2_wlU zl6w?{`0&rnHJNVY;R|k}&e^3U_It0jX67n0FJd8MIh%PwyznQ^#l682v@V*AVPo!t zLi@AB`o7;5oP1QlEIqx10M7^sR@~x$Cm1nXTb92VXM>L4njwm@7pF7SzL1=kp$;r;!#SETeCo8>a?_f(Bd3FA`b}+w%mZL zHb!^P=jeP7FmErnkg=I2^h#;7XCIY+stR=N=Ps^aXokNyCJ67%dKgE5=-|UqF~lUs zySX%)Ih=_A8gIYh9*BFz+=?5mBv#Q%8CGiDBuj;Moir%1-oE?#H`jx2t{D}NUGbkL z1%_@}QXUQ@gp}}$vNgqXXlhSN84=734=y~D>ylVdLgj@Lm@1yU)Kk#20EEPJZbDkq zj7Le9mPnR(8!Gvq@A*lAK${t!D3Rfbq(#bg@oU!NAsJ`nydV-NO-O?Tluzrt`obG zwB^ll3CrM0uR*fvIVtgUMGGV*h2Azoy|6-GwQ9o6(j#}%N3XPHuUOeO`+BK_(;41A zy{b*(&K+uaf7@8B^nj_uG4=FuNUL6LZJI~*W?xSErt_Avo6!K&?fF;C=FTr>=MkU% zi>H1{`hAW5{`6ulIm!v3=B4grKoHi6{jXHvo%LuoB#%x>+vMUNxsc5$h+f1Y{a}5h z_hf%n9kexBTY0cHgkbVqpr{3Ck^)nB_%Kvoyml$cdSmTZVTD$~+uu6-`odsqAt6Ug zwuwbZX#s!`^k^G+W|iBF^+Rjc@;Wvbk`k>C$E^#?(VIx!Y?aiFH1DlqIFomm{`ysz z$>-XV{=ZRx$NDuIpturN=mR4?E%oGEL@Iu#Pkm2!;X9dgnF{3V{aIfpJ(p9V_oGXft9!RoKJF4-O!YP6xv%_bwyQtT za_4t}GrG&!J<7I+>O+m~K+Jwe#zeEY_=KY~%|Vlb%mEBO3N_-+oP;wls3JflU6Vj^0a&7J6lJ%qAL4PF_n( z{jKgDk^i89_af=->t+Ms|F-8ZePM@1HQK+@)HbCHJ$C+n`(XkgXgKt>B-o0`?9Gxb z{3>iH`E-M(#$TW*Y`H5@9pra$c4&*<7()X@P)+h@_bE^Klpn@cTef2iRXIl%<`194Fg16c;w0k856&+cWgp z{e%L*C2ot~Uuo)U@IvaRX`L$T_c|Yu-N%{FjF56tjs^Rob>0~`d7(#mgNeE56Xydub+I{`>1@2YtG8Q_8jT-yM~&x<#8#Upcv*E!VO= z3#9cI-NPACmbnI}#kUKqx>GG0*7*{ec;?FJ+D-E%mpzljEDOA z{-Zc{dqe|xfoM>1Av?gpy!=ixa*IY{#v$#TW-fg~-of4peUq}Q)`a6M0p-TSDQ`P5Ds}rR z^ij5&2AAUNifiyrw|{G2G$suQ4fk9jA@?zIpczTE!vop}$x#I=?x73gxb^9mGQ5H% z>k;&!4E;x5@?#vB#KP0eoQH~Eo?a>n%I!oh)O0T$ACa0e?cj#2@({u%u9E<)m6`4! zM-#xmuyFhXc(I>8A!5&fFS$>!Y}WBD*B6%=ZH?EI*zpL?@%~SI@zN21a#%Q+Gq(B$ zSrzjl0W<$vN^UY5*a|&HfLi{Vn+1R;W5};g#?*#aJ;tJdd;hH6#+LXV^Y=%o8Ne5f zf9rpENx^V(0OB*t;?qIN{}4P`RSz#;sdo4t7#Gdwf9wDKlR(4*G(5=4L37niiLe_r ziAi60qQh;0mHM|QB-j#)FaG{W<-Z%9`u!4QijDc(I;Q_5fL>4h+j9W_`ObOOCAGtM z{dg(-wANP9F*mN7`FD`x6)$Ju??@70ORzlr`=jjtZnO%}Xh0iz@#1gm$p0r1YQRU(K{&xnk$1t7ekV2iid(bBLd&y5IY;L@+S?sdzxvTk$*P-yf;}ccZg` zMgt1WL*P7(o#z^&{{aWeZ&&`?a{!I{N%C*~0OJN=lRzsLua-mPrR!4PHR~^athoB( zYWP)fFVQ*TPsXQx3e000W2KCdA9mfReX;CpjH}vJw?nK$Z%ns(GzSt0Sr2m&Edcg$ zyg%#ZWO;V7jNGccblzBH z>5KY>u8<^Uo5xh!7WWgh^3dv30RW(8Jy@f}_TXbx&pBp_<59p-b}@1ci^AK66{ z3%LAjTHL|m6@})KYe`wSd}&g?HQx7WoWC6h&oY0s&Di_?a-^Xl5@?=k5MT!)aW1c}I6 zWt}9fJ_#0sPk$utcrDa^pi!Zoe8fgCfMU{7@tUcX+%)9hsyJ7#!NOL>a0S=0V8i-$ zCeKYRZ<8)YfN7%fcC#X<7s<@l73L(b-dEC>{d)b(V^A_cG`dFNd&}J0OF9s<)H?2B zqwt&AV^BIxZ;G%4AHo)Js^U&Goeg()+mbB)rAwGkFt^9&N}y__TlPMRo?qq+|6h_4 z;Ir^e)04Y95+n#rt2wET@!n+^;e;J`@%3j^M7YcRRHs)?x=J-OeHlAmN5+)+Q3+FdmOCh?6SC~lxQ z$f-$fy(7zBTbuOmLRuRZuRIjuIf*2`b_s3O6lSrfHvrfkx)ORX=LuNrz|%|d^3p~vne_fN73ca7?D-ci zdo~|lud98a{Y19)kX*-OzMq=0w-^8ny3*4A=oG4P@&BtpuvX`g zhOI*z@+Qw+Uas?{f5Vb}!^dMnZcg(LY_ejtOUNShXAL|%YS{E$s&p$cGwb<>ZBRPg z<2__=@niRiwsAmkmE^6-3`l`Yc1Je;!}(hHJ?iJd>HyrpW0rtk+%3O5kssc0yhKma z{z~mN`R_$Dk=N>I4Ys|mOPlR%M{at5h@PqHooFPHo~f{uOJYGa`fde~Ngr)3oSNh8 zqx!IG^=sU$GR5qWte%&6b)1&gzPOdu?by}=`IP!tp@5C&FwuSA>B1CHrtKyUL`Ux8 zeZ_fa`_}vy<#D71VC2-Vt9%5A)eU1(hV6}!@ss+2ZUCf=3h}8O^`bAZJ&2ebuv;JM zPfHzdefCb^kvsk1a2l<%f;`Rv$j;9i4^}wAMVk$}FgzqPxQBRX3bmXvRi@%&2vl5^ zD_9MY0NesMCy}udY9Gt2nr7NnX7=W9#~Jz?@>?IyWDWbjaHo;9FCT!AwdKPP>&YkE zlcqe93U(ug^bJwwNV|v=n)cMCxb@l|8N~)Fy@rOO8ua_jLZsU+7%0 z$Lk0>+w^X;bL)+yw*|1TazImdSZzLw$q@Bxe#0&3tlSHho(3Y>cVB6E+$8Wi#zG>; z(oSz&!r0#UD$?&CtvEx)ngy9F>$5{$=_iJphZIV+-NbsawqvBNs|K5OUe{#}B<%5N z%v8ne2)&-{i=#Hjcg;*R)4AH{ApfG@aJrYO8ibYndQCtfC`)#3Aw!n#utP>}3c-%$~ez}`& zhKas;2IE6V@ltTAfqY>B`vIAUMF;Bz^Y@VMd-{sBgvoIqc&BmM`cRX-hW6hI?cW_# zOf+R3c%f8?7JSL3hg59ce&X*IsOnp)Mr_;A7`o@#mK}Qy=bx>jn|8=54vlNyAjEs! zk8l0pmkH}Vs2FWJFr-Q>^-m{D{{Wit18B;Z4WR&d__9xL05D3Gyr!^GtRIP1m2#B8 zOK{+%DwaG3HlvepA3C7bKjW^%&; z3^|4l-M_gr&=0b8B39M?K)`YPB^B0{kSR(lc5QrlEj?h?hqL^h-UUpw43yBz&U^l&7rI3 zXBe#ev~BrFEMz}bm)|XHfw>~hmdRR1$!GQ~mCWvY9TXja!UA`rO*4&^%9Nz{D87+B zf09}kv|eq#_QmzBd*i6Dg;=aGg^*g&G%P;&?6@Qj;KHgkx&=3x&-wgLkMgBX3I2uH zwfM`!eg*QXadfxQl!^X+_A9IidNa&7T7dl4KYM1Kg8-20kO_(I9t%BKd1;GI_&@K3ot?M9)q%X+;%nDiurWVMdH`~}v}vtpWeFTF0>1YR zjy$~oHYvU}U6}^PWf4j9=g^bcd05s?KoFrrJ_Bk(6b6xt8ruthPv!%yyaa_q2T6wL z?HlSR(JLQ2%1jQ^4pfT(#VA7QSHZl5VN5KaLe|jWslEK;!rb}KyvH`mRGEK{jioIr1WV#f!>%j>~CE^!qt+SkdPl(MhLLo ze}`TiF-=Y5sVE(uKP4{eyu#=N+FR zp@_Vc?&M%+T^HBz7r#QCaj~)M(!DFRpW9D;Od1W_gxbfk$2KaN zJS1PuQqVC4WbVB;0*vj-#{KE^U!h{Ht3KoqjG3Be5ku9HZN@MP$7x+NO2I=XcO3jx z$%s_MXTTpczK3uC_5aAY8OVB_c+X@qXY&o5$D&>X$>@9%`+M83-iRq-)8~9>GufA* z5`}Pd5Je*$!@;K3UO3W(SCRU#6*rr%cUevP8Y9 z(-ueW*A-T|Zuk{`oBxd6Bqb?=79{g|oF<$zpoBB`exIz3MxuXaQ7CFR2T5>nu$+T< z|FP24PtO3{_KSQa8!x1lTFhxvfUxWuWzO-c&4&%SNAOT&lk%MXcY~X`yKxJI6Olf zvOm8z;PYuSo@n5RVT!wo8xgdKPxjLrvza$843_Mw%QWf|^OK%E;5|MryO$oge&X6< zM!dzAprx5;?bMLh8PvN#G4Z+N3^xz zG!dQ^s6=fBnnYHMk#ju-!HDJ7u>fAk+|T|j69^vq)vkGUuwqq40SRTZfMG6Xu~|SW zxbg-R;beHMK1+nSGr>L7aMlnAr@UtAz!-<|{S0KjcJ|2P9~y#KyP4_1XJWGIP!0He zFO~n8wn(ALN9>U62&yKHpEWT~45m5JmBrYjim1{_uVwZ-ui7-z68-bk>~6kZZb(q9 zKdrf1WRooD8cM00(em86XwO3YBGI;W@ymFnAy1VANti6g*5^17Lb}>C8c(II*^}3~ zA)W0Ei~~MujHj@(+4*g%sKt35K}7J`$6ig%WhiSnJ#4{n2RMvE=0KStW)5$*3_Lx2HVLM7}A$UT(Xv0Svjs>`YI*HS|sC>mu;85 zi{3y$=-9f-LK$Cz_01mvxgXD*(r;gT?&?5n53kX*g^Qi@BZ7+Vse)A;a#9``nH zo{2S=%+8!2Z&dcSRR>(&b%+F{rr?LPa0??i#(Ud4w?3KdcFLT3s^lGx*;!uK$+=qUYZ?Ueayh0sqS%`ctNYffrwQ|(v+s${IUMaaUWM_WW- zFY#rJfe1d|82p3Yg?1&8Hh{=p%4%K2xC^~dn5*ohErTX2Zx@@F<0lq@FkncxpdIC-7YR%@4i7t^r;SjNuI~osj?tftU(yD{!><7jXS#%S2F( zl0rgnCE~^xxJ?YoCeb|F$@nyMt~GMkaJoZtJYX5P_%Qx69C4UR#8gH~p*cEdog3&0F|(BWRmB180x%EQQ)L%6fb+qm9nEj_9*;Z%}dXmy%S^ z<6`J`tWN+FPf$83z-NXc-MY(1ib~%yEHgzYigpB-^ec5K6Jtyn;~4$Vf1o?8D{EXk zf`!G8S)KMEVG<)JCzzyaz7jG|OoJg<_%V@ytm#Z$pZU7Zh`)Za%?BJ9*Yf9w;BA#l z?>d3idqf{K_>U@A%%|y!-@+wqWO(BOM9R(K?k9ZTJ%NC<^aQ?@_)(~D3ww2mKZ$uA zBDZ`0`m|E_G!!4|h`^n@YYnw4plpId=~BurLpDpVpWe7~SoZ$Rz-2O*%p_o{Q7OMJ`TRwN$G0#!+wGUxnB#&^Qfh*MGAlpZf1P2 z97OXRlw%73#!(?LFRL6P7tXfb-O$-?>ka^4(aP1VX|s$Ok9K2T!B- zfm=JJ4ffNE;bW~;vYBU-#TxE@*vvk54gU4+xjQ#6G0m-lXEI$pYLkX z!Y3x{WpM9NuJ*G4S1O3gf_d$g_M$*DdfsP(`q#$XorH<_!OTnIuh!z9o4TMqwZSX* zZKa)(mMoi=9+-9#&bW`cBVU+VJFNMUr8hIf}*8mB)@?GVFfYhZWqbVhQrvT_1m?5*7^8^t?eQ>Jt5Ha^$ zkCwEzGH@u)TGMO7Uj7vAxJp~iJ38Q~f%wcn3eKe4m$jP4*M>xh76%M8N>_=|QdxQx z;RrD6moOpw8@p}>_{ZJ{dk#>}Jdn;%^mmqtp#y@?v6ZKg#1syV4eQ#;3WtHxst-72 z3r|aV)!5CJMcza_2cH%5kSk1ul6rhN1@7<7LFoGgRCPqzpi1$~$sc*Ad+o-GUeoE9 zdf>s7?IkAbzj3Bi*5+Pk3=Za1-ii4dckLOhBt;)iY+AwQ52#P2CMOD^Jpr`SxYxR? z1yKELe#((LeGU z2KHZX>RlrR{Z1aacMe=;)04a5@u9JIxyC!W#?Nu@aOusc|E&b6Ie@Q4-TGV{krvwG zsanGGz<09i6Kf$TOwuFMh_ubp*T_G`;(!j}Amr;w!d*do+a%ifp>gp39NyHO z@dPAQN?D9x?2?$3D}J!<}K+$P_D$AxT+pY9S5?{V%R;3N=bJC4mA?`g!jxStgiOL!NYi0U^L7FN~kO6%;ScaLu8A15u|( zZd#E^JQfscZn}pPuqyAjAZrK`CIW(w+>~VlexolE0fc>zkN1iw4W;CTh!j4l%QL;h zOJ9x7;))rP-W!MqM6(mjwocGx#kOhB?OndM-r->9%QEI5M3W|*^qtmNo7!B8noVLc;o$%O476; zXQ};Oy+y~jEn^nBS)W6*2Rw1ScT=R^CS_O-lf@C>t5z)2o_aOA7@ogt2%XPZrOzRZ z2t@@1!DXiMi6&ML$(T(=>^CC5-no`x+u5e9DwSzs-`Qi|_15> zePL3iq5ngbeyy9^a%!ll*N!aF><4_Japzu13vBxGeB#2+qLad9p~gub;^}p?Gb?1? zMVriP`q_8yH(R&@jsQLAv*IN@%E_%xL8U0RqR|xBD8q3qsb-Anm6E)kzEDC^YU_YW zO7LmLkQL6O+*ddFO;U|SGy3l%4BL4L;;R>_&Dv)7b9^TD+W7i$Kz(dG5uM^A5WNX5 zht@fJzV{E)y?@N}YgZ44o9r1_OdBzZxjYX{fOHzSejdZ-A32wReCA@WFIjnUJ-Oo| zt)y2OKX`Yv*fg^;%G!+3R{82q`2S=jhsVbq*tss1H$oUg{{8tmJ_^3@7ty8Gx4GAvq0uq^j7PGnM5)!b>g08 z7VIr+(O;}$Xc_ZJ`d5&#ap3`)XmTLuKBA!1_z%S{(!Oz%bBU+nsHNfj#9FuHoua{M z_tCuV?>}NahT)>HSYrSEJ_Yoc1$a!`(ANwrZ!T0gbpx5mlMu_)PftM{^lH3#*yIDk zX;|51BYA3-Dtjzx>&A?pja1!Grd`o6kWAJe*!SM9UzSnIT3yf7!;Cz%N7@&TdjYVX?%4p6+wyJg(insprqSIB(u8oVoN1xJUn2G@JuuovSNu zRyuJg}U(XZB+*rNyCZ!Yu=^gA&UD$QYd2eXG&m;lR1L;o{Z zdcJod-eR}U#s#!3oSE`(7fOU-xmeHX6Ch=w`A&~z z?hwdUURg`@<2}8zG z$QrU|oor*78SdxM_jiBK?=Jt{=ehT}e|bF5IiGXRXFKon+QxQXnR(K%#ClK;Uu&V4 zqfx}Hxb;bKkK}&mwH|h;l>25?+@9uvq`1HQg?Ul^ev$x8oSlcDt~6n;kz|`Z6T&MW z65;!`H%9;Wwoq1V{k}K7SoqH5)rVpm>>KIfVif$c);C$YwE8$ECr)6FL#BU_I8h1s zgz)B_eZaf=mbr!k>%$_H%ptvG@n_YQQ|87{mE6GoOXxC4U*H0wm$fDlB@L9AD8KD- zbc7m73sS@I0`UA1q!eC}vx9(dHwo}wR?`Ft3FXarNEo2gxb=omXHpNLfpbmmKu)XwQv`34N z^QaEILBu!$8qK*B0PI%kq%=Uo)4vp86WY6F+$3LQ-J7Sw)GB^mVUM&1F4);i578A- zsi|O33p=-Q>{Ko|>l!KT5D34RbkuUXI`u_)O}gq5hSWU+*6}FiPM?uW73G=TA~$e) zFFnMGxLlnOi-8c@0*|r+RPkR8m8DbW?JfqAKp8UpQN-8v+v=$HsOx9=86+04QZKEl z+BHp-?y!1NGxtz5^(n%D&*PrG@cn!%UM4=G5Y?3<=gB z!Qq~VJZU_2oTx(_5uz}W6*)-dajD$GA7;CH9tAU91qU)ESBJ=kJ`+nnUc^RZL#soB zU<4Wz6fSR>;sZnRDlqV+iw}s|7gZvJ9>>Zz~?Op8Hr0iG}(Ou!y*a;#0Zo*A_NX;!b1cXhzogkJM@9w z(=ow)#u`wR%qP(5U`YO*u?CSO@dsD7-@lEQ`w!-C{WpEgi|96k&iTX7#6t8jLO1{5 z@hK0|NrcYRW3%~!1i*d@l2tD6|C0+Akvo&c5h1{_>Mw&9)JXB1*aKTi;9m(MMl-vs zuRi;8ebBa5sNkWdUxfB53SRmB{8|_L;5KhR|G_J zxScr9ECNi6z!NiAp1KFcw4j<_>HiLxDM^x&Q=R&`{$M=Kyg<<+)Ej0D|7#3o&X z8_FhRKiQ`swwpqv;33Ym&;nC?uLY=TEP8UaE5PPkl{2pmC->5b1Rc92>nkLJvJ*vP zgx3l%Brl3; z)pjyP!XaM7xbo}w82#nBnfy{xj_-|Sxw_tYF1tujECCgs48<4udXHFzn3*$1i3wW_XKl_euNkVV)>G= zX7#x&r?SBQq{F>@>_RHnQ>;z=ql7<)`QUK){) zGhnwH4bY}*x{xcXdQt-ftNhTsu6e!C7n{B05$6tO6fXkhIWk9Yye}h&Ugd7Mdjul; z5p7|B!Q9Waf@XSl1|%AIBM%f6p^)C-|L}oF8n=M4G)XX%1!r~x*!0CV{6Ru*}eh=+x;zEC%MYGwxdx-EN`ID5&OMaq=2 zY42Rk+qx^`d?|pfkBG!<&!kv-ysw|^-Vb_@(@st?XaxJ!wRP<>?$#1Ykyu+X|A z*$NVEU6y4*QZx6KABw%J)vzxL``V;A!*c&4Wpua`?({l&DVx zzkT0IRz5>>eP>*8Zsy|$J&fQKg7G`sNU!_oAUl_ct)0oI$`L*326kQSB)Hds- zls$fT$13o}rY@s)+UVt9r1h=NK0xfjAk}O~S-y*}ioiEn@<8zE3ksNDxD%g$ z2Te!=uXg{ANuUYHkojt;tMfUrMijJXCFAY2v6P|g%(?!jWGG}d)TYBlK4ZnM>m3F) zAg)Sm!)b4q?DXsF>*c}0wV93*7Yx}zv@;r#6j;e*=erOIOAeqy&wS1WA5|p%zSbZe zaRP`D;-_Q(j&dr2czuvyW!E5W3gso?+-@>pSHN}wj?%j)8VTfAAkHndJM=;ApEFs} zlR&Km-b}frNRAJGE=4ox!v|yt!Z<+@_LhtPr<;suJD5IrFH}~ygTpG&wnVj-CMOnW z3z@mS@-FdbEau2Pc;4&gKg%GR7ib_BYx@L-EL?u1NpPD55oOAo2^)*R=cP`yy|10Y zdw8Q77u2dO@CJpB7Yk~mO$O)W{R8w{PPKW1h?yU<@A^!dW#zpdDJZ-y2^MC1{^tVY zfIJ=a8bcyNpS>24wUFeF+7ZtU!q_ulf-z+ptDx(_in6BNnR{i-&=ghz+3|2 ztrmjSs>8)zjCf*}-h*(e_aKr8p>*7dMIwEq_;o~eN*P>%-lESuaFwvFm$Mx9L4B0t zR*u3v9w}h#npjXYGw)n?biTlXO~CmUC;MnagT$+VyR*I4YW)2T!%Owq4!#++bpkNB z_H9lVs!p4`zzY5;p|r@AXDvI?OZc~UwpY}P47c> zdrbc*M<}^IE}rlFD9FTedtrWBhx^u{nSvTK$9Er!lAS8&s$t0+qD(W*yMvEIEGpn5 z-9w{2O-|Gq%RtX^{ShZtDSm@u)pJwQbC^1hI&!ozE@531J;>Zb*DAN^;$*VtSwKAw zVgWu9AD4M&Se^THI9P_WPbTvlW%&y0g3-G|w(68nkF{~tu;L$U_vO5)ufEapt(-GI zw^Jj?lY!aDzi6Vk;P{(au4?5t;%9VMC(&`Clcj)C3Lf-GL3Xv=QePw??O>76xMa3X zcENiK>ld!FjgM~X`WrcnU~2fyxK2^gF^`I(DLZ2<@UCCqR1x#8FqHz?i`ghwYA~Iv zz~vbiK6ZgsDuSash;pjBAX<4;>d?ALPcP8mexlVECn}1~F!>`@=%lt5A+~+NnXQ1r z!uiCL8#1tDteDR1c01w5X;iL;Y%0~v`*5+1lxZ5U*0h=vu%~Z=x_; z>hKLo(;D59x0|~lXXbnb_j_RL!F^c(k{4j2LdH0_4*&EpIY&LO z9-#!l=jdxG*-ys}Paul-^pZKofA)S5gIy_t9d%7C&~}jO~w+B)=mVa zVLxSmDl_Ph_2VJx9PN}sN!@QI@ zq;#9=cGb#?6rAHy*t9Hs82bvJVfX5{=**?r^wrjEr-R9^eD>3#4oa=xY%wMIDR0P` zjyEdrl|&AQTf*HYuIO-oGb&En`D*gMA)hEC&G*`%i1QXh2G_yt1a^Wv^l0 zPc4$5T&U#eq--7SdzZbC!WS4*An6gfH5!7-9z7Zs{2pRA(yhmgVo=(Y`UKL zNDB<*H{yJ2l^)yOf~~5nbTPJ5VVx=NP;n}eK;TPNy)gyu*OZ@;^Uu}8jfwcFF3H(a z`B4eP*!r(krzf3(RiQv)Sgeu{Eb$+JE~vaPDmiCLwA3(a()Oz@>JDqBR?Zn60(BHQ zH_WdUHo?1gZovFX8U zp6$KD&nJXLgKNF48g#6|g-%pLD&CA5s~sO|xGKZKn8G4$+rXE}V5FTqq|-8r(&;5~ z7Nvwq;=)98%)W=^jD#f&%{vH>(cU_4ZrYPooE-u2)6Hbb)%8+*E6{vM^C3;ak@-iwWR6n>ue{0Nz}QMjF$7wIv^xS+{< zBi+72*=Zz}Qx#FdiR3%?=@6#I>4YeCz2mjry3yJaUD@GHyMuQY~AFn-a>le`$wm6%B zQc1eO4BOm(*#F!(eoM#a7`s8{uPUMNjgoNpggMHI2Dd|GLlvoWc_=|TH z{}z&^R5<)k^@i&e7kigvsMY`fr|kQmuXmN%qqyLvqMgOh&R~I?Z3%YF5Jqd}MRf8S zbgJN2gr9a>-zhe}kyF1khQS;?C)>-fk%$CUJqx-dFY}QYd>2&r*6Q)X54>%SIT{}y zEdf->J;3a|*G^X~HompH9v8S6ldxHClje&}3)-=>QQTY}8J4j>YY023_krn*c&jR! z-8_b0vzUf~bpWXMX(om9FPNjZR;mtHvMcUxSwQgd^D`1{lu6dH;9J- zx7U+a)l=lW3pGa?A-;LJlqnhbpn@DhF^i_hn|o&fI+M zIi@#3CO~&iy#g|(f87%}jp1RpDFj`A9*`irbGhjpv3BJ-T!!GG_oSA#P9ZhkXz-E< z!!E-_JO(c$ea{ClAq%bYmNH`i58b%9A-o~NZJ?j3a7qGAR)Q_J?`};p_d9mbP^DT` z9V4N}>g#}m>uKca!`G%LpX5*35}+t+p0()dfRvp$Ki0z+&vzD{D7(56!SFc@T(u4V z>ID6LjWMyn2PM`W#Srx(LDc!C14N2^IGX!rvo{CzG7Vnv3c_?A9M=rk9PvgRzJhcB zn1FNr3`9lIHrZOf<&A^fBF_*iOe$64_;39)fB1uTZdlH=*w!&5wKD)f+Oz=>(F_ES zVK2qj#FM($+b({nw6<5(MeWSxK11{6qk)%47ftn^B7XZfCpJbvTdQ+~SID~ha8};w z*KJBF|7hbvrUjhb*_cRa)Gm^C+3H!!9TNB)uE|T}w|{;s?#*f}u)c^z+(>xR-W?2(;|jC{jL~xlmSGxt_KYuI9=cxp>bIhOGJwEL1U{;lC7JgTLT144a`#(0&6D z8m5Z?rt-vnmlEXcX$Bw1(Qov@;eytXsU|xby4QW*R2yY~L>uz96w0;oO9{)ZBR?h+aIkWW-9@T;MA_+Ms0N@%3s6uck7=Tp} zB8?FH!u;dDYafaqpLR%0XXWGTz48Q8zb~rK&sg>3XqEs2lD&QzZ(I>H4m!c7KJAu% zH2aSLm@r~m5E|!`NScr0%6npVcZh2p8%{qG`yC;+81Ug|rJPe8a;%T_0|eO;MOq05 z*S3N{()%YhzcaRhTZrP?D00aevjlUz{9BgVel&Mmte_-nH$bXx4xr!PZS4_4di#?o zz=H(X_kr1Tm@6}p;dNyZ1H{9JH>TMoB^9TH`q@f{qWFaq9?#zt25k|J!w6X=1sj*DU(IKI&va90m)IaMMpw5u(>4>$=m6} zi@xcD?J^OLJMU>EH|l&ldu&ja_zrSYc9B+Zx!YXgPO#0(D{g6&{=tS(%5g7{99dg* zENCki<|#w2pot8|hugx(5~A{%**~`EmqQ+=A}R{Qc4$||`1F4gsxXwVb{7=`61A|qvbhOFBY$7z3ywVCqF@ij>EKS;O;FeDD~ zjRxRn{y}ZVubFJgz$y$fa{L(Ig4TJF8t@lLW52YO-4+9v7|o^Dtf&%jOZNl|5G6Bx zb+chFHM>4Uy|N@OnT^f&=1&F;owgZ{P2w`Rms?#sJt4KB{5M?2_ZN7vy6X*t*&`Z> z2z@YjCNIs$jc3>aAGlN>o|bp0BO=ArnoXjrmtQ+w&+aVqV7Zis>#+Qm?IpRXk35U$ zl1}%qN|N9AX%RL|J~MFk`~zp}kYGat&tMBL;IKxdDSrTuLx=Jji6KS$>y9`wprN^A zamkKLf9SDi`Jk8of~$kT**!uH)2ANmj*1$*f0Jt6w$|n7LYPa{*13l(!2K)8u8yF` ziUCqdllmKrmhAWI1u?15bNmc=DfSY^Q3C zxo+RZ?0{%U*#2>I8K15=QfJt4J7j9t6LZ94;qVnu%$vbtk8oFaBO5*ni-Ze+5{MdTG}s*ep6ITgj*oS<+kWD{P*>D zsNb)bk0*+&$Mm~jGb=miJ=#o**(&xwf9Gv&*!GuZyN0`OZ-ze503=zLI1ksYJ>?#%WRT!D%+0a?(}riu>cIkHayNeb4g< zxU*@l#VHdi4;d5nrq2mS7^i}ms{QHMP`O^qkvF**C&kaJreu-XXS1_cb3T*Yo3f*uUqpd0d7CE%teKnDJ8Xz~MI&`#;} z!)&Rq>*VSHreT*xSzN*jHU|?w=>f)J_#fi{RtS)+{yC=@D%t-$6aZ??fz9gn3A6=x zPvP7K{`nM;JMHHXb21jp1$nf#{a8Plx~*7PkLy<;RyP)m?;-T|><;*40LL%Ue9KIU zsCr1g@+pM6zzh@Am#Ynm9$YJFjQKw)BB2$eM{-}$#=?hz2*MHUd1b&7DZ|~Pu|Znv z0(5}t%wEvHXmbeAE{VtN!Ppb34o$K*!`b#Maq%K0e~4@cXp65H^}`(}O8SD$M~ABmdE26RXlX-|)t!u)y@*kV(8R+wiS04%<^a0sz)w*~I!{rcd)`Fq=X bk4yEn1|@rqS_Sx7A_~NHEtSHn$k2ZSRnlOh literal 0 HcmV?d00001 diff --git a/doc/parts/typical-usecase.png b/doc/parts/typical-usecase.png new file mode 100644 index 0000000000000000000000000000000000000000..47a2d33fa8ef7d53ec0c73ca787f4fce3f1d99cd GIT binary patch literal 256665 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%0DH-+ixX){bxta7xa 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

    V70d9a+ZiJ^fN*6evRl`H(!Z4|U~coYh6S9Gg)< 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%0Dy1{$F5v6m{+?M<(s+Ey8q0r0N3^exhSzB% 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≫E^}qY<5IE4dS) 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

    <6b#dEv-);5N4Mg@1| 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 HQP_U~EIlG* literal 0 HcmV?d00001 diff --git a/doc/parts/typical-usecase2.png b/doc/parts/typical-usecase2.png new file mode 100644 index 0000000000000000000000000000000000000000..4d053040450747af3aa2e1bd8ee83bbd20fd457e GIT binary patch literal 230655 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 TtCE||Ihwa4 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 z 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