diff --git a/.all-contributorsrc b/.all-contributorsrc
index 94f1c71..41fa931 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -48,7 +48,53 @@
"contributions": [
"design"
]
+ },
+ {
+ "login": "jay-io",
+ "name": "Jayanta Pandit",
+ "avatar_url": "https://avatars.githubusercontent.com/u/55305804?v=4",
+ "profile": "https://github.com/jay-io",
+ "contributions": [
+ "content",
+ "doc"
+ ]
+ },
+ {
+ "login": "undextered",
+ "name": "Abhimanyu Gabhrani",
+ "avatar_url": "https://avatars.githubusercontent.com/u/76005012?v=4",
+ "profile": "https://github.com/undextered",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "mchirag2002",
+ "name": "Chirag Mathur",
+ "avatar_url": "https://avatars.githubusercontent.com/u/71757438?v=4",
+ "profile": "https://github.com/mchirag2002",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "SujalSamai",
+ "name": "Sujal Samai",
+ "avatar_url": "https://avatars.githubusercontent.com/u/87236576?v=4",
+ "profile": "https://github.com/SujalSamai",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "ranmerc",
+ "name": "Kamran Ansari",
+ "avatar_url": "https://avatars.githubusercontent.com/u/33200113?v=4",
+ "profile": "https://github.com/ranmerc",
+ "contributions": [
+ "code"
+ ]
}
],
"contributorsPerLine": 7
-}
\ No newline at end of file
+}
diff --git a/.gitignore b/.gitignore
index 92cdf3d..2fdd441 100644
--- a/.gitignore
+++ b/.gitignore
@@ -138,3 +138,9 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk
+
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+vendor
diff --git a/.well-known/assetlinks.json b/.well-known/assetlinks.json
new file mode 100644
index 0000000..e781cb4
--- /dev/null
+++ b/.well-known/assetlinks.json
@@ -0,0 +1,13 @@
+[
+ {
+ "relation": ["delegate_permission/common.handle_all_urls"],
+ "target": {
+ "namespace": "android_app",
+ "package_name": "app.moosync.moosync",
+ "sha256_cert_fingerprints": [
+ "A6:0A:21:DA:C9:A9:C2:ED:73:F5:A9:9E:01:96:2B:0E:7B:9B:1F:FA:06:27:23:53:99:10:0C:A9:7A:EE:51:12",
+ "D4:28:A6:3E:D0:ED:BF:E3:72:9D:B8:E2:ED:2A:10:B4:EB:41:22:3E:45:C5:5C:B4:F8:90:DA:02:8F:36:80:C6"
+ ]
+ }
+ }
+]
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..1693568
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,40 @@
+source "https://rubygems.org"
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "github-pages", group: :jekyll_plugins
+# This is the default theme for new Jekyll sites. You may change this to anything you like.
+gem "minima"
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.12"
+ gem 'jekyll-sitemap'
+ gem 'jekyll-commonmark-ghpages'
+end
+
+# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
+# and associated library.
+platforms :mingw, :x64_mingw, :mswin, :jruby do
+ gem "tzinfo", "~> 1.2"
+ gem "tzinfo-data"
+end
+
+# Performance-booster for watching directories on Windows
+gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
+
+# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
+# do not have a Java counterpart.
+gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
+
+gem "kramdown", "~> 2.3"
+gem "rouge", "~> 3.26"
+gem 'jekyll-titles-from-headings'
+gem 'webrick'
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..5c406bf
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,274 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ activesupport (6.0.5.1)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
+ i18n (>= 0.7, < 2)
+ minitest (~> 5.1)
+ tzinfo (~> 1.1)
+ zeitwerk (~> 2.2, >= 2.2.2)
+ addressable (2.8.0)
+ public_suffix (>= 2.0.2, < 5.0)
+ coffee-script (2.4.1)
+ coffee-script-source
+ execjs
+ coffee-script-source (1.11.1)
+ colorator (1.1.0)
+ commonmarker (0.23.5)
+ concurrent-ruby (1.1.10)
+ dnsruby (1.61.9)
+ simpleidn (~> 0.1)
+ em-websocket (0.5.3)
+ eventmachine (>= 0.12.9)
+ http_parser.rb
+ ethon (0.15.0)
+ ffi (>= 1.15.0)
+ eventmachine (1.2.7)
+ execjs (2.8.1)
+ faraday (2.5.2)
+ faraday-net_http (>= 2.0, < 3.1)
+ ruby2_keywords (>= 0.0.4)
+ faraday-net_http (3.0.0)
+ ffi (1.15.5)
+ forwardable-extended (2.6.0)
+ gemoji (3.0.1)
+ github-pages (227)
+ github-pages-health-check (= 1.17.9)
+ jekyll (= 3.9.2)
+ jekyll-avatar (= 0.7.0)
+ jekyll-coffeescript (= 1.1.1)
+ jekyll-commonmark-ghpages (= 0.2.0)
+ jekyll-default-layout (= 0.1.4)
+ jekyll-feed (= 0.15.1)
+ jekyll-gist (= 1.5.0)
+ jekyll-github-metadata (= 2.13.0)
+ jekyll-include-cache (= 0.2.1)
+ jekyll-mentions (= 1.6.0)
+ jekyll-optional-front-matter (= 0.3.2)
+ jekyll-paginate (= 1.1.0)
+ jekyll-readme-index (= 0.3.0)
+ jekyll-redirect-from (= 0.16.0)
+ jekyll-relative-links (= 0.6.1)
+ jekyll-remote-theme (= 0.4.3)
+ jekyll-sass-converter (= 1.5.2)
+ jekyll-seo-tag (= 2.8.0)
+ jekyll-sitemap (= 1.4.0)
+ jekyll-swiss (= 1.0.0)
+ jekyll-theme-architect (= 0.2.0)
+ jekyll-theme-cayman (= 0.2.0)
+ jekyll-theme-dinky (= 0.2.0)
+ jekyll-theme-hacker (= 0.2.0)
+ jekyll-theme-leap-day (= 0.2.0)
+ jekyll-theme-merlot (= 0.2.0)
+ jekyll-theme-midnight (= 0.2.0)
+ jekyll-theme-minimal (= 0.2.0)
+ jekyll-theme-modernist (= 0.2.0)
+ jekyll-theme-primer (= 0.6.0)
+ jekyll-theme-slate (= 0.2.0)
+ jekyll-theme-tactile (= 0.2.0)
+ jekyll-theme-time-machine (= 0.2.0)
+ jekyll-titles-from-headings (= 0.5.3)
+ jemoji (= 0.12.0)
+ kramdown (= 2.3.2)
+ kramdown-parser-gfm (= 1.1.0)
+ liquid (= 4.0.3)
+ mercenary (~> 0.3)
+ minima (= 2.5.1)
+ nokogiri (>= 1.13.6, < 2.0)
+ rouge (= 3.26.0)
+ terminal-table (~> 1.4)
+ github-pages-health-check (1.17.9)
+ addressable (~> 2.3)
+ dnsruby (~> 1.60)
+ octokit (~> 4.0)
+ public_suffix (>= 3.0, < 5.0)
+ typhoeus (~> 1.3)
+ html-pipeline (2.14.2)
+ activesupport (>= 2)
+ nokogiri (>= 1.4)
+ http_parser.rb (0.8.0)
+ i18n (0.9.5)
+ concurrent-ruby (~> 1.0)
+ jekyll (3.9.2)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 0.7)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 2.0)
+ kramdown (>= 1.17, < 3)
+ liquid (~> 4.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (>= 1.7, < 4)
+ safe_yaml (~> 1.0)
+ jekyll-avatar (0.7.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-coffeescript (1.1.1)
+ coffee-script (~> 2.2)
+ coffee-script-source (~> 1.11.1)
+ jekyll-commonmark (1.4.0)
+ commonmarker (~> 0.22)
+ jekyll-commonmark-ghpages (0.2.0)
+ commonmarker (~> 0.23.4)
+ jekyll (~> 3.9.0)
+ jekyll-commonmark (~> 1.4.0)
+ rouge (>= 2.0, < 4.0)
+ jekyll-default-layout (0.1.4)
+ jekyll (~> 3.0)
+ jekyll-feed (0.15.1)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-gist (1.5.0)
+ octokit (~> 4.2)
+ jekyll-github-metadata (2.13.0)
+ jekyll (>= 3.4, < 5.0)
+ octokit (~> 4.0, != 4.4.0)
+ jekyll-include-cache (0.2.1)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-mentions (1.6.0)
+ html-pipeline (~> 2.3)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-optional-front-matter (0.3.2)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-paginate (1.1.0)
+ jekyll-readme-index (0.3.0)
+ jekyll (>= 3.0, < 5.0)
+ jekyll-redirect-from (0.16.0)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-relative-links (0.6.1)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-remote-theme (0.4.3)
+ addressable (~> 2.0)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
+ rubyzip (>= 1.3.0, < 3.0)
+ jekyll-sass-converter (1.5.2)
+ sass (~> 3.4)
+ jekyll-seo-tag (2.8.0)
+ jekyll (>= 3.8, < 5.0)
+ jekyll-sitemap (1.4.0)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-swiss (1.0.0)
+ jekyll-theme-architect (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-cayman (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-dinky (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-hacker (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-leap-day (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-merlot (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-midnight (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-minimal (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-modernist (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-primer (0.6.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-github-metadata (~> 2.9)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-slate (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-tactile (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-theme-time-machine (0.2.0)
+ jekyll (> 3.5, < 5.0)
+ jekyll-seo-tag (~> 2.0)
+ jekyll-titles-from-headings (0.5.3)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ jemoji (0.12.0)
+ gemoji (~> 3.0)
+ html-pipeline (~> 2.2)
+ jekyll (>= 3.0, < 5.0)
+ kramdown (2.3.2)
+ rexml
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.7.1)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.3.6)
+ minima (2.5.1)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ minitest (5.16.3)
+ nokogiri (1.13.8-x86_64-linux)
+ racc (~> 1.4)
+ octokit (4.25.1)
+ faraday (>= 1, < 3)
+ sawyer (~> 0.9)
+ pathutil (0.16.2)
+ forwardable-extended (>= 2.6)
+ public_suffix (4.0.7)
+ racc (1.6.0)
+ rb-fsevent (0.11.1)
+ rb-inotify (0.10.1)
+ ffi (>= 1.0)
+ rexml (3.2.5)
+ rouge (3.26.0)
+ ruby2_keywords (0.0.5)
+ rubyzip (2.3.2)
+ safe_yaml (1.0.5)
+ sass (3.7.4)
+ sass-listen (~> 4.0.0)
+ sass-listen (4.0.0)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ sawyer (0.9.2)
+ addressable (>= 2.3.5)
+ faraday (>= 0.17.3, < 3)
+ simpleidn (0.2.1)
+ unf (~> 0.1.4)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ thread_safe (0.3.6)
+ typhoeus (1.4.0)
+ ethon (>= 0.9.0)
+ tzinfo (1.2.10)
+ thread_safe (~> 0.1)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.8.2)
+ unicode-display_width (1.8.0)
+ webrick (1.7.0)
+ zeitwerk (2.6.0)
+
+PLATFORMS
+ x86_64-linux
+
+DEPENDENCIES
+ github-pages
+ http_parser.rb (~> 0.6.0)
+ jekyll-commonmark-ghpages
+ jekyll-feed (~> 0.12)
+ jekyll-sitemap
+ jekyll-titles-from-headings
+ kramdown (~> 2.3)
+ minima
+ rouge (~> 3.26)
+ tzinfo (~> 1.2)
+ tzinfo-data
+ wdm (~> 0.1.1)
+ webrick
+
+BUNDLED WITH
+ 2.3.11
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..bb32799
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Moosync
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
index 008ad65..2fa12d0 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-[](#contributors-)
+[](#contributors-)
## Contributors ✨
@@ -15,6 +15,13 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
BOBBY KUMAR 🎨 💻
shreya40 🎨 💻
Garvitraj Pandey 🎨
+ Jayanta Pandit 🖋 📖
+ Abhimanyu Gabhrani 💻
+ Chirag Mathur 💻
+
+
+ Sujal Samai 💻
+ Kamran Ansari 💻
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..8638006
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,67 @@
+# Welcome to Jekyll!
+#
+# This config file is meant for settings that affect your whole blog, values
+# which you are expected to set up once and rarely edit after that. If you find
+# yourself editing this file very often, consider using Jekyll's data files
+# feature for the data you need to update frequently.
+#
+# For technical reasons, this file is *NOT* reloaded automatically when you use
+# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
+#
+# If you need help with YAML syntax, here are some quick references for you:
+# https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml
+# https://learnxinyminutes.com/docs/yaml/
+#
+# Site settings
+# These are used to personalize your new site. If you look in the HTML files,
+# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
+# You can create any custom variable you would like, and they will be accessible
+# in the templates via {{ site.myvariable }}.
+
+title: Moosync
+email: support@moosync.app
+description: >- # this means to ignore newlines until "baseurl:"
+ Moosync is an Electron based simple music player with a primary goal to provide a clean and easy interface.
+ Through Moosync you can easily listen songs from your desktop or through Youtube and Spotify.
+url: "https://moosync.app" # the base hostname & protocol for your site, e.g. http://example.com
+github_username: ovenoboyo
+
+# Build settings
+theme: minima
+plugins:
+ - jekyll-feed
+ - jekyll-sitemap
+ - jekyll-titles-from-headings
+
+markdown: CommonMarkGhPages
+highlighter: rouge
+
+titles_from_headings:
+ enabled: true
+ strip_title: true
+ collections: false
+
+commonmark:
+ options: ["UNSAFE", "SMART", "FOOTNOTES"]
+ extensions: ["strikethrough", "autolink", "table", "tagfilter"]
+
+include: [".well-known"]
+# Exclude from processing.
+# The following items will not be processed, by default.
+# Any item listed under the `exclude:` key here will be automatically added to
+# the internal "default list".
+#
+# Excluded items can be processed by explicitly listing the directories or
+# their entries' file path in the `include:` list.
+#
+# exclude:
+# - .sass-cache/
+# - .jekyll-cache/
+# - gemfiles/
+# - Gemfile
+# - Gemfile.lock
+# - node_modules/
+# - vendor/bundle/
+# - vendor/cache/
+# - vendor/gems/
+# - vendor/ruby/
diff --git a/_data/nav.yml b/_data/nav.yml
new file mode 100644
index 0000000..5a2d8f0
--- /dev/null
+++ b/_data/nav.yml
@@ -0,0 +1,63 @@
+toc:
+ - title: Welcome to Moosync
+ url: /wiki/
+ subHeadings:
+ - title: Features
+ url: "#features"
+ - title: Download
+ url: "#download-latest-release"
+ - title: 3rd party integrations
+ url: /wiki/integrations
+ subHeadings:
+ - title: Enabling Spotify integration
+ url: "#enabling-spotify-integration"
+ - title: Enabling Youtube integration
+ url: "#enabling-youtube-integration"
+ - title: Discord integration
+ url: "#discord-integration"
+ - title: Extensions
+ url: /wiki/Extensions
+ subHeadings:
+ - title: Creating an extension
+ url: "/wiki/Develop-Extensions"
+ subHeadings:
+ - title: Getting started
+ url: "#getting-started"
+ - title: Create a new project
+ url: "#create-a-new-project"
+ - title: Creating extension descriptor
+ url: "#creating-extension-descriptor"
+ - title: Writing code
+ url: "#writing-code-for-extension"
+ - title: API examples
+ url: /wiki/Extension-API
+ subHeadings:
+ - title: Lifecycle hooks
+ url: "#lifecycle-hooks"
+ - title: Methods
+ url: "#methods"
+ - title: Events
+ url: "#events"
+ - title: Documentation and Examples
+ url: "#documentation"
+ - title: Packaging
+ url: /wiki/Packaging-Extensions
+ - title: Publishing
+ url: /wiki/Publishing-Extensions
+ - title: Building from source
+ url: /wiki/building-from-source
+ subHeadings:
+ - title: Requirements
+ url: "#requirements"
+ - title: Setting up the project
+ url: "#setting-up-the-project"
+ - title: Downloading dependencies
+ url: "#downloading-dependencies"
+ - title: Setting up environment variables
+ url: "#setting-up-environment-variables"
+ - title: Post installation
+ url: "#post-installation"
+ - title: Running in development environment
+ url: "#running-in-development-environment"
+ - title: Building a production build
+ url: "#building-a-production-build"
diff --git a/_includes/custom-head.html b/_includes/custom-head.html
new file mode 100644
index 0000000..888a29e
--- /dev/null
+++ b/_includes/custom-head.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 0000000..c883cdf
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,68 @@
+
\ No newline at end of file
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..a8d0377
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,10 @@
+
+
+
+
+ {%- seo -%}
+ {%- feed_meta -%} {%- if jekyll.environment ==
+ 'production' and
+ site.google_analytics -%} {%- include google-analytics.html -%} {%- endif -%}
+ {%- include custom-head.html -%}
+
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..8ab9358
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,53 @@
+
+ {%- assign default_paths = site.pages | map: "path" -%} {%- assign page_paths
+ = site.header_pages | default: default_paths -%} {%- assign titles_size =
+ site.pages | map: 'title' | join: '' | size -%}
+
+
+
+
+
+ moosync
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..a121c78
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,128 @@
+
+
+
+{%- include head.html -%}
+
+
+
+ {%- include header.html -%}
+
+
+
+
+
+
+
+ {%- for nav in site.data.nav.toc -%}
+ {%- if nav.title -%}
+
+ {{
+ nav.title | escape }}
+ {%- if nav.subHeadings -%}
+
+
+ {%- for sub in nav.subHeadings -%}
+
+ {% if sub.url contains "/wiki/" %}
+
+ {{
+ sub.title | escape }}
+ {%- if sub.subHeadings -%}
+
+ {%- endif -%}
+
+
+ {% else %}
+ {% assign subUrl = nav.url | append: sub.url %}
+
+ {{
+ sub.title | escape }}
+
+ {% endif %}
+ {%- endfor -%}
+
+ {%- endif -%}
+
+ {%- endif -%}
+ {%- endfor -%}
+
+
+
+
+
+
+
+ {{ content }}
+
+
+
+
+
+ {%- include footer.html -%}
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/css/index.css b/assets/css/index.css
new file mode 100644
index 0000000..f91b24a
--- /dev/null
+++ b/assets/css/index.css
@@ -0,0 +1,1440 @@
+@import url("https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@200;400;500;700;800&display=swap");
+
+:root {
+ --green-primary: #65cb88;
+ --green-secondary: #80ed99;
+}
+
+* {
+ margin: 0;
+ padding: 0;
+ text-decoration: none;
+ font-family: "Poppins", sans-serif;
+ scroll-behavior: smooth;
+ font-family: "Lexend Deca", sans-serif;
+}
+::selection {
+ color: var(--green-primary);
+ background: #141414;
+}
+body {
+ overflow: overlay;
+ transition: color 0.2s ease-in;
+ background-color: #212121 !important;
+}
+
+nav > * a,
+nav > * a:hover,
+footer > * a,
+footer > * a:hover {
+ color: white !important;
+ text-decoration: none;
+}
+
+footer > * ul {
+ margin: 0;
+}
+
+a:hover {
+ color: white;
+}
+
+.main {
+ min-height: 100vh;
+ display: block;
+ color: white !important;
+}
+
+.nav__bar {
+ padding: 0.625rem 2rem;
+ background-color: #212121;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ position: sticky;
+ top: 0;
+ height: 56px;
+ background: rgba(33, 33, 33, 0.45);
+ box-shadow: 0 8px 32px 0 rgba(33, 33, 33, 0.37);
+ backdrop-filter: blur(15px);
+ -webkit-backdrop-filter: blur(15px);
+ z-index: 999;
+}
+
+.nav__bar > * a:hover {
+ color: var(--green-primary) !important;
+}
+.login__navbar {
+ background-color: none;
+ background-image: linear-gradient(
+ 180deg,
+ rgba(40, 40, 40, 0.3),
+ rgba(86, 86, 86, 0.3)
+ );
+}
+
+.title__logo {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+}
+
+.logo__img {
+ width: 3.5rem;
+ margin-right: 0.8rem;
+ object-fit: cover;
+}
+
+.title {
+ font-family: "Lexend Deca", sans-serif;
+ font-size: 1.5rem;
+ color: white;
+}
+
+.navbar__buttons {
+ width: 600px;
+ background-color: none;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.navigation__buttons {
+ background-color: inherit;
+ font-family: "Lexend Deca", sans-serif;
+ font-size: 1rem;
+ color: #5bb67a;
+ border: none;
+ cursor: pointer;
+ transition: transform 250ms ease-in-out;
+}
+
+/* .navigation__buttons::after {
+ display: block;
+ content: "";
+ border-bottom: 2px solid #5bb67a;
+ transform: scaleX(0);
+} */
+.navigation__buttons a {
+ color: white;
+}
+.navigation__buttons {
+ width: fit-content;
+ height: 50px;
+ padding: 0%;
+ transition: background-position-x 0.9s linear;
+ text-align: center;
+}
+
+.navigation__buttons:hover {
+ background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB3aWR0aD0iMzkwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDM5MCA1MCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzkwIDUwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNWJiNjdhIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIiBkPSJNMCw0Ny41ODVjMCwwLDk3LjUsMCwxMzAsMAoJYzEzLjc1LDAsMjguNzQtMzguNzc4LDQ2LjE2OC0xOS40MTZDMTkyLjY2OSw0Ni41LDI0My42MDMsNDcuNTg1LDI2MCw0Ny41ODVjMzEuODIxLDAsMTMwLDAsMTMwLDAiLz4KPC9zdmc+Cg==");
+ -webkit-animation: line 2s;
+ animation: line 2s;
+}
+.navigation__buttons a:hover {
+ color: #5bb67a;
+}
+
+@-webkit-keyframes line {
+ 0% {
+ background-position-x: 390px;
+ }
+}
+
+@keyframes line {
+ 0% {
+ background-position-x: 390px;
+ }
+}
+
+#download__btn {
+ background-color: #5bb67a;
+ padding: 0.5rem 1.25rem;
+ color: black;
+ border-radius: 10px;
+}
+
+#download__btn:hover {
+ border-bottom: none;
+ transform: scale(1.1);
+ transition: all 0.2s;
+}
+
+#download__btn:focus {
+ border-bottom: none;
+}
+
+/* ------------------------------------------------------------------ */
+
+.moosync__navbar-mobileScreen {
+ display: none;
+ transition: 0.5s ease;
+}
+
+#hamburger-open {
+ width: 30px;
+ height: 30px;
+}
+
+.moosync__navbar-mobileScreen-overlayClose {
+ display: none;
+}
+
+.moosync__navbar-mobileScreen-overlayOpen {
+ width: 100%;
+ height: 100vh;
+ position: fixed;
+ background-color: var(--color-primary-black);
+ flex-direction: column;
+ top: 0;
+ left: 0;
+ z-index: 999;
+}
+
+.moosync__navbar-mobileScreen-links {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ list-style-type: none;
+}
+
+.moosync__navbar-mobileScreen-links li {
+ margin-top: 2rem;
+ font-size: 2rem;
+ color: var(--color-white);
+ text-align: center;
+ cursor: pointer;
+}
+
+.moosync__navbar-mobileScreen-links li button {
+ margin-top: 3rem;
+ font-size: 2rem;
+}
+
+.moosync__navbar-mobileScreen-links li:hover {
+ color: #5bb67a;
+}
+
+#hamburger-close {
+ width: 30px;
+ height: 30px;
+ position: absolute;
+ top: 1.5rem;
+ right: 3rem;
+ cursor: pointer;
+}
+
+/* ------------------------------------------------------------------ */
+
+.moosync__navbar-mobileScreen {
+ display: none;
+}
+
+#hamburger-open {
+ width: 30px;
+ height: 30px;
+}
+
+.moosync__navbar-mobileScreen-overlayClose {
+ display: none;
+}
+
+.moosync__navbar-mobileScreen-overlayOpen {
+ width: 100%;
+ height: 100vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: fixed;
+ background-color: #141414;
+ flex-direction: column;
+ top: 0;
+ left: 0;
+ transition: 0.5s ease;
+ z-index: 999;
+}
+
+.moosync__navbar-mobileScreen-links {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ list-style-type: none;
+}
+
+.moosync__navbar-mobileScreen-links li {
+ margin-top: 2rem;
+ font-size: 2rem;
+ color: var(--color-white);
+ text-align: center;
+ cursor: pointer;
+}
+
+.moosync__navbar-mobileScreen-links li:hover {
+ color: var(--color-text-green);
+}
+
+#hamburger-close {
+ width: 30px;
+ height: 30px;
+ position: absolute;
+ top: 1.5rem;
+ right: 3rem;
+ cursor: pointer;
+}
+
+.slide__bottom {
+ -webkit-animation: slide-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
+ both;
+ animation: slide-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
+}
+
+@-webkit-keyframes slide-bottom {
+ 0% {
+ -webkit-transform: translateY(-25%);
+ transform: translateY(-25%);
+ }
+
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+
+@keyframes slide-bottom {
+ 0% {
+ -webkit-transform: translateY(-25%);
+ transform: translateY(-25%);
+ }
+
+ 100% {
+ -webkit-transform: translateY(0);
+ transform: translateY(0);
+ }
+}
+
+/* ------------------------------------------------------------------ */
+
+.heading__page {
+ width: 100%;
+ padding: 3.25rem 0 3.125rem 0;
+ background-color: #212121;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-family: "Lexend Deca", sans-serif;
+}
+
+#login__heading__page {
+ height: 90vh;
+ justify-content: flex-start;
+}
+
+.info__text__1 {
+ text-transform: uppercase;
+ font-size: 1rem;
+ letter-spacing: 0.1rem;
+ color: white;
+}
+
+#heading__info__text__1 {
+ color: var(--green-primary);
+}
+
+.title__line {
+ width: 75%;
+ font-size: 5.5rem;
+ font-weight: 600;
+ color: white;
+ text-align: center;
+ line-height: 6.5rem;
+}
+
+#login__title__line {
+ width: 500px;
+ margin-top: 7.5rem;
+ font-size: 1.75rem;
+ line-height: normal;
+ font-weight: normal;
+}
+
+.circle__div__container {
+ width: 100%;
+ margin: 5rem 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-image: url("../img/headerbg.svg");
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
+}
+
+.circle__div {
+ margin: 2.5rem 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 0.145rem dashed #65cb88;
+ border-radius: 50%;
+}
+
+#circle__div__1 {
+ width: 50vw;
+ height: 50vw;
+ z-index: 3;
+}
+
+#music__person__img {
+ width: 45vw;
+}
+
+.music__person__img__container {
+ position: absolute;
+ z-index: 5;
+}
+
+#circle__div__2 {
+ width: 75%;
+ height: 75%;
+}
+
+#circle__div__3 {
+ padding: 4vw;
+ z-index: 10;
+ position: absolute;
+}
+
+.playbutton__container {
+ position: relative;
+ cursor: pointer;
+ transition: all 0.2s;
+}
+
+.play__button__img {
+ display: block;
+ width: 165px;
+}
+
+.play__button__icon {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: auto;
+ margin-bottom: auto;
+ width: 30px;
+}
+
+.playbutton__container:hover {
+ transform: scale(1.1);
+}
+
+.buttons {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-evenly;
+}
+
+.link__buttons {
+ padding: 10px 20px;
+ margin: 0 2.5rem;
+ background-color: #65cb88;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-family: "Lexend Deca", sans-serif;
+ font-size: 1.25rem;
+ color: black;
+ border: none;
+ border-radius: 10px;
+ cursor: pointer;
+ transition: all 0.2s;
+}
+
+.link__buttons:hover {
+ transform: scale(1.1);
+ background-color: #4e9f6a;
+}
+
+.icons {
+ font-size: 2rem;
+ margin-right: 10px;
+ object-fit: cover;
+}
+
+#discord__icon {
+ height: 1.5rem;
+ padding: 0.5rem 0;
+}
+
+.moosync__usage {
+ padding: 5rem 0;
+ background-color: #141414;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.moosync__section__heading {
+ margin-bottom: 2.5rem;
+ display: block;
+ text-align: center;
+ font-size: 2rem;
+ color: white;
+}
+
+.usage__icons__text {
+ width: 75%;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-evenly;
+}
+
+#usage__icons__text__mid {
+ width: 80%;
+ margin-bottom: 2rem;
+ justify-content: space-between;
+}
+
+#usage__mid__img {
+ width: 40vw;
+ object-fit: cover;
+}
+
+.usage {
+ height: 14rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ color: white;
+ padding: 10px;
+}
+.usage:hover {
+ box-sizing: border-box;
+ border: #4dc4ab solid 1px;
+ border-radius: 15px;
+ background-color: #212121;
+}
+
+.usage__icons {
+ width: 5rem;
+ padding: 8px;
+ object-fit: cover;
+}
+/* .usage__icons:hover{
+ border-radius: 15px;
+ border: solid #4e9f6a 1px;
+ transition: all ease-in 5ms;
+} */
+
+.info__text__4 {
+ width: 10rem;
+ padding: 1rem 0;
+ text-align: center;
+ cursor: default;
+}
+
+/* Video Section Style */
+
+.moosync__video {
+ padding: 5rem 0;
+ background-color: #141414;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+}
+
+#video__info__text__1 {
+ width: 75%;
+ text-align: center;
+ text-transform: none;
+}
+
+.moosync__video__player {
+ width: 75%;
+ height: 50%;
+ margin: 5rem 0;
+ border: none;
+ border-radius: 1rem;
+}
+
+/* Video Section Style */
+
+.moosync__numbers {
+ color: black;
+ padding: 5rem 0;
+ background-color: #212121;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.moosync__countbox__container {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ flex-wrap: wrap;
+}
+
+.count__box {
+ width: 15rem;
+ height: 15rem;
+ margin-bottom: 1rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background-image: url("../img/hexagon.svg");
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center;
+ transition: all 0.2s;
+}
+
+.count__box > p:first-child {
+ font-size: 1.9rem;
+ font-weight: 500;
+}
+
+.count__box > p:last-child {
+ padding: 0.25rem 0;
+ font-size: 0.8rem;
+}
+
+.count__box:hover {
+ cursor: pointer;
+ color: #faf3e3;
+ width: 16rem;
+ margin-bottom: 0;
+ background-image: url("../img/hexagon-hover.svg");
+ height: 16rem;
+ /* transition: all 0.2s; */
+ transform: scale(1.04);
+}
+
+.count__box > #moosync__numbers__button {
+ margin-top: 2rem;
+}
+
+.footer__section {
+ padding: 3rem 2.5rem 1rem 2.5rem;
+ background-color: #141414;
+ display: flex;
+ flex-direction: column;
+ align-items: baseline;
+ justify-content: space-between;
+}
+
+.footer__container {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ align-items: initial;
+ justify-content: space-between;
+}
+
+#footer__logo {
+ padding: 0;
+ margin-right: 1rem;
+}
+
+.footer__content {
+ width: 100vw;
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: baseline;
+ font-family: "Lexend Deca", sans-serif;
+}
+
+#left__footer__content {
+ margin-right: 15px;
+}
+
+#right__footer__content {
+ width: fit-content;
+}
+
+#right__footer__content__wrapper {
+ width: 100vw;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ /* margin-left: 15px; */
+}
+
+.info__text__2 {
+ padding: 2.5rem 0;
+ display: block;
+ text-align: start;
+ font-size: 1.75rem;
+ color: var(--green-secondary);
+}
+
+.info__text__3 {
+ padding-bottom: 1rem;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ font-family: "Lexend Deca", sans-serif;
+ font-weight: 200;
+ font-size: 1.3rem;
+ color: white;
+ border-bottom: 2px solid white;
+ cursor: pointer;
+ transition: all 0.2s;
+}
+
+.info__text__3:hover #link__icon {
+ transform: scale(1.25);
+}
+
+#link__icon {
+ height: 0.75rem;
+ width: 0.75rem;
+ margin-left: 15px;
+ object-fit: cover;
+}
+
+#footer__info__text__1 {
+ padding: 0;
+ color: white;
+}
+
+.subscribe {
+ padding: 2.5rem 0;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+}
+
+.email__input {
+ width: 100%;
+ padding: 0.75rem 1.25rem;
+ font-family: "Lexend Deca", sans-serif;
+ font-size: 1rem;
+ border: none;
+ border-radius: 5px;
+}
+
+.email__input:focus {
+ outline: none;
+}
+
+#subscribe__button {
+ font-size: 1.25rem;
+ padding: 0.5rem 1rem;
+ border-radius: 5px;
+}
+
+.general__info__links {
+ width: fit-content;
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ justify-content: space-between;
+}
+
+.footer__general {
+ display: block;
+ margin-right: 5rem;
+}
+
+#right__footer__general {
+ width: fit-content;
+ margin: 0;
+}
+
+#footer__info__text__heading {
+ color: white;
+ font-weight: 700;
+}
+
+.general__info__link__list {
+ margin-top: 1rem;
+}
+
+.list__items {
+ font-size: 1rem;
+ font-family: "Lexend Deca", sans-serif;
+ font-weight: 200;
+ color: white;
+ line-height: 2rem;
+ cursor: pointer;
+}
+
+.list-items-link:hover {
+ color: #80ed99 !important;
+}
+
+#notice {
+ width: 60%;
+ margin: 1rem 0;
+ align-self: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: 0.75rem;
+ text-align: center;
+ color: #444444;
+}
+
+#notice__text__container {
+ margin-top: 1rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+}
+
+#copyright__text {
+ width: 100%;
+ display: block;
+ text-align: center;
+ font-family: "Lexend Deca", sans-serif;
+ font-weight: 300;
+ color: white;
+}
+
+@media (max-width: 900px) {
+ .title__line {
+ width: 90%;
+ font-size: 10vw;
+ line-height: normal;
+ }
+
+ #circle__div__1 {
+ width: 60vw;
+ height: 60vw;
+ }
+
+ #music__person__img {
+ width: 63vw;
+ }
+
+ .moosync__video__player {
+ width: 90%;
+ height: 50%;
+ }
+
+ #usage__icons__text__mid {
+ flex-direction: column;
+ }
+
+ #usage__mid {
+ margin: 2rem 0;
+ }
+
+ #usage__mid__img {
+ width: 90vw;
+ }
+
+ .subscribe {
+ width: max-content;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: center;
+ }
+
+ #subscribe__button {
+ margin: 0.5rem 0 0 0;
+ }
+
+ .footer__general {
+ margin-right: 3rem;
+ }
+}
+
+@media (max-width: 800px) {
+ .nav__bar {
+ position: relative;
+ top: auto;
+ }
+
+ .title__logo {
+ margin: 1rem 0;
+ }
+
+ .navigation__buttons {
+ margin: 5px 0;
+ }
+
+ #download__btn {
+ padding: 0.25rem 0.5rem;
+ border-radius: 5px;
+ }
+
+ .navbar__buttons {
+ display: none;
+ }
+
+ .moosync__navbar-mobileScreen {
+ display: block;
+ }
+
+ .footer__container {
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .footer__content {
+ width: 60vw;
+ align-items: center;
+ justify-content: center;
+ }
+
+ #footer__info__text__1 {
+ text-align: center;
+ }
+
+ #footer__info__text__2 {
+ text-align: center;
+ }
+
+ .subscribe {
+ width: 100%;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .email__input {
+ width: 250px;
+ }
+
+ #subscribe__button {
+ width: 290px;
+ }
+
+ .general__info__links {
+ width: 100%;
+ justify-content: space-evenly;
+ }
+
+ .footer__general {
+ padding: 0 1rem;
+ align-items: center;
+ justify-content: space-between;
+ text-align: center;
+ }
+
+ #left__footer__content {
+ margin-bottom: 5rem;
+ margin-right: 0;
+ }
+
+ #right__footer__content {
+ margin-left: 0;
+ }
+
+ #right__footer__content__wrapper {
+ width: fit-content;
+ }
+
+ #notice {
+ width: 80vw;
+ }
+}
+
+@media (max-width: 550px) {
+ .navbar__buttons {
+ width: auto;
+ flex-direction: column;
+ justify-content: center;
+ }
+
+ .title__logo {
+ flex-direction: column;
+ }
+
+ #download__btn {
+ padding: 0.25rem 0.5rem;
+ margin-top: 10px;
+ border-radius: 5px;
+ }
+
+ #heading__info__text__1 {
+ width: 80%;
+ text-align: center;
+ font-size: 0.75rem;
+ margin-bottom: 10px;
+ }
+
+ #login__title__line {
+ width: 90%;
+ margin-top: 2.5rem;
+ }
+
+ .circle__div__container {
+ margin: 2rem 0;
+ }
+
+ #circle__div__1 {
+ width: 75vw;
+ height: 75vw;
+ }
+
+ #music__person__img {
+ width: 78.75vw;
+ }
+
+ #playButton {
+ width: 20vw;
+ }
+
+ .link__buttons {
+ font-size: 5.5vw;
+ margin-bottom: 2rem;
+ }
+
+ .buttons {
+ flex-direction: column;
+ }
+
+ /* .moosync__video__player {
+ margin: 2rem;
+ } */
+
+ .moosync__section__heading {
+ width: 90vw;
+ }
+
+ /* .usage__icons__text {
+ flex-direction: column;
+ } */
+
+ .usage {
+ margin: 2rem 0;
+ }
+
+ /* .usage__icons {
+ width: 25vw;
+ } */
+
+ .list__items {
+ line-height: normal;
+ margin-bottom: 1rem;
+ }
+
+ .email__input {
+ padding: 0.5rem 0.75rem;
+ }
+
+ #subscribe__button {
+ width: 275px;
+ font-size: 1rem;
+ padding: 0.5rem 0.5rem;
+ }
+}
+
+@media (max-width: 500px) {
+ #footer__info__text__2 {
+ font-size: 1.5rem;
+ }
+}
+
+@media (max-width: 450px) {
+ .info__text__3 {
+ font-size: 0.9rem;
+ }
+
+ #link__icon {
+ width: 0.5rem;
+ height: 0.5rem;
+ }
+}
+
+@media (max-width: 350px) {
+ .email__input {
+ width: 75vw;
+ }
+
+ #subscribe__button {
+ width: 82vw;
+ }
+
+ .general__info__links {
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .footer__general {
+ margin: 0;
+ }
+
+ #right__footer__general {
+ margin-top: 2rem;
+ }
+
+ #notice {
+ width: 90vw;
+ }
+}
+
+@media (max-width: 350px) {
+ .email__input {
+ width: 75vw;
+ }
+}
+
+.all_counts {
+ padding: 5rem 0;
+ background-color: #212121;
+}
+
+.count_matters_boxes {
+ padding-left: 12rem;
+ display: flex;
+ flex-direction: row;
+}
+
+.countimages {
+ height: 283px;
+ width: 283px;
+}
+
+.other__platform {
+ color: rgb(153, 153, 153);
+ margin-top: 15px;
+ cursor: pointer;
+ user-select: none;
+}
+
+[hidden] {
+ display: none !important;
+}
+
+.modal {
+ display: none;
+ position: fixed;
+ z-index: 1;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ overflow: hidden;
+ background-color: rgba(0, 0, 0, 0.7);
+ z-index: 1000;
+}
+
+.modal-content {
+ background-color: #141414;
+ margin: 15% auto;
+ border-radius: 16px;
+ width: 60%;
+ font-family: "Lexend Deca";
+ font-weight: 500;
+ font-size: 38px;
+ text-align: center;
+ color: #ffffff;
+}
+
+.modal-content-text {
+ padding: 100px 20px 100px 20px;
+}
+
+#login-modal-platform-text-pre,
+#login-modal-platform-text-post {
+ text-transform: capitalize;
+}
+
+.close {
+ color: #aaa;
+ float: right;
+ font-size: 28px;
+ font-weight: bold;
+ padding-right: 20px;
+ padding-top: 15px;
+ cursor: pointer;
+}
+
+.close:hover,
+.close:focus {
+ text-decoration: none;
+}
+
+.login__button {
+ margin: auto;
+ margin-top: 30px;
+ padding: 15px;
+}
+::-webkit-scrollbar {
+ overflow: scroll;
+ padding-right: 10px;
+ width: 6px;
+}
+::-webkit-scrollbar-thumb {
+ border-radius: 15px;
+ background-clip: padding-box;
+ border: 5px solid var(--green-primary);
+ box-shadow: inset 0 0 0 1px;
+ min-height: 2px;
+ background: var(--green-primary);
+}
+
+.icon-linux,
+.icon-win,
+.icon-mac {
+ width: 24px;
+ height: 24px;
+ padding-right: 15px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.icon-linux::before,
+.icon-win::before,
+.icon-mac::before {
+ content: "";
+ background-size: cover;
+ position: absolute;
+ width: 24px;
+ height: 24px;
+}
+
+.icon-linux::before {
+ background: url("/assets/img/codicon_terminal-linux.svg");
+}
+
+.icon-win::before {
+ background: url("/assets/img/bi_windows.svg");
+}
+
+.icon-mac::before {
+ background: url("/assets/img/bi_apple.svg");
+}
+
+.select__box {
+ display: flex;
+ flex-direction: column;
+ overflow: auto;
+}
+
+.selected {
+ display: flex;
+ background: #65cb88;
+ border-radius: 8px;
+ margin-bottom: 8px;
+ color: black;
+ position: relative;
+ user-select: none;
+}
+
+.select__box .options__container {
+ background-color: #141414;
+ color: #fff;
+ max-height: 0;
+ width: 100%;
+ opacity: 0;
+ transition: all 0.4s;
+ border-radius: 8px;
+ overflow: hidden;
+ order: 1;
+}
+
+.select__box .option:hover {
+ color: black;
+}
+
+.select__box .options__container.options__active {
+ max-height: 240px;
+ opacity: 1;
+ overflow-y: auto;
+}
+
+.select__box .options__container.options__active + .selected::after {
+ transform: rotateX(180deg);
+ top: -6px;
+}
+
+.select__box .option,
+.selected {
+ padding: 12px 24px;
+ cursor: pointer;
+}
+
+.select__box .option:hover,
+.selected:hover {
+ background-color: #65cb88;
+}
+
+.download__text {
+ padding-top: 10px;
+ padding-bottom: 10px;
+ text-wrap: nowrap;
+}
+
+.arrow__down {
+ margin-left: auto;
+ padding-left: 13px;
+ object-fit: none;
+}
+
+.version__text {
+ width: 100%;
+ text-align: center;
+}
+
+.sidenav {
+ height: calc(100vh - (56px + 0.625rem * 2) - 20px);
+ top: calc(56px + 0.625rem * 2);
+ width: 300px;
+ position: sticky;
+ z-index: 1;
+ left: 0;
+ background-color: #141414;
+ overflow-x: hidden;
+ padding-top: 20px;
+}
+
+.sidenav a {
+ padding: 6px 8px 6px 16px;
+ text-decoration: none;
+ font-size: 16px;
+ color: #565656;
+ display: block;
+}
+
+a.active {
+ color: white !important;
+}
+
+.sidenav a:hover {
+ color: #f1f1f1;
+}
+
+.page-content {
+ padding: 0;
+ color: white !important;
+}
+
+.content-container {
+ display: flex;
+}
+
+.wrapper {
+ padding-top: 30px;
+ width: calc(1000px - 30px * 2);
+ max-width: calc(1000px - 30px * 2);
+}
+
+.highlight {
+ background: #151515 !important;
+}
+
+pre,
+code {
+ background: #151515 !important;
+ border: none;
+}
+
+h1,
+h2,
+h3,
+figure {
+ margin-top: 50px;
+ padding-bottom: 0.2em;
+ border-bottom: 1px solid #464646;
+}
+
+h4,
+h5,
+h5 {
+ margin-top: 30px;
+ border-bottom: 1px solid #464646;
+ padding-bottom: 0.2em;
+}
+
+span.k {
+ color: #b87eb4;
+}
+
+span.kd,
+span.kr {
+ color: #4f85b2;
+}
+
+span.nx {
+ color: #4dc4ab;
+}
+
+span.nl {
+ color: #78a7bf;
+}
+
+span.p,
+span.o {
+ color: rgb(212, 212, 212);
+}
+
+span.p {
+ margin-right: 4px;
+}
+
+span.dl {
+ margin-left: 0px;
+}
+
+.oauth-code {
+ padding: 15px;
+ background: #0c0c0c;
+ color: white;
+ font-size: 18px;
+ margin-top: 15px;
+ margin-left: 50px;
+ margin-right: 50px;
+ white-space: nowrap;
+ overflow: auto;
+}
+
+.oauth-code::-webkit-scrollbar {
+ min-height: 28px !important;
+}
+
+.oauth-code::-webkit-scrollbar-thumb {
+ min-width: 50px;
+}
+
+.oauth-code::selection {
+ background: #1a66c9;
+}
+
+.oauth-code::-moz-selection {
+ background: #1a66c9;
+}
+
+.sidenav li {
+ list-style-image: url("../img/ellipse.svg");
+ list-style: none;
+}
+
+.arrow-li {
+ list-style-image: url("../img/ic_round-navigate-next.svg") !important;
+}
diff --git a/assets/css/style.css b/assets/css/style.css
deleted file mode 100644
index 9021760..0000000
--- a/assets/css/style.css
+++ /dev/null
@@ -1,1223 +0,0 @@
-@import url("https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@200;400;500;700;800&display=swap");
-
-:root {
- --green-primary: #65cb88;
- --green-secondary: #80ed99;
-}
-
-* {
- margin: 0;
- padding: 0;
- text-decoration: none;
- font-family: "Poppins", sans-serif;
- scroll-behavior: smooth;
- font-family: "Lexend Deca", sans-serif;
-}
-
-body {
- color: white;
- overflow: overlay;
- transition: color 0.2s ease-in;
-}
-
-a {
- color: inherit;
-}
-
-.main {
- min-height: 100vh;
- display: block;
- background-color: #212121;
-}
-
-.nav__bar {
- padding: 0.625rem 2rem;
- background-color: #212121;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
- position: sticky;
- top: 0;
- background: rgba(33, 33, 33, 0.45);
- box-shadow: 0 8px 32px 0 rgba(33, 33, 33, 0.37);
- backdrop-filter: blur(15px);
- -webkit-backdrop-filter: blur(15px);
- z-index: 999;
-}
-
-.login__navbar {
- background-color: none;
- background-image: linear-gradient(
- 180deg,
- rgba(40, 40, 40, 0.3),
- rgba(86, 86, 86, 0.3)
- );
-}
-
-.title__logo {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- cursor: pointer;
-}
-
-.logo__img {
- width: 3.5rem;
- margin-right: 0.8rem;
- object-fit: cover;
-}
-
-.title {
- font-family: "Lexend Deca", sans-serif;
- font-size: 1.5rem;
- color: white;
-}
-
-.navbar__buttons {
- width: 500px;
- background-color: none;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
-}
-
-.navigation__buttons {
- background-color: inherit;
- font-family: "Lexend Deca", sans-serif;
- font-size: 1rem;
- color: white;
- border: none;
- cursor: pointer;
- transition: transform 250ms ease-in-out;
-}
-
-.navigation__buttons::after {
- display: block;
- content: "";
- border-bottom: 2px solid #5bb67a;
- transform: scaleX(0);
-}
-
-.navigation__buttons:hover::after {
- transform: scaleX(1);
-}
-
-.navigation__buttons:focus::after {
- transform: scaleX(1);
-}
-
-#download__btn {
- background-color: #5bb67a;
- padding: 0.5rem 1.25rem;
- color: black;
- border-radius: 10px;
-}
-
-#download__btn:hover {
- border-bottom: none;
- transform: scale(1.1);
- transition: all 0.2s;
-}
-
-#download__btn:focus {
- border-bottom: none;
-}
-
-/* ------------------------------------------------------------------ */
-
-.moosync__navbar-mobileScreen {
- display: none;
- transition: 0.5s ease;
-}
-
-#hamburger-open {
- width: 30px;
- height: 30px;
-}
-
-.moosync__navbar-mobileScreen-overlayClose {
- display: none;
-}
-
-.moosync__navbar-mobileScreen-overlayOpen {
- width: 100%;
- height: 100vh;
- position: fixed;
- background-color: var(--color-primary-black);
- flex-direction: column;
- top: 0;
- left: 0;
- z-index: 999;
-}
-
-.moosync__navbar-mobileScreen-links {
- flex: 1;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- list-style-type: none;
-}
-
-.moosync__navbar-mobileScreen-links li {
- margin-top: 2rem;
- font-size: 2rem;
- color: var(--color-white);
- text-align: center;
- cursor: pointer;
-}
-
-.moosync__navbar-mobileScreen-links li button {
- margin-top: 3rem;
- font-size: 2rem;
-}
-
-.moosync__navbar-mobileScreen-links li:hover {
- color: var(--color-text-green);
-}
-
-#hamburger-close {
- width: 30px;
- height: 30px;
- position: absolute;
- top: 1.5rem;
- right: 3rem;
- cursor: pointer;
-}
-
-/* ------------------------------------------------------------------ */
-
-.moosync__navbar-mobileScreen {
- display: none;
-}
-
-#hamburger-open {
- width: 30px;
- height: 30px;
-}
-
-.moosync__navbar-mobileScreen-overlayClose {
- display: none;
-}
-
-.moosync__navbar-mobileScreen-overlayOpen {
- width: 100%;
- height: 100vh;
- display: flex;
- justify-content: center;
- align-items: center;
- position: fixed;
- background-color: #141414;
- flex-direction: column;
- top: 0;
- left: 0;
- transition: 0.5s ease;
- z-index: 999;
-}
-
-.moosync__navbar-mobileScreen-links {
- flex: 1;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- list-style-type: none;
-}
-
-.moosync__navbar-mobileScreen-links li {
- margin-top: 2rem;
- font-size: 2rem;
- color: white;
- text-align: center;
- cursor: pointer;
-}
-
-.moosync__navbar-mobileScreen-links li:hover {
- color: var(--green-primary);
-}
-
-#hamburger-close {
- width: 30px;
- height: 30px;
- position: absolute;
- top: 1.5rem;
- right: 3rem;
- cursor: pointer;
-}
-
-.slide__bottom {
- -webkit-animation: slide-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
- animation: slide-bottom 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
-}
-
-@-webkit-keyframes slide-bottom {
- 0% {
- -webkit-transform: translateY(-25%);
- transform: translateY(-25%);
- }
- 100% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- }
-}
-
-@keyframes slide-bottom {
- 0% {
- -webkit-transform: translateY(-25%);
- transform: translateY(-25%);
- }
- 100% {
- -webkit-transform: translateY(0);
- transform: translateY(0);
- }
-}
-
-/* ------------------------------------------------------------------ */
-
-.heading__page {
- width: 100%;
- padding: 3.25rem 0 3.125rem 0;
- background-color: #212121;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-family: "Lexend Deca", sans-serif;
-}
-
-#login__heading__page {
- height: 90vh;
- justify-content: flex-start;
-}
-
-.info__text__1 {
- text-transform: uppercase;
- font-size: 1rem;
- letter-spacing: 0.1rem;
- color: white;
-}
-
-#heading__info__text__1 {
- color: var(--green-primary);
-}
-
-.title__line {
- width: 75%;
- font-size: 5.5rem;
- font-weight: 600;
- color: white;
- text-align: center;
- line-height: 6.5rem;
-}
-
-#login__title__line {
- width: 500px;
- margin-top: 7.5rem;
- font-size: 1.75rem;
- line-height: normal;
- font-weight: normal;
-}
-
-.circle__div__container {
- width: 100%;
- margin: 5rem 0;
- display: flex;
- align-items: center;
- justify-content: center;
- background-image: url("../img/headerbg.svg");
- background-repeat: no-repeat;
- background-size: cover;
- background-position: center;
-}
-
-.circle__div {
- margin: 2.5rem 0;
- display: flex;
- align-items: center;
- justify-content: center;
- border: 0.145rem dashed #65cb88;
- border-radius: 50%;
-}
-
-#circle__div__1 {
- width: 50vw;
- height: 50vw;
- z-index: 3;
-}
-
-#music__person__img {
- width: 45vw;
-}
-
-.music__person__img__container {
- position: absolute;
- z-index: 5;
-}
-
-#circle__div__2 {
- width: 75%;
- height: 75%;
-}
-
-#circle__div__3 {
- padding: 4vw;
- z-index: 10;
- position: absolute;
-}
-
-.playbutton__container {
- position: relative;
- transition: all 0.2s;
-}
-
-.play__button__img {
- display: block;
- cursor: pointer;
- width: 165px;
-}
-
-.play__button__icon {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin-left: auto;
- margin-right: auto;
- margin-top: auto;
- margin-bottom: auto;
- width: 30px;
-}
-
-.playbutton__container:hover {
- transform: scale(1.1);
-}
-
-.buttons {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-evenly;
-}
-
-.link__buttons {
- padding: 10px 20px;
- margin: 0 2.5rem;
- background-color: #65cb88;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- text-align: center;
- font-family: "Lexend Deca", sans-serif;
- font-size: 1.25rem;
- color: black;
- border: none;
- border-radius: 10px;
- cursor: pointer;
- transition: all 0.2s;
-}
-
-.link__buttons:hover {
- transform: scale(1.1);
-}
-
-.icons {
- font-size: 2rem;
- margin-right: 10px;
- object-fit: cover;
-}
-
-#discord__icon {
- height: 1.5rem;
- padding: 0.5rem 0;
-}
-
-.moosync__usage {
- padding: 5rem 0;
- background-color: #141414;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
-}
-
-.moosync__section__heading {
- margin-bottom: 2.5rem;
- display: block;
- text-align: center;
- font-size: 2rem;
- color: white;
-}
-
-.usage__icons__text {
- width: 75%;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-evenly;
-}
-
-#usage__icons__text__mid {
- width: 80%;
- margin-bottom: 2rem;
- justify-content: space-between;
-}
-
-#usage__mid__img {
- width: 40vw;
- object-fit: cover;
-}
-
-.usage {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- color: white;
-}
-
-.usage__icons {
- width: 5rem;
- object-fit: cover;
-}
-
-.info__text__4 {
- width: 10rem;
- padding: 1rem 0;
- text-align: center;
-}
-
-/* Video Section Style */
-
-.moosync__video {
- padding: 5rem 0;
- background-color: #141414;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
-}
-
-#video__info__text__1 {
- width: 75%;
- text-align: center;
- text-transform: none;
-}
-
-.moosync__video__player {
- width: 75%;
- height: 50%;
- margin: 5rem 0;
- border: none;
- border-radius: 1rem;
-}
-
-/* Video Section Style */
-
-.moosync__numbers {
- color: black;
- padding: 5rem 0;
- background-color: #212121;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: space-between;
-}
-
-.moosync__countbox__container {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- flex-wrap: wrap;
-}
-
-.count__box {
- width: 15rem;
- height: 15rem;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- background-image: url("../img/hexagon.svg");
- background-repeat: no-repeat;
- background-size: contain;
- background-position: center;
-}
-
-.count__box > p:first-child {
- font-size: 1.9rem;
- font-weight: 500;
-}
-
-.count__box > p:last-child {
- padding: 0.25rem 0;
- font-size: 0.8rem;
-}
-
-#moosync__numbers__button {
- margin-top: 2rem;
-}
-
-.footer__section {
- padding: 3rem 2.5rem 1rem 2.5rem;
- background-color: #141414;
- display: flex;
- flex-direction: column;
- align-items: baseline;
- justify-content: space-between;
-}
-
-.footer__container {
- width: 100%;
- display: flex;
- flex-direction: row;
- align-items: initial;
- justify-content: space-between;
-}
-
-#footer__logo {
- padding: 0;
- margin-right: 1rem;
-}
-
-.footer__content {
- width: 100vw;
- display: flex;
- flex-direction: column;
- align-items: flex-start;
- justify-content: baseline;
- font-family: "Lexend Deca", sans-serif;
-}
-
-#left__footer__content {
- margin-right: 15px;
-}
-
-#right__footer__content {
- width: fit-content;
-}
-
-#right__footer__content__wrapper {
- width: 100vw;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- margin-left: 15px;
-}
-
-.info__text__2 {
- padding: 2.5rem 0;
- display: block;
- text-align: start;
- font-size: 1.75rem;
- color: var(--green-secondary);
-}
-
-.info__text__3 {
- padding-bottom: 1rem;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- text-align: center;
- font-family: "Lexend Deca", sans-serif;
- font-weight: 200;
- font-size: 1.3rem;
- color: white;
- border-bottom: 2px solid white;
- cursor: pointer;
- transition: all 0.2s;
-}
-
-.info__text__3:hover #link__icon {
- transform: scale(1.25);
-}
-#link__icon {
- height: 0.75rem;
- width: 0.75rem;
- margin-left: 15px;
- object-fit: cover;
-}
-
-#footer__info__text__1 {
- padding: 0;
- color: white;
-}
-
-.subscribe {
- padding: 2.5rem 0;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
-}
-
-.email__input {
- width: 100%;
- padding: 0.75rem 1.25rem;
- font-family: "Lexend Deca", sans-serif;
- font-size: 1rem;
- border: none;
- border-radius: 5px;
-}
-
-.email__input:focus {
- outline: none;
-}
-
-#subscribe__button {
- font-size: 1.25rem;
- padding: 0.5rem 1rem;
- border-radius: 5px;
-}
-
-.general__info__links {
- width: fit-content;
- display: flex;
- flex-direction: row;
- align-items: flex-start;
- justify-content: space-between;
-}
-
-.footer__general {
- display: block;
- margin-right: 5rem;
-}
-
-#right__footer__general {
- width: fit-content;
- margin: 0;
-}
-
-#footer__info__text__heading {
- color: white;
- font-weight: 700;
-}
-
-.general__info__link__list {
- margin-top: 1rem;
-}
-
-.list__items {
- list-style-type: none;
- font-size: 1rem;
- font-family: "Lexend Deca", sans-serif;
- font-weight: 200;
- color: white;
- line-height: 2rem;
- cursor: pointer;
-}
-
-.list__items:hover {
- color: var(--green-secondary);
-}
-
-#notice {
- width: 60%;
- margin: 1rem 0;
- align-self: center;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- font-size: 0.75rem;
- text-align: center;
- color: #444444;
-}
-
-#notice__text__container {
- margin-top: 1rem;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- text-align: center;
-}
-
-#copyright__text {
- width: 100%;
- display: block;
- text-align: center;
- font-family: "Lexend Deca", sans-serif;
- font-weight: 300;
- color: white;
-}
-
-@media (max-width: 900px) {
- .title__line {
- width: 90%;
- font-size: 10vw;
- line-height: normal;
- }
-
- #circle__div__1 {
- width: 60vw;
- height: 60vw;
- }
-
- #music__person__img {
- width: 63vw;
- }
-
- .moosync__video__player {
- width: 90%;
- height: 50%;
- }
-
- #usage__icons__text__mid {
- flex-direction: column;
- }
-
- #usage__mid {
- margin: 2rem 0;
- }
-
- #usage__mid__img {
- width: 90vw;
- }
-
- .subscribe {
- width: max-content;
- flex-direction: column;
- align-items: flex-start;
- justify-content: center;
- }
-
- #subscribe__button {
- margin: 0.5rem 0 0 0;
- }
-
- .footer__general {
- margin-right: 3rem;
- }
-}
-
-@media (max-width: 800px) {
- .nav__bar {
- position: relative;
- top: auto;
- }
-
- .title__logo {
- margin: 1rem 0;
- }
-
- .navigation__buttons {
- margin: 5px 0;
- }
-
- #download__btn {
- padding: 0.25rem 0.5rem;
- border-radius: 5px;
- }
-
- .navbar__buttons {
- display: none;
- }
-
- .moosync__navbar-mobileScreen {
- display: block;
- }
-
- .footer__container {
- flex-direction: column;
- align-items: center;
- justify-content: center;
- }
-
- .footer__content {
- width: 60vw;
- align-items: center;
- justify-content: center;
- }
-
- #footer__info__text__1 {
- text-align: center;
- }
-
- #footer__info__text__2 {
- text-align: center;
- }
-
- .subscribe {
- width: 100%;
- align-items: center;
- justify-content: center;
- }
-
- .email__input {
- width: 250px;
- }
-
- #subscribe__button {
- width: 290px;
- }
-
- .general__info__links {
- width: 100%;
- justify-content: space-evenly;
- }
-
- .footer__general {
- margin: 0 1rem;
- align-items: center;
- justify-content: center;
- text-align: center;
- }
-
- #left__footer__content {
- margin-bottom: 5rem;
- margin-right: 0;
- }
-
- #right__footer__content {
- margin-left: 0;
- }
-
- #right__footer__content__wrapper {
- width: fit-content;
- }
-
- #notice {
- width: 80vw;
- }
-}
-
-@media (max-width: 550px) {
- .navbar__buttons {
- width: auto;
- flex-direction: column;
- justify-content: center;
- }
-
- .title__logo {
- flex-direction: column;
- }
-
- #download__btn {
- padding: 0.25rem 0.5rem;
- margin-top: 10px;
- border-radius: 5px;
- }
-
- #heading__info__text__1 {
- width: 80%;
- text-align: center;
- font-size: 0.75rem;
- margin-bottom: 10px;
- }
-
- #login__title__line {
- width: 90%;
- margin-top: 2.5rem;
- }
-
- .circle__div__container {
- margin: 2rem 0;
- }
-
- #circle__div__1 {
- width: 75vw;
- height: 75vw;
- }
-
- #music__person__img {
- width: 78.75vw;
- }
-
- #playButton {
- width: 20vw;
- }
-
- .link__buttons {
- font-size: 5.5vw;
- margin-bottom: 2rem;
- }
-
- .buttons {
- flex-direction: column;
- }
-
- /* .moosync__video__player {
- margin: 2rem;
- } */
-
- .moosync__section__heading {
- width: 90vw;
- }
-
- /* .usage__icons__text {
- flex-direction: column;
- } */
-
- .usage {
- margin: 2rem 0;
- }
-
- /* .usage__icons {
- width: 25vw;
- } */
-
- .list__items {
- line-height: normal;
- margin-bottom: 1rem;
- }
-
- .email__input {
- padding: 0.5rem 0.75rem;
- }
-
- #subscribe__button {
- width: 275px;
- font-size: 1rem;
- padding: 0.5rem 0.5rem;
- }
-}
-
-@media (max-width: 500px) {
- #footer__info__text__2 {
- font-size: 1.5rem;
- }
-}
-
-@media (max-width: 450px) {
- .info__text__3 {
- font-size: 0.9rem;
- }
-
- #link__icon {
- width: 0.5rem;
- height: 0.5rem;
- }
-}
-
-@media (max-width: 350px) {
- .email__input {
- width: 75vw;
- }
-
- #subscribe__button {
- width: 82vw;
- }
-
- .general__info__links {
- flex-direction: column;
- align-items: center;
- justify-content: center;
- }
-
- .footer__general {
- margin: 0;
- }
-
- #right__footer__general {
- margin-top: 2rem;
- }
-
- #notice {
- width: 90vw;
- }
-}
-
-@media (max-width: 350px) {
- .email__input {
- width: 75vw;
- }
-}
-.all_counts {
- padding: 5rem 0;
- background-color: #212121;
-}
-.count_matters_boxes {
- padding-left: 12rem;
- display: flex;
- flex-direction: row;
-}
-.countimages {
- height: 283px;
- width: 283px;
-}
-
-.other__platform {
- color: rgb(153, 153, 153);
- margin-top: 15px;
- cursor: pointer;
- user-select: none;
-}
-
-[hidden] {
- display: none !important;
-}
-
-.modal {
- display: none;
- position: fixed;
- z-index: 1;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- overflow: hidden;
- background-color: rgba(0,0,0,0.7);
- z-index: 1000;
-}
-
-.modal-content {
- background-color: #141414;
- margin: 15% auto;
- border-radius: 16px;
- width: 60%;
- font-family: 'Lexend Deca';
- font-weight: 500;
- font-size: 38px;
- text-align: center;
- color: #ffffff;
-}
-
-.modal-content-text {
- padding: 100px 20px 100px 20px;
-}
-#login-modal-platform-text-pre, #login-modal-platform-text-post {
- text-transform: capitalize;
-}
-
-.close {
- color: #aaa;
- float: right;
- font-size: 28px;
- font-weight: bold;
- padding-right: 20px;
- padding-top: 15px;
- cursor: pointer;
-}
-
-.close:hover,
-.close:focus {
- text-decoration: none;
-}
-
-.login__button {
- margin: auto;
- margin-top: 30px;
- padding: 15px;
-}
-
-::-webkit-scrollbar,
-::-webkit-scrollbar-thumb {
- width: 26px;
- border-radius: 13px;
- background-clip: padding-box;
- border: 10px solid transparent;
- min-height: 50px;
-}
-
-::-webkit-scrollbar-thumb {
- box-shadow: inset 0 0 0 10px;
- min-height: 40px;
-}
-
-::-webkit-scrollbar-track {
- background: transparent;
-}
-
-.icon-linux, .icon-win, .icon-mac {
- width:24px;
- height:24px;
- padding-right: 15px;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.icon-linux::before, .icon-win::before, .icon-mac::before {
- content: '';
- background-size:cover;
- position:absolute;
- width:24px;
- height:24px;
-}
-
-.icon-linux::before {
- background: url('/assets/img/codicon_terminal-linux.svg');
-}
-
-.icon-win::before {
- background: url('/assets/img/bi_windows.svg');
-}
-
-.icon-mac::before {
- background: url('/assets/img/bi_apple.svg');
-}
-
-
-.select__box {
- display: flex;
- flex-direction: column;
- overflow: auto;
-}
-
-.selected {
- display: flex;
- background: #65cb88;
- border-radius: 8px;
- margin-bottom: 8px;
- color: black;
- position: relative;
- user-select: none;
-}
-
-.select__box .options__container {
- background-color: #141414;
- color: #fff;
- max-height: 0;
- width: 100%;
- opacity: 0;
- transition: all 0.4s;
- border-radius: 8px;
- overflow: hidden;
- order: 1;
-}
-
-.select__box .option:hover {
- color: black;
-}
-
-.select__box .options__container.options__active {
- max-height: 240px;
- opacity: 1;
-}
-
-.select__box .options__container.options__active + .selected::after {
- transform: rotateX(180deg);
- top: -6px;
-}
-
-.select__box .option,
-.selected {
- padding: 12px 24px;
- cursor: pointer;
-}
-
-.select__box .option:hover,
-.selected:hover {
- background-color: #65cb88;
-}
-
-.download__text {
- padding-top: 10px;
- padding-bottom: 10px;
-}
-
-.arrow__down {
- margin-left: auto;
- padding-left: 13px;
-}
-
-.version__text {
- width: 100%;
- text-align: center;
-}
diff --git a/assets/css/svggg.html b/assets/css/svggg.html
new file mode 100644
index 0000000..6b8a253
--- /dev/null
+++ b/assets/css/svggg.html
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+untitled document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/img/Architecture Diagram.jpeg b/assets/img/Architecture Diagram.jpeg
new file mode 100644
index 0000000..485dce5
Binary files /dev/null and b/assets/img/Architecture Diagram.jpeg differ
diff --git a/assets/img/arrow-down.svg b/assets/img/arrow-down.svg
index aaf2826..5198344 100644
--- a/assets/img/arrow-down.svg
+++ b/assets/img/arrow-down.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/assets/img/bi_apple.svg b/assets/img/bi_apple.svg
index 0a7b00a..39f4dfb 100644
--- a/assets/img/bi_apple.svg
+++ b/assets/img/bi_apple.svg
@@ -1,11 +1 @@
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/bi_windows.svg b/assets/img/bi_windows.svg
index 3fe7178..171c2cd 100644
--- a/assets/img/bi_windows.svg
+++ b/assets/img/bi_windows.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/cloud_console_cred_authorized_redirect.png b/assets/img/cloud_console_cred_authorized_redirect.png
new file mode 100644
index 0000000..7861028
Binary files /dev/null and b/assets/img/cloud_console_cred_authorized_redirect.png differ
diff --git a/assets/img/cloud_console_cred_js_origins.png b/assets/img/cloud_console_cred_js_origins.png
new file mode 100644
index 0000000..967d39a
Binary files /dev/null and b/assets/img/cloud_console_cred_js_origins.png differ
diff --git a/assets/img/cloud_console_new_app.png b/assets/img/cloud_console_new_app.png
new file mode 100644
index 0000000..c77d326
Binary files /dev/null and b/assets/img/cloud_console_new_app.png differ
diff --git a/assets/img/cloud_console_oauth_app_details.png b/assets/img/cloud_console_oauth_app_details.png
new file mode 100644
index 0000000..b782eb7
Binary files /dev/null and b/assets/img/cloud_console_oauth_app_details.png differ
diff --git a/assets/img/cloud_console_oauth_authorized_domain.png b/assets/img/cloud_console_oauth_authorized_domain.png
new file mode 100644
index 0000000..1f807dd
Binary files /dev/null and b/assets/img/cloud_console_oauth_authorized_domain.png differ
diff --git a/assets/img/cloud_console_oauth_consent.png b/assets/img/cloud_console_oauth_consent.png
new file mode 100644
index 0000000..ac32a2e
Binary files /dev/null and b/assets/img/cloud_console_oauth_consent.png differ
diff --git a/assets/img/cloud_console_oauth_scope.png b/assets/img/cloud_console_oauth_scope.png
new file mode 100644
index 0000000..6e94216
Binary files /dev/null and b/assets/img/cloud_console_oauth_scope.png differ
diff --git a/assets/img/cloud_console_search_api.png b/assets/img/cloud_console_search_api.png
new file mode 100644
index 0000000..082ecd7
Binary files /dev/null and b/assets/img/cloud_console_search_api.png differ
diff --git a/assets/img/codicon_terminal-linux.svg b/assets/img/codicon_terminal-linux.svg
index cabc435..fbeff90 100644
--- a/assets/img/codicon_terminal-linux.svg
+++ b/assets/img/codicon_terminal-linux.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/discordLogo.svg b/assets/img/discordLogo.svg
index f3d4ecc..8e28227 100644
--- a/assets/img/discordLogo.svg
+++ b/assets/img/discordLogo.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/ellipse.svg b/assets/img/ellipse.svg
new file mode 100644
index 0000000..aa5d6c4
--- /dev/null
+++ b/assets/img/ellipse.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/img/githubIcon.svg b/assets/img/githubIcon.svg
new file mode 100644
index 0000000..d4b36cf
--- /dev/null
+++ b/assets/img/githubIcon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/img/hamburgerCloseIcon.svg b/assets/img/hamburgerCloseIcon.svg
index ceca167..44933b0 100644
--- a/assets/img/hamburgerCloseIcon.svg
+++ b/assets/img/hamburgerCloseIcon.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/hamburgerIcon.svg b/assets/img/hamburgerIcon.svg
index 8e2e83b..450893f 100644
--- a/assets/img/hamburgerIcon.svg
+++ b/assets/img/hamburgerIcon.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/headerbg.svg b/assets/img/headerbg.svg
index 98b66a3..420150e 100644
--- a/assets/img/headerbg.svg
+++ b/assets/img/headerbg.svg
@@ -1,73 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/hexagon-hover.svg b/assets/img/hexagon-hover.svg
new file mode 100644
index 0000000..d43500d
--- /dev/null
+++ b/assets/img/hexagon-hover.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/hexagon.svg b/assets/img/hexagon.svg
index 41ec384..2a449aa 100644
--- a/assets/img/hexagon.svg
+++ b/assets/img/hexagon.svg
@@ -1,28 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/ic_round-navigate-next.svg b/assets/img/ic_round-navigate-next.svg
new file mode 100644
index 0000000..5d0f624
--- /dev/null
+++ b/assets/img/ic_round-navigate-next.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/img/laptopbg.png b/assets/img/laptopbg.png
new file mode 100644
index 0000000..b2d70fc
Binary files /dev/null and b/assets/img/laptopbg.png differ
diff --git a/assets/img/laptopbg.svg b/assets/img/laptopbg.svg
deleted file mode 100644
index 4c3e9c7..0000000
--- a/assets/img/laptopbg.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/assets/img/link.svg b/assets/img/link.svg
index 5a99238..13af6bf 100644
--- a/assets/img/link.svg
+++ b/assets/img/link.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/logo.svg b/assets/img/logo.svg
index 4c071c2..eec3a4b 100644
--- a/assets/img/logo.svg
+++ b/assets/img/logo.svg
@@ -1,14 +1,19 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/musicbutton.svg b/assets/img/musicbutton.svg
index 8b16b55..93442e2 100644
--- a/assets/img/musicbutton.svg
+++ b/assets/img/musicbutton.svg
@@ -1,42 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/pausebutton.svg b/assets/img/pausebutton.svg
index 50270c5..843e44d 100644
--- a/assets/img/pausebutton.svg
+++ b/assets/img/pausebutton.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/person.png b/assets/img/person.png
index ac0a999..786d4f4 100644
Binary files a/assets/img/person.png and b/assets/img/person.png differ
diff --git a/assets/img/playbutton.svg b/assets/img/playbutton.svg
index 022baf9..e64798a 100644
--- a/assets/img/playbutton.svg
+++ b/assets/img/playbutton.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/preview.png b/assets/img/preview.png
new file mode 100644
index 0000000..186b633
Binary files /dev/null and b/assets/img/preview.png differ
diff --git a/assets/img/usageIcon1.svg b/assets/img/usageIcon1.svg
index 4f9cdeb..1980246 100644
--- a/assets/img/usageIcon1.svg
+++ b/assets/img/usageIcon1.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/usageIcon2.svg b/assets/img/usageIcon2.svg
index 09871a6..8fb0ac0 100644
--- a/assets/img/usageIcon2.svg
+++ b/assets/img/usageIcon2.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/usageIcon3.svg b/assets/img/usageIcon3.svg
index ad7930b..5e2ae92 100644
--- a/assets/img/usageIcon3.svg
+++ b/assets/img/usageIcon3.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/usageIcon4.svg b/assets/img/usageIcon4.svg
index a69f65e..3df5edf 100644
--- a/assets/img/usageIcon4.svg
+++ b/assets/img/usageIcon4.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/usageIcon5.svg b/assets/img/usageIcon5.svg
index d216cbf..14fe0b1 100644
--- a/assets/img/usageIcon5.svg
+++ b/assets/img/usageIcon5.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/img/usageIcon6.svg b/assets/img/usageIcon6.svg
index feaa6c9..8795f6e 100644
--- a/assets/img/usageIcon6.svg
+++ b/assets/img/usageIcon6.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/assets/js/commonUtils.js b/assets/js/commonUtils.js
index af2f0a2..c9ab3d7 100644
--- a/assets/js/commonUtils.js
+++ b/assets/js/commonUtils.js
@@ -18,3 +18,17 @@ export function shouldRegenRequest(cache) {
export function setCache(name, data) {
localStorage.setItem(name, JSON.stringify(data));
}
+
+export const setElemProperty = (id, prop, value) => {
+ const elem = document.getElementById(id);
+ if (elem) {
+ elem[prop] = value;
+ }
+};
+
+export const callElemMethod = (id, prop, ...obj) => {
+ const elem = document.getElementById(id);
+ if (elem) {
+ elem[prop](...obj);
+ }
+};
diff --git a/assets/js/counterUtils.js b/assets/js/counterUtils.js
index 20cd15d..8047f58 100644
--- a/assets/js/counterUtils.js
+++ b/assets/js/counterUtils.js
@@ -1,70 +1,116 @@
-import { shouldRegenRequest, getExpiryTime, setCache } from './commonUtils.js'
+import { shouldRegenRequest, getExpiryTime, setCache } from "./commonUtils.js";
+import { setElemProperty } from "./commonUtils.js";
// TODO: fetch this from all-contributors spec
-const noCodeContributorsCount = 3
+const noCodeContributorsCount = 3;
+
+async function getGithubDownloadCount() {
+ const data = localStorage.getItem("downloads_counter");
+ let shouldRegen = true;
+ if (data != null) {
+ const cache = JSON.parse(data);
+ shouldRegen = shouldRegenRequest(cache);
+ }
+
+ if (shouldRegen) {
+ const resp = await (
+ await fetch("https://api.github.com/repos/Moosync/Moosync/releases")
+ ).json();
-async function getGithubDownloadCount () {
- const cache = JSON.parse(localStorage.getItem('downloads_counter'))
+ const resp1 = await (
+ await fetch(
+ "https://api.github.com/repos/Moosync/Moosync-electron/releases",
+ )
+ ).json();
- if (shouldRegenRequest(cache)) {
- const resp = await (await fetch('https://api.github.com/repos/Moosync/Moosync/releases')).json()
+ const consolidated = [...resp, ...resp1];
+ console.log(consolidated);
- let downloadCount = 0
+ let downloadCount = 0;
- for (const release of resp) {
+ for (const release of consolidated) {
for (const asset of release.assets) {
- if (!asset.name.match('blockmap|yml'))
- downloadCount += asset.download_count
+ if (!asset.name.match("blockmap|yml|json"))
+ downloadCount += asset.download_count;
}
}
- setCache('downloads_counter', { count: downloadCount, expiry: getExpiryTime() })
- return downloadCount
+ setCache("downloads_counter", {
+ count: downloadCount,
+ expiry: getExpiryTime(),
+ });
+ return downloadCount;
}
- return cache.count
+ return JSON.parse(data).count;
}
-async function getGithubContributorsCount () {
- const cache = JSON.parse(localStorage.getItem('contributors_counter'))
+async function getGithubContributorsCount() {
+ const data = localStorage.getItem("contributors_counter");
+ let shouldRegen = true;
+ if (data != null) {
+ const cache = JSON.parse(data);
+ shouldRegen = shouldRegenRequest(cache);
+ }
- if (shouldRegenRequest(cache)) {
+ if (shouldRegen) {
//TODO: Workaround rate limitation
- const resp = await (await fetch('https://api.github.com/orgs/Moosync/repos')).json()
+ const resp = await (
+ await fetch("https://api.github.com/orgs/Moosync/repos")
+ ).json();
- let contributors = {}
+ let contributors = {};
for (const repo of resp) {
- const resp = await (await fetch(`https://api.github.com/repos/Moosync/${repo.name}/contributors`)).json()
+ const resp = await (
+ await fetch(
+ `https://api.github.com/repos/Moosync/${repo.name}/contributors`,
+ )
+ ).json();
+
for (const contri of resp) {
- contributors[contri.id] = 1
+ contributors[contri.id] = 1;
}
}
- setCache('contributors_counter', { count: Object.keys(contributors).length, expiry: getExpiryTime() })
- return Object.keys(contributors).length
+ setCache("contributors_counter", {
+ count: Object.keys(contributors).length,
+ expiry: getExpiryTime(),
+ });
+ return Object.keys(contributors).length;
}
- return cache.count
+ return JSON.parse(data).count;
}
-async function getDiscordCount () {
- const resp = await (await fetch('https://discord.com/api/guilds/919246266167332894/widget.json')).json()
- return resp.members.length || 0
+async function getDiscordCount() {
+ const resp = await (
+ await fetch("https://discord.com/api/guilds/919246266167332894/widget.json")
+ ).json();
+ return resp.members.length || 0;
}
-export function setupCounters () {
+export function setupCounters() {
(async () => {
- const downloadsCounter = document.getElementById('downloads__count')
- downloadsCounter.innerHTML = Math.floor((await getGithubDownloadCount()) / 10) * 10 + '+'
+ setElemProperty(
+ "downloads__count",
+ "innerHTML",
+ Math.floor((await getGithubDownloadCount()) / 10) * 10 + "+",
+ );
})();
(async () => {
- const activeContributorsCount = document.getElementById('contri__count')
- activeContributorsCount.innerHTML = ((await getGithubContributorsCount()) + noCodeContributorsCount) + "+"
+ setElemProperty(
+ "contri__count",
+ "innerHTML",
+ (await getGithubContributorsCount()) + noCodeContributorsCount + "+",
+ );
})();
(async () => {
- const discordCount = document.getElementById('discord__count')
- discordCount.innerHTML = (await getDiscordCount()) + "+"
+ setElemProperty(
+ "discord__count",
+ "innerHTML",
+ (await getDiscordCount()) + "+",
+ );
})();
-}
\ No newline at end of file
+}
diff --git a/assets/js/domUtils.js b/assets/js/domUtils.js
index 57e8f5c..2015aa1 100644
--- a/assets/js/domUtils.js
+++ b/assets/js/domUtils.js
@@ -3,86 +3,153 @@ import {
getProviderFromURL,
getProviderRedirectURL,
getQueryParams,
-} from "./locationUtils.js";
+} from './locationUtils.js';
+import { setElemProperty, callElemMethod } from './commonUtils.js';
export function setupPageFunctionality () {
- document.body.onscroll = disableScrolling
+ enableScrolling()
document.body.onmousewheel = enableScrolling
- const music = document.getElementById("music");
- music.volume = 0.2;
- const playButton = document.getElementById("playButton");
- const playButtonIcon = document.getElementById("playButtonIcon");
- let isPlaying = false;
+ // Approximately
+ const scrollBarWidth = 16
- const playPause = () => {
- if (!isPlaying) {
- isPlaying = true;
+ document.onmousedown = (e) => {
+ if (document.body.clientWidth <= e.clientX + scrollBarWidth) {
+ enableScrolling(false)
+ }
+ }
- music.play();
- playButton.title = "Pause";
- playButtonIcon.src = "./assets/img/pausebutton.svg";
+ let mouseMoveScrollEnabled = false
+ document.onmousemove = (e) => {
+ if (e.clientX >= document.body.clientWidth - scrollBarWidth) {
+ enableScrolling(false)
+ mouseMoveScrollEnabled = true
} else {
- isPlaying = false;
+ if (mouseMoveScrollEnabled) {
+ enableScrolling(true)
+ mouseMoveScrollEnabled = false
+ }
+ }
+ }
+
+ document.onmouseup = enableScrolling
+
+
- music.pause();
- playButton.title = "Play";
- playButtonIcon.src = "./assets/img/playbutton.svg";
+ const music = document.getElementById('music');
+ if (music) {
+ music.volume = 0.2;
+ }
+
+ const playButtonContainer = document.getElementsByClassName('playbutton__container')[0];
+ const playButton = document.getElementById('playButton');
+ const playButtonIcon = document.getElementById('playButtonIcon');
+ let isPlaying = false;
+
+ const playPause = () => {
+ if (playButton && playButtonIcon) {
+ if (!isPlaying) {
+ isPlaying = true;
+ music.src = 'https://res.cloudinary.com/thepranaygupta/video/upload/v1643119296/moosync/bg-music_x3sspk.mp3'
+ music.play();
+ playButton.title = 'Pause';
+ playButtonIcon.src = './assets/img/pausebutton.svg';
+ } else {
+ isPlaying = false;
+
+ music.pause();
+ playButton.title = 'Play';
+ playButtonIcon.src = './assets/img/playbutton.svg';
+ }
}
};
- playButton.onclick = playPause;
+ if (playButtonContainer) {
+ playButtonContainer.onclick = playPause;
+ }
- document.getElementById("download__btn").onclick = () => {
- document.getElementById("downloads").scrollIntoView({
- behavior: "smooth",
- block: "center",
- inline: "center",
+ setElemProperty('download__btn', 'onclick', () => {
+ callElemMethod('downloads', 'scrollIntoView', {
+ behavior: 'smooth',
+ block: 'center',
+ inline: 'center',
});
- };
+ });
- document.getElementById('hamburger-close').onclick = overlayHandler.bind(this)
- document.getElementById('hamburger-open').onclick = overlayHandler.bind(this)
+ setElemProperty('hamburger-close', 'onclick', overlayHandler.bind(this))
+ setElemProperty('hamburger-open', 'onclick', overlayHandler.bind(this))
- document.getElementById('home').onclick = overlayHandler.bind(this)
- document.getElementById('privacy').onclick = overlayHandler.bind(this)
- document.getElementById('documentation').onclick = overlayHandler.bind(this)
- document.getElementById('download').onclick = overlayHandler.bind(this)
+ setElemProperty('home', 'onclick', overlayHandler.bind(this))
+ setElemProperty('privacy', 'onclick', overlayHandler.bind(this))
+ setElemProperty('documentation', 'onclick', overlayHandler.bind(this))
+ setElemProperty('download', 'onclick', overlayHandler.bind(this))
}
let toggleStatus = true;
export function setupLoginModalFunctionality () {
- const loginModal = document.getElementById('login-modal')
- const loginModalPreLogin = document.getElementById('login-modal-prelogin')
- const loginModalPostLogin = document.getElementById('login-modal-postlogin')
-
- const loginModalCloseButton = document.getElementById('login-modal-close')
- const loginModalPlatformTextPost = document.getElementById('login-modal-platform-text-post')
- const loginModalPlatformTextPre = document.getElementById('login-modal-platform-text-pre')
- const loginButton = document.getElementById('login-button')
-
const providerMatch = getProviderFromURL()[0];
if (providerMatch) {
const color = getProviderColor(providerMatch)
- loginModalPlatformTextPost.innerHTML = providerMatch
- loginModalPlatformTextPost.style.color = color
- loginModalPlatformTextPre.innerHTML = providerMatch
- loginModalPlatformTextPre.style.color = color
+ const loginModal = document.createElement('div')
+ loginModal.classList.add('modal')
+ loginModal.id = 'login-modal'
+ loginModal.innerHTML = `
+
+
×
+
+
+ Thank you for logging in to
+
${providerMatch} .
+ You may now close this window
+ and enjoy your experience.
+
+
+ Alternatively, You may enter this code
+
${getQueryParams()}
+
+
+
+
+ Do you want to login to
+ ${providerMatch} ?
+
+ Click to open Moosync
+
+
+
+
`
+
+ const body = document.getElementById('body')
+ body.append(loginModal)
+
+ const loginButton = document.getElementById('login-button')
+ const loginModalPostLogin = document.getElementById('login-modal-postlogin')
+ const loginModalPreLogin = document.getElementById('login-modal-prelogin')
+ const closeButton = document.getElementById('login-modal-close')
+
+
+ if (loginModalPostLogin, loginModalPreLogin, providerMatch) {
+ // Try to open popup
+ openPopupAndHandleModal(loginModalPostLogin, loginModalPreLogin, providerMatch, false)
+ }
- // Try to open popup
- openPopupAndHandleModal(loginModalPostLogin, loginModalPreLogin, providerMatch, false)
+ if (loginButton) {
+ loginButton.style.backgroundColor = color
+ loginButton.onclick = () => openPopupAndHandleModal(loginModalPostLogin, loginModalPreLogin, providerMatch, true)
+ }
- loginButton.style.backgroundColor = color
- loginButton.onclick = () => openPopupAndHandleModal(loginModalPostLogin, loginModalPreLogin, providerMatch, true)
+ if (closeButton) {
+ closeButton.onclick = () => loginModal.style.display = 'none'
+ }
- loginModal.style.display = "block"
+ if (loginModal) {
+ loginModal.style.display = 'block'
+ }
}
-
- loginModalCloseButton.onclick = () => loginModal.style.display = "none"
}
function openPopupAndHandleModal (loginModalPostLogin, loginModalPreLogin, provider, showWarning) {
@@ -96,7 +163,7 @@ function openPopupAndHandleModal (loginModalPostLogin, loginModalPreLogin, provi
}
function openMoosync (provider, showWarning) {
- const res = window.open("moosync://" + getProviderRedirectURL(provider) + getQueryParams())
+ const res = window.open('moosync://' + getProviderRedirectURL(provider) + getQueryParams())
if (res) {
window.history.replaceState(null, null, '/')
} else {
@@ -109,35 +176,35 @@ function openMoosync (provider, showWarning) {
}
function overlayHandler () {
- const overlayElement = document.getElementById("menu-overlay");
-
- if (toggleStatus) {
- overlayElement.classList.remove(
- "moosync__navbar-mobileScreen-overlayClose"
- );
- overlayElement.classList.add("moosync__navbar-mobileScreen-overlayOpen");
- toggleStatus = false;
- } else {
- overlayElement.classList.remove("moosync__navbar-mobileScreen-overlayOpen");
- overlayElement.classList.add("moosync__navbar-mobileScreen-overlayClose");
- toggleStatus = true;
+ const overlayElement = document.getElementById('menu-overlay');
+
+ if (overlayElement) {
+ if (toggleStatus) {
+ overlayElement.classList.remove(
+ 'moosync__navbar-mobileScreen-overlayClose'
+ );
+ overlayElement.classList.add('moosync__navbar-mobileScreen-overlayOpen');
+ toggleStatus = false;
+ } else {
+ overlayElement.classList.remove('moosync__navbar-mobileScreen-overlayOpen');
+ overlayElement.classList.add('moosync__navbar-mobileScreen-overlayClose');
+ toggleStatus = true;
+ }
}
}
let scrollTimeout
-function disableScrolling () {
- if (!scrollTimeout) {
+function enableScrolling (enableTimeout = true) {
+ if (scrollTimeout) {
+ clearTimeout(scrollTimeout)
+ }
+
+ if (enableTimeout) {
scrollTimeout = setTimeout(function () {
document.body.style.color = 'transparent';
}, 1000);
}
-}
-function enableScrolling () {
- if (scrollTimeout) {
- clearTimeout(scrollTimeout)
- scrollTimeout = undefined
- }
document.body.style.color = 'white';
}
\ No newline at end of file
diff --git a/assets/js/downloadUtils.js b/assets/js/downloadUtils.js
index 430b80b..b573b4a 100644
--- a/assets/js/downloadUtils.js
+++ b/assets/js/downloadUtils.js
@@ -1,4 +1,10 @@
-import { shouldRegenRequest, getExpiryTime, setCache } from "./commonUtils.js";
+import {
+ shouldRegenRequest,
+ getExpiryTime,
+ setCache,
+ callElemMethod,
+ setElemProperty,
+} from "./commonUtils.js";
const OSEnum = Object.freeze({
WINDOWS: "win",
@@ -7,7 +13,7 @@ const OSEnum = Object.freeze({
UNDEFINED: "undefined",
});
-function getOS () {
+function getOS() {
// Lets be safe and get platform from deprecated field too
// https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform
const platform = (
@@ -19,7 +25,7 @@ function getOS () {
return OSEnum.WINDOWS;
}
- if (platform.startsWith("mac") || platform.match("darwin")) {
+ if (platform.match("mac") || platform.match("darwin")) {
return OSEnum.MACOS;
}
@@ -30,7 +36,7 @@ function getOS () {
return OSEnum.UNDEFINED;
}
-function getReaderFriendlyName (os) {
+function getReaderFriendlyName(os) {
switch (os) {
case OSEnum.WINDOWS:
return "Windows";
@@ -41,32 +47,92 @@ function getReaderFriendlyName (os) {
}
}
-function getLatestAsset (os, assets) {
- return assets.filter(
- (val) => !val.name.match("blockmap|yml") && val.name.match(os)
- );
+function getLatestAsset(os, assets) {
+ console.debug(os, assets);
+ const extensions = {
+ linux: ["deb", "rpm", "AppImage"],
+ win: ["exe", "msi"],
+ macos: ["dmg"],
+ };
+
+ const extension = extensions[os];
+
+ return assets.filter((val) => {
+ for (const ext of extension) {
+ if (val.name.endsWith(ext)) {
+ return true;
+ }
+ }
+ return false;
+ });
}
-async function getReleaseInfo (os) {
- const cache = JSON.parse(localStorage.getItem("artifacts"));
+async function getReleaseInfo(os, currentArch) {
+ let cache = JSON.parse(localStorage.getItem("artifacts"));
+
+ // Check if cache is missing required fields
+ let cacheInvalid = false;
+ if (
+ !cache ||
+ !cache.data ||
+ !cache.platform ||
+ !Array.isArray(cache.data) ||
+ cache.data.some(
+ (r) =>
+ typeof r.version === "undefined" ||
+ typeof r.url === "undefined" ||
+ typeof r.ext === "undefined" ||
+ !("arch" in r),
+ )
+ ) {
+ cacheInvalid = true;
+ localStorage.removeItem("artifacts");
+ cache = null;
+ }
- if (shouldRegenRequest(cache) || cache.platform !== os) {
+ if (cacheInvalid || shouldRegenRequest(cache) || cache.platform !== os) {
const resp = await (
await fetch("https://api.github.com/repos/Moosync/Moosync/releases")
).json();
+ console.debug("got assets resp", resp);
if (resp.length > 0) {
const latest = resp[0];
const downloadAssets = getLatestAsset(os, latest.assets);
const ret = [];
for (const asset of downloadAssets) {
- ret.push({
- version: latest.name,
- url: asset.browser_download_url,
- ext: extractExtension(asset.name),
- });
+ const ext = extractExtension(asset.name);
+ let arch = null;
+ const url = asset.browser_download_url;
+
+ // Special case for rpm: Moosync-11.0.2-1.aarch64.rpm
+ let match = url.match(/\.([^.]+)\.rpm$/i);
+ if (match && match[1]) {
+ arch = sanitizeArch(match[1]);
+ } else if (
+ (match = url.match(/Moosync_([\w\d]+)\.app\.tar\.gz$/i)) &&
+ match[1]
+ ) {
+ arch = sanitizeArch(match[1]);
+ } else if ((match = url.match(/_([\w\d]+)(?=\.[^.]+$)/i)) && match[1]) {
+ arch = sanitizeArch(match[1]);
+ }
+
+ console.debug(arch, currentArch, ext, url);
+ if (arch === currentArch || !arch) {
+ ret.push({
+ version: latest.name.replace("Moosync", "").trim(),
+ url: url,
+ ext: ext,
+ arch: arch,
+ });
+ }
}
- setCache("artifacts", { platform: os, data: ret, expiry: getExpiryTime() });
+ setCache("artifacts", {
+ platform: os,
+ data: ret,
+ expiry: getExpiryTime(),
+ });
return ret;
}
}
@@ -74,7 +140,7 @@ async function getReleaseInfo (os) {
return cache.data;
}
-function getIconClass (os) {
+function getIconClass(os) {
switch (os) {
case OSEnum.WINDOWS:
return "icon-win";
@@ -85,86 +151,162 @@ function getIconClass (os) {
}
}
-function extractExtension (fileName) {
+function extractExtension(fileName) {
const split = fileName.split(".");
- if (split.at(-1) !== "gz") {
- return split.at(-1);
+ if (split[split.length - 1] !== "gz") {
+ return split[split.length - 1];
}
- return split.at(-2) + "." + split.at(-1);
+ return split[split.length - 2] + "." + split[split.length - 1];
}
-function getSanitizedLinuxName (ext) {
- switch (ext) {
- case 'deb':
- return 'Debian (.deb)'
- case 'pacman':
- return 'Arch Linux (.pacman)'
- default:
- return ext
+function sanitizeArch(arch) {
+ if (arch === "amd64" || arch === "x86_64") {
+ return "x64";
+ } else if (arch === "aarch64") {
+ return "armv8";
}
+ return arch;
}
-export async function setupDownloadButton () {
- const os = getOS();
- const downloadParent = document.getElementById("downloads");
-
- if (os && os !== OSEnum.UNDEFINED) {
- const releases = await getReleaseInfo(os);
-
- if (releases.length === 1) {
- const release = releases[0]
- const buttonTemplate = document.getElementById("download-template-single").content;
- const clone = buttonTemplate.cloneNode(true);
- const button = clone.getElementById("download-button");
-
- button.title = button.title.replace("${os}", getReaderFriendlyName(os));
- button.innerHTML = button.innerHTML.replace(
- "${version}",
- `${release.version}`
- );
- button.id = `${release.version} ${release.ext}`
+function getCurrentArch() {
+ if (navigator.userAgentData && navigator.userAgentData.architecture) {
+ return sanitizeArch(navigator.userAgentData.architecture);
+ }
- clone.getElementById("download-icon").classList.add(getIconClass(os));
- downloadParent.appendChild(document.importNode(clone, true));
+ const ua = navigator.userAgent.toLowerCase();
+ const platform = navigator.platform.toLowerCase();
- document.getElementById(`${release.version} ${release.ext}`).onclick = () => window.open(release.url)
+ if (ua.includes("arm") || platform.includes("arm")) {
+ if (ua.includes("aarch64") || platform.includes("aarch64")) {
+ return "armv8";
}
+ return "arm";
+ }
+ if (
+ ua.includes("x86_64") ||
+ ua.includes("win64") ||
+ platform.includes("x86_64") ||
+ platform.includes("win64")
+ ) {
+ return "x64";
+ }
+ if (ua.includes("amd64") || platform.includes("amd64")) {
+ return "x64";
+ }
+ if (
+ ua.includes("i686") ||
+ ua.includes("i386") ||
+ platform.includes("i686") ||
+ platform.includes("i386")
+ ) {
+ return "x86";
+ }
+ return "unknown";
+}
- if (releases.length > 1) {
- const buttonTemplate = document.getElementById('download-template-multi').content
- const clone = buttonTemplate.cloneNode(true)
-
- const downloadText = clone.getElementById('download-text')
- downloadText.innerHTML = downloadText.innerHTML.replace('${version}', releases[0].version)
-
- downloadParent.appendChild(document.importNode(clone, true));
-
- const optionsContainer = document.getElementById('options-container')
-
- for (const release of releases) {
- const optionDiv = document.createElement('div')
- optionDiv.classList.add('option')
- optionDiv.innerHTML = `${getSanitizedLinuxName(release.ext)}`
- optionsContainer.appendChild(optionDiv)
+function getSanitizedLinuxName(release) {
+ let name;
+ let ext = release.ext;
+ let arch = release.arch;
- optionDiv.onclick = () => window.open(release.url)
- }
+ switch (ext) {
+ case "deb":
+ name = "Debian (.deb)";
+ break;
+ case "pacman":
+ name = "Arch Linux (.pacman)";
+ break;
+ case "rpm":
+ name = "Fedora (.rpm)";
+ break;
+ case "AppImage":
+ name = "AppImage";
+ break;
+ default:
+ name = ext;
+ }
+ return arch ? `${name} (${arch})` : name;
+}
- const selected = document.querySelector('.selected');
+function getSanitizedName(release) {
+ if (
+ release.url.includes("rpm") ||
+ release.url.includes("deb") ||
+ release.url.includes("AppImage")
+ ) {
+ return getSanitizedLinuxName(release);
+ }
- selected.addEventListener("click", () => {
- optionsContainer.classList.toggle("options__active");
- })
+ const match = release.url.match(/^.*\/.*-\d+\.\d+\.\d+-([^.]*)\.(.*)$/);
- }
+ return match && match.length === 3 ? `${match[1]}.${match[2]}` : release.ext;
+}
- } else {
- downloadParent.innerHTML =
- "Sorry Moosync is not available for your platform yet";
+export async function setupDownloadButton() {
+ const os = getOS();
+ const downloadParent = document.getElementById("downloads");
+ const currentArch = getCurrentArch();
+
+ if (!(os && os !== OSEnum.UNDEFINED)) {
+ setElemProperty(
+ "downloads",
+ "innerHTML",
+ "Sorry Moosync is not available for your platform yet",
+ );
+ return;
}
- document.getElementById('other-download').onclick = () => {
- window.open('https://github.com/Moosync/Moosync/releases/latest')
+ const releases = await getReleaseInfo(os, currentArch);
+ const osReadable = getReaderFriendlyName(os);
+
+ if (releases.length === 0) return;
+
+ if (releases.length === 1) {
+ const release = releases[0];
+ const clone = document
+ .getElementById("download-template-single")
+ .content.cloneNode(true);
+ const button = clone.getElementById("download-button");
+
+ button.title = button.title.replace("${os}", osReadable);
+ button.innerHTML = button.innerHTML.replace(
+ "${version}",
+ `${release.version}`,
+ );
+ button.id = `${release.version} ${release.ext}`;
+ clone.getElementById("download-icon").classList.add(getIconClass(os));
+
+ callElemMethod(
+ "downloads",
+ "appendChild",
+ document.importNode(clone, true),
+ );
+ document.getElementById(button.id).onclick = () => window.open(release.url);
+ return;
}
+
+ // Multi-release UI
+ const clone = document
+ .getElementById("download-template-multi")
+ .content.cloneNode(true);
+ const downloadText = clone.getElementById("download-text");
+ downloadText.innerHTML = downloadText.innerHTML
+ .replace("${version}", releases[0].version)
+ .replace("${os}", osReadable);
+
+ callElemMethod("downloads", "appendChild", document.importNode(clone, true));
+ const optionsContainer = document.getElementById("options-container");
+
+ releases.forEach((release) => {
+ const optionDiv = document.createElement("div");
+ optionDiv.classList.add("option");
+ optionDiv.innerHTML = getSanitizedName(release);
+ optionDiv.onclick = () => window.open(release.url);
+ optionsContainer.appendChild(optionDiv);
+ });
+
+ document.querySelector(".selected").addEventListener("click", () => {
+ optionsContainer.classList.toggle("options__active");
+ });
}
diff --git a/assets/js/locationUtils.js b/assets/js/locationUtils.js
index 2c4d01f..3ce820a 100644
--- a/assets/js/locationUtils.js
+++ b/assets/js/locationUtils.js
@@ -1,10 +1,11 @@
export function getProviderFromURL () {
- return window.location.pathname.match('youtube|spotify|lastfm') || []
+ return window.location.pathname.match('youtube|spotify|lastfm|invidious') || []
}
export function getProviderColor (provider) {
switch (provider) {
case 'youtube':
+ case 'invidious':
return '#E62017'
case 'spotify':
return '#1ED760'
@@ -25,5 +26,7 @@ export function getProviderRedirectURL (provider) {
return 'spotifyoauthcallback'
case 'lastfm':
return 'lastfmCallback'
+ case 'invidious':
+ return 'invidiousCallback'
}
-}
\ No newline at end of file
+}
diff --git a/docs/assets/search.js b/docs/assets/search.js
index 6c47081..6b610d3 100644
--- a/docs/assets/search.js
+++ b/docs/assets/search.js
@@ -1 +1 @@
-window.searchData = {"kinds":{"2":"Module","32":"Variable","256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":2,"name":"index","url":"modules/index.html","classes":"tsd-kind-module"},{"id":1,"kind":32,"name":"EXTENSION_ENTRY_POINT","url":"modules/index.html#EXTENSION_ENTRY_POINT","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"index"},{"id":2,"kind":256,"name":"ExtensionData","url":"interfaces/index.ExtensionData.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":3,"kind":1024,"name":"extensionDescriptors","url":"interfaces/index.ExtensionData.html#extensionDescriptors","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.ExtensionData"},{"id":4,"kind":256,"name":"Checkbox","url":"interfaces/index.Checkbox.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":5,"kind":1024,"name":"key","url":"interfaces/index.Checkbox.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.Checkbox"},{"id":6,"kind":1024,"name":"title","url":"interfaces/index.Checkbox.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.Checkbox"},{"id":7,"kind":1024,"name":"enabled","url":"interfaces/index.Checkbox.html#enabled","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.Checkbox"},{"id":8,"kind":256,"name":"PathGroup","url":"interfaces/index.PathGroup.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":9,"kind":1024,"name":"path","url":"interfaces/index.PathGroup.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.PathGroup"},{"id":10,"kind":1024,"name":"enabled","url":"interfaces/index.PathGroup.html#enabled","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.PathGroup"},{"id":11,"kind":4194304,"name":"ExtensionPreferenceGroup","url":"modules/index.html#ExtensionPreferenceGroup","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"index"},{"id":12,"kind":256,"name":"ExtensionFactory","url":"interfaces/index.ExtensionFactory.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":13,"kind":2048,"name":"registerPreferences","url":"interfaces/index.ExtensionFactory.html#registerPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.ExtensionFactory"},{"id":14,"kind":2048,"name":"create","url":"interfaces/index.ExtensionFactory.html#create","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.ExtensionFactory"},{"id":15,"kind":256,"name":"MoosyncExtensionTemplate","url":"interfaces/index.MoosyncExtensionTemplate.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":16,"kind":2048,"name":"onStarted","url":"interfaces/index.MoosyncExtensionTemplate.html#onStarted","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":17,"kind":2048,"name":"onStopped","url":"interfaces/index.MoosyncExtensionTemplate.html#onStopped","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":18,"kind":2048,"name":"onSongChanged","url":"interfaces/index.MoosyncExtensionTemplate.html#onSongChanged","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":19,"kind":2048,"name":"onPlayerStateChanged","url":"interfaces/index.MoosyncExtensionTemplate.html#onPlayerStateChanged","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":20,"kind":2048,"name":"onVolumeChanged","url":"interfaces/index.MoosyncExtensionTemplate.html#onVolumeChanged","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":21,"kind":2048,"name":"onSeeked","url":"interfaces/index.MoosyncExtensionTemplate.html#onSeeked","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":22,"kind":2048,"name":"onSongQueueChanged","url":"interfaces/index.MoosyncExtensionTemplate.html#onSongQueueChanged","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":23,"kind":2048,"name":"onPreferenceChanged","url":"interfaces/index.MoosyncExtensionTemplate.html#onPreferenceChanged","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.MoosyncExtensionTemplate"},{"id":24,"kind":4194304,"name":"sortOptions","url":"modules/index.html#sortOptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"index"},{"id":25,"kind":65536,"name":"__type","url":"modules/index.html#sortOptions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"index.sortOptions"},{"id":26,"kind":1024,"name":"type","url":"modules/index.html#sortOptions.__type.type","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"index.sortOptions.__type"},{"id":27,"kind":1024,"name":"asc","url":"modules/index.html#sortOptions.__type.asc","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"index.sortOptions.__type"},{"id":28,"kind":256,"name":"SongAPIOptions","url":"interfaces/index.SongAPIOptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":29,"kind":1024,"name":"song","url":"interfaces/index.SongAPIOptions.html#song","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":30,"kind":1024,"name":"album","url":"interfaces/index.SongAPIOptions.html#album","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":31,"kind":1024,"name":"artist","url":"interfaces/index.SongAPIOptions.html#artist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":32,"kind":1024,"name":"genre","url":"interfaces/index.SongAPIOptions.html#genre","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":33,"kind":1024,"name":"playlist","url":"interfaces/index.SongAPIOptions.html#playlist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":34,"kind":1024,"name":"sortBy","url":"interfaces/index.SongAPIOptions.html#sortBy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":35,"kind":1024,"name":"inclusive","url":"interfaces/index.SongAPIOptions.html#inclusive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.SongAPIOptions"},{"id":36,"kind":4194304,"name":"EntityApiOptions","url":"modules/index.html#EntityApiOptions","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"index"},{"id":37,"kind":256,"name":"playerControls","url":"interfaces/index.playerControls.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":38,"kind":2048,"name":"play","url":"interfaces/index.playerControls.html#play","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.playerControls"},{"id":39,"kind":2048,"name":"pause","url":"interfaces/index.playerControls.html#pause","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.playerControls"},{"id":40,"kind":2048,"name":"stop","url":"interfaces/index.playerControls.html#stop","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.playerControls"},{"id":41,"kind":2048,"name":"nextSong","url":"interfaces/index.playerControls.html#nextSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.playerControls"},{"id":42,"kind":2048,"name":"prevSong","url":"interfaces/index.playerControls.html#prevSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.playerControls"},{"id":43,"kind":256,"name":"extensionAPI","url":"interfaces/index.extensionAPI.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"index"},{"id":44,"kind":2048,"name":"getSongs","url":"interfaces/index.extensionAPI.html#getSongs","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":45,"kind":2048,"name":"getCurrentSong","url":"interfaces/index.extensionAPI.html#getCurrentSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":46,"kind":2048,"name":"getPlayerState","url":"interfaces/index.extensionAPI.html#getPlayerState","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":47,"kind":2048,"name":"getVolume","url":"interfaces/index.extensionAPI.html#getVolume","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":48,"kind":2048,"name":"getTime","url":"interfaces/index.extensionAPI.html#getTime","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":49,"kind":2048,"name":"getQueue","url":"interfaces/index.extensionAPI.html#getQueue","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":50,"kind":2048,"name":"getPreferences","url":"interfaces/index.extensionAPI.html#getPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":51,"kind":2048,"name":"setPreferences","url":"interfaces/index.extensionAPI.html#setPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":52,"kind":1024,"name":"player","url":"interfaces/index.extensionAPI.html#player","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"index.extensionAPI"},{"id":53,"kind":2,"name":"models","url":"modules/models.html","classes":"tsd-kind-module"},{"id":54,"kind":256,"name":"Album","url":"interfaces/models.Album.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":55,"kind":1024,"name":"album_id","url":"interfaces/models.Album.html#album_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":56,"kind":1024,"name":"album_name","url":"interfaces/models.Album.html#album_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":57,"kind":1024,"name":"album_coverPath","url":"interfaces/models.Album.html#album_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":58,"kind":1024,"name":"album_song_count","url":"interfaces/models.Album.html#album_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":59,"kind":1024,"name":"album_artist","url":"interfaces/models.Album.html#album_artist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":60,"kind":1024,"name":"year","url":"interfaces/models.Album.html#year","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Album"},{"id":61,"kind":256,"name":"artists","url":"interfaces/models.artists.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":62,"kind":1024,"name":"artist_id","url":"interfaces/models.artists.html#artist_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.artists"},{"id":63,"kind":1024,"name":"artist_name","url":"interfaces/models.artists.html#artist_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.artists"},{"id":64,"kind":1024,"name":"artist_mbid","url":"interfaces/models.artists.html#artist_mbid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.artists"},{"id":65,"kind":1024,"name":"artist_coverPath","url":"interfaces/models.artists.html#artist_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.artists"},{"id":66,"kind":1024,"name":"artist_song_count","url":"interfaces/models.artists.html#artist_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.artists"},{"id":67,"kind":256,"name":"Genre","url":"interfaces/models.Genre.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":68,"kind":1024,"name":"genre_id","url":"interfaces/models.Genre.html#genre_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Genre"},{"id":69,"kind":1024,"name":"genre_name","url":"interfaces/models.Genre.html#genre_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Genre"},{"id":70,"kind":1024,"name":"genre_song_count","url":"interfaces/models.Genre.html#genre_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Genre"},{"id":71,"kind":256,"name":"Playlist","url":"interfaces/models.Playlist.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":72,"kind":1024,"name":"playlist_id","url":"interfaces/models.Playlist.html#playlist_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Playlist"},{"id":73,"kind":1024,"name":"playlist_name","url":"interfaces/models.Playlist.html#playlist_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Playlist"},{"id":74,"kind":1024,"name":"playlist_coverPath","url":"interfaces/models.Playlist.html#playlist_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Playlist"},{"id":75,"kind":1024,"name":"playlist_songs","url":"interfaces/models.Playlist.html#playlist_songs","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Playlist"},{"id":76,"kind":1024,"name":"playlist_song_count","url":"interfaces/models.Playlist.html#playlist_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Playlist"},{"id":77,"kind":256,"name":"Song","url":"interfaces/models.Song.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":78,"kind":1024,"name":"_id","url":"interfaces/models.Song.html#_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":79,"kind":1024,"name":"path","url":"interfaces/models.Song.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":80,"kind":1024,"name":"size","url":"interfaces/models.Song.html#size","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":81,"kind":1024,"name":"title","url":"interfaces/models.Song.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":82,"kind":1024,"name":"song_coverPath","url":"interfaces/models.Song.html#song_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":83,"kind":1024,"name":"album","url":"interfaces/models.Song.html#album","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":84,"kind":1024,"name":"artists","url":"interfaces/models.Song.html#artists","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":85,"kind":1024,"name":"date","url":"interfaces/models.Song.html#date","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":86,"kind":1024,"name":"year","url":"interfaces/models.Song.html#year","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":87,"kind":1024,"name":"genre","url":"interfaces/models.Song.html#genre","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":88,"kind":1024,"name":"lyrics","url":"interfaces/models.Song.html#lyrics","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":89,"kind":1024,"name":"releaseType","url":"interfaces/models.Song.html#releaseType","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":90,"kind":1024,"name":"bitrate","url":"interfaces/models.Song.html#bitrate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":91,"kind":1024,"name":"codec","url":"interfaces/models.Song.html#codec","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":92,"kind":1024,"name":"container","url":"interfaces/models.Song.html#container","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":93,"kind":1024,"name":"duration","url":"interfaces/models.Song.html#duration","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":94,"kind":1024,"name":"sampleRate","url":"interfaces/models.Song.html#sampleRate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":95,"kind":1024,"name":"hash","url":"interfaces/models.Song.html#hash","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":96,"kind":1024,"name":"inode","url":"interfaces/models.Song.html#inode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":97,"kind":1024,"name":"deviceno","url":"interfaces/models.Song.html#deviceno","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":98,"kind":1024,"name":"url","url":"interfaces/models.Song.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":99,"kind":1024,"name":"playbackUrl","url":"interfaces/models.Song.html#playbackUrl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":100,"kind":1024,"name":"type","url":"interfaces/models.Song.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.Song"},{"id":101,"kind":256,"name":"SearchableSong","url":"interfaces/models.SearchableSong.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":102,"kind":1024,"name":"_id","url":"interfaces/models.SearchableSong.html#_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":103,"kind":1024,"name":"path","url":"interfaces/models.SearchableSong.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":104,"kind":1024,"name":"title","url":"interfaces/models.SearchableSong.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":105,"kind":1024,"name":"url","url":"interfaces/models.SearchableSong.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":106,"kind":1024,"name":"playbackUrl","url":"interfaces/models.SearchableSong.html#playbackUrl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":107,"kind":1024,"name":"hash","url":"interfaces/models.SearchableSong.html#hash","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":108,"kind":1024,"name":"type","url":"interfaces/models.SearchableSong.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SearchableSong"},{"id":109,"kind":4194304,"name":"PlayerState","url":"modules/models.html#PlayerState","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"models"},{"id":110,"kind":256,"name":"SongQueue","url":"interfaces/models.SongQueue.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"models"},{"id":111,"kind":1024,"name":"data","url":"interfaces/models.SongQueue.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SongQueue"},{"id":112,"kind":65536,"name":"__type","url":"interfaces/models.SongQueue.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"models.SongQueue"},{"id":113,"kind":1024,"name":"order","url":"interfaces/models.SongQueue.html#order","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SongQueue"},{"id":114,"kind":1024,"name":"index","url":"interfaces/models.SongQueue.html#index","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"models.SongQueue"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,20.794]],["parent/0",[]],["name/1",[1,43.481]],["parent/1",[0,2.064]],["name/2",[2,43.481]],["parent/2",[0,2.064]],["name/3",[3,43.481]],["parent/3",[4,4.317]],["name/4",[5,43.481]],["parent/4",[0,2.064]],["name/5",[6,43.481]],["parent/5",[7,3.476]],["name/6",[8,35.008]],["parent/6",[7,3.476]],["name/7",[9,38.373]],["parent/7",[7,3.476]],["name/8",[10,43.481]],["parent/8",[0,2.064]],["name/9",[11,35.008]],["parent/9",[12,3.81]],["name/10",[9,38.373]],["parent/10",[12,3.81]],["name/11",[13,43.481]],["parent/11",[0,2.064]],["name/12",[14,43.481]],["parent/12",[0,2.064]],["name/13",[15,43.481]],["parent/13",[16,3.81]],["name/14",[17,43.481]],["parent/14",[16,3.81]],["name/15",[18,43.481]],["parent/15",[0,2.064]],["name/16",[19,43.481]],["parent/16",[20,2.595]],["name/17",[21,43.481]],["parent/17",[20,2.595]],["name/18",[22,43.481]],["parent/18",[20,2.595]],["name/19",[23,43.481]],["parent/19",[20,2.595]],["name/20",[24,43.481]],["parent/20",[20,2.595]],["name/21",[25,43.481]],["parent/21",[20,2.595]],["name/22",[26,43.481]],["parent/22",[20,2.595]],["name/23",[27,43.481]],["parent/23",[20,2.595]],["name/24",[28,43.481]],["parent/24",[0,2.064]],["name/25",[29,38.373]],["parent/25",[30,4.317]],["name/26",[31,35.008]],["parent/26",[32,3.81]],["name/27",[33,43.481]],["parent/27",[32,3.81]],["name/28",[34,43.481]],["parent/28",[0,2.064]],["name/29",[35,38.373]],["parent/29",[36,2.719]],["name/30",[37,35.008]],["parent/30",[36,2.719]],["name/31",[38,43.481]],["parent/31",[36,2.719]],["name/32",[39,35.008]],["parent/32",[36,2.719]],["name/33",[40,38.373]],["parent/33",[36,2.719]],["name/34",[41,43.481]],["parent/34",[36,2.719]],["name/35",[42,43.481]],["parent/35",[36,2.719]],["name/36",[43,43.481]],["parent/36",[0,2.064]],["name/37",[44,43.481]],["parent/37",[0,2.064]],["name/38",[45,43.481]],["parent/38",[46,3.027]],["name/39",[47,43.481]],["parent/39",[46,3.027]],["name/40",[48,43.481]],["parent/40",[46,3.027]],["name/41",[49,43.481]],["parent/41",[46,3.027]],["name/42",[50,43.481]],["parent/42",[46,3.027]],["name/43",[51,43.481]],["parent/43",[0,2.064]],["name/44",[52,43.481]],["parent/44",[53,2.484]],["name/45",[54,43.481]],["parent/45",[53,2.484]],["name/46",[55,43.481]],["parent/46",[53,2.484]],["name/47",[56,43.481]],["parent/47",[53,2.484]],["name/48",[57,43.481]],["parent/48",[53,2.484]],["name/49",[58,43.481]],["parent/49",[53,2.484]],["name/50",[59,43.481]],["parent/50",[53,2.484]],["name/51",[60,43.481]],["parent/51",[53,2.484]],["name/52",[61,43.481]],["parent/52",[53,2.484]],["name/53",[62,25.023]],["parent/53",[]],["name/54",[37,35.008]],["parent/54",[62,2.484]],["name/55",[63,43.481]],["parent/55",[64,2.861]],["name/56",[65,43.481]],["parent/56",[64,2.861]],["name/57",[66,43.481]],["parent/57",[64,2.861]],["name/58",[67,43.481]],["parent/58",[64,2.861]],["name/59",[68,43.481]],["parent/59",[64,2.861]],["name/60",[69,38.373]],["parent/60",[64,2.861]],["name/61",[70,38.373]],["parent/61",[62,2.484]],["name/62",[71,43.481]],["parent/62",[72,3.027]],["name/63",[73,43.481]],["parent/63",[72,3.027]],["name/64",[74,43.481]],["parent/64",[72,3.027]],["name/65",[75,43.481]],["parent/65",[72,3.027]],["name/66",[76,43.481]],["parent/66",[72,3.027]],["name/67",[39,35.008]],["parent/67",[62,2.484]],["name/68",[77,43.481]],["parent/68",[78,3.476]],["name/69",[79,43.481]],["parent/69",[78,3.476]],["name/70",[80,43.481]],["parent/70",[78,3.476]],["name/71",[40,38.373]],["parent/71",[62,2.484]],["name/72",[81,43.481]],["parent/72",[82,3.027]],["name/73",[83,43.481]],["parent/73",[82,3.027]],["name/74",[84,43.481]],["parent/74",[82,3.027]],["name/75",[85,43.481]],["parent/75",[82,3.027]],["name/76",[86,43.481]],["parent/76",[82,3.027]],["name/77",[35,38.373]],["parent/77",[62,2.484]],["name/78",[87,38.373]],["parent/78",[88,1.585]],["name/79",[11,35.008]],["parent/79",[88,1.585]],["name/80",[89,43.481]],["parent/80",[88,1.585]],["name/81",[8,35.008]],["parent/81",[88,1.585]],["name/82",[90,43.481]],["parent/82",[88,1.585]],["name/83",[37,35.008]],["parent/83",[88,1.585]],["name/84",[70,38.373]],["parent/84",[88,1.585]],["name/85",[91,43.481]],["parent/85",[88,1.585]],["name/86",[69,38.373]],["parent/86",[88,1.585]],["name/87",[39,35.008]],["parent/87",[88,1.585]],["name/88",[92,43.481]],["parent/88",[88,1.585]],["name/89",[93,43.481]],["parent/89",[88,1.585]],["name/90",[94,43.481]],["parent/90",[88,1.585]],["name/91",[95,43.481]],["parent/91",[88,1.585]],["name/92",[96,43.481]],["parent/92",[88,1.585]],["name/93",[97,43.481]],["parent/93",[88,1.585]],["name/94",[98,43.481]],["parent/94",[88,1.585]],["name/95",[99,38.373]],["parent/95",[88,1.585]],["name/96",[100,43.481]],["parent/96",[88,1.585]],["name/97",[101,43.481]],["parent/97",[88,1.585]],["name/98",[102,38.373]],["parent/98",[88,1.585]],["name/99",[103,38.373]],["parent/99",[88,1.585]],["name/100",[31,35.008]],["parent/100",[88,1.585]],["name/101",[104,43.481]],["parent/101",[62,2.484]],["name/102",[87,38.373]],["parent/102",[105,2.719]],["name/103",[11,35.008]],["parent/103",[105,2.719]],["name/104",[8,35.008]],["parent/104",[105,2.719]],["name/105",[102,38.373]],["parent/105",[105,2.719]],["name/106",[103,38.373]],["parent/106",[105,2.719]],["name/107",[99,38.373]],["parent/107",[105,2.719]],["name/108",[31,35.008]],["parent/108",[105,2.719]],["name/109",[106,43.481]],["parent/109",[62,2.484]],["name/110",[107,43.481]],["parent/110",[62,2.484]],["name/111",[108,43.481]],["parent/111",[109,3.226]],["name/112",[29,38.373]],["parent/112",[109,3.226]],["name/113",[110,43.481]],["parent/113",[109,3.226]],["name/114",[0,20.794]],["parent/114",[109,3.226]]],"invertedIndex":[["__type",{"_index":29,"name":{"25":{},"112":{}},"parent":{}}],["_id",{"_index":87,"name":{"78":{},"102":{}},"parent":{}}],["album",{"_index":37,"name":{"30":{},"54":{},"83":{}},"parent":{}}],["album_artist",{"_index":68,"name":{"59":{}},"parent":{}}],["album_coverpath",{"_index":66,"name":{"57":{}},"parent":{}}],["album_id",{"_index":63,"name":{"55":{}},"parent":{}}],["album_name",{"_index":65,"name":{"56":{}},"parent":{}}],["album_song_count",{"_index":67,"name":{"58":{}},"parent":{}}],["artist",{"_index":38,"name":{"31":{}},"parent":{}}],["artist_coverpath",{"_index":75,"name":{"65":{}},"parent":{}}],["artist_id",{"_index":71,"name":{"62":{}},"parent":{}}],["artist_mbid",{"_index":74,"name":{"64":{}},"parent":{}}],["artist_name",{"_index":73,"name":{"63":{}},"parent":{}}],["artist_song_count",{"_index":76,"name":{"66":{}},"parent":{}}],["artists",{"_index":70,"name":{"61":{},"84":{}},"parent":{}}],["asc",{"_index":33,"name":{"27":{}},"parent":{}}],["bitrate",{"_index":94,"name":{"90":{}},"parent":{}}],["checkbox",{"_index":5,"name":{"4":{}},"parent":{}}],["codec",{"_index":95,"name":{"91":{}},"parent":{}}],["container",{"_index":96,"name":{"92":{}},"parent":{}}],["create",{"_index":17,"name":{"14":{}},"parent":{}}],["data",{"_index":108,"name":{"111":{}},"parent":{}}],["date",{"_index":91,"name":{"85":{}},"parent":{}}],["deviceno",{"_index":101,"name":{"97":{}},"parent":{}}],["duration",{"_index":97,"name":{"93":{}},"parent":{}}],["enabled",{"_index":9,"name":{"7":{},"10":{}},"parent":{}}],["entityapioptions",{"_index":43,"name":{"36":{}},"parent":{}}],["extension_entry_point",{"_index":1,"name":{"1":{}},"parent":{}}],["extensionapi",{"_index":51,"name":{"43":{}},"parent":{}}],["extensiondata",{"_index":2,"name":{"2":{}},"parent":{}}],["extensiondescriptors",{"_index":3,"name":{"3":{}},"parent":{}}],["extensionfactory",{"_index":14,"name":{"12":{}},"parent":{}}],["extensionpreferencegroup",{"_index":13,"name":{"11":{}},"parent":{}}],["genre",{"_index":39,"name":{"32":{},"67":{},"87":{}},"parent":{}}],["genre_id",{"_index":77,"name":{"68":{}},"parent":{}}],["genre_name",{"_index":79,"name":{"69":{}},"parent":{}}],["genre_song_count",{"_index":80,"name":{"70":{}},"parent":{}}],["getcurrentsong",{"_index":54,"name":{"45":{}},"parent":{}}],["getplayerstate",{"_index":55,"name":{"46":{}},"parent":{}}],["getpreferences",{"_index":59,"name":{"50":{}},"parent":{}}],["getqueue",{"_index":58,"name":{"49":{}},"parent":{}}],["getsongs",{"_index":52,"name":{"44":{}},"parent":{}}],["gettime",{"_index":57,"name":{"48":{}},"parent":{}}],["getvolume",{"_index":56,"name":{"47":{}},"parent":{}}],["hash",{"_index":99,"name":{"95":{},"107":{}},"parent":{}}],["inclusive",{"_index":42,"name":{"35":{}},"parent":{}}],["index",{"_index":0,"name":{"0":{},"114":{}},"parent":{"1":{},"2":{},"4":{},"8":{},"11":{},"12":{},"15":{},"24":{},"28":{},"36":{},"37":{},"43":{}}}],["index.checkbox",{"_index":7,"name":{},"parent":{"5":{},"6":{},"7":{}}}],["index.extensionapi",{"_index":53,"name":{},"parent":{"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{}}}],["index.extensiondata",{"_index":4,"name":{},"parent":{"3":{}}}],["index.extensionfactory",{"_index":16,"name":{},"parent":{"13":{},"14":{}}}],["index.moosyncextensiontemplate",{"_index":20,"name":{},"parent":{"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{}}}],["index.pathgroup",{"_index":12,"name":{},"parent":{"9":{},"10":{}}}],["index.playercontrols",{"_index":46,"name":{},"parent":{"38":{},"39":{},"40":{},"41":{},"42":{}}}],["index.songapioptions",{"_index":36,"name":{},"parent":{"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{}}}],["index.sortoptions",{"_index":30,"name":{},"parent":{"25":{}}}],["index.sortoptions.__type",{"_index":32,"name":{},"parent":{"26":{},"27":{}}}],["inode",{"_index":100,"name":{"96":{}},"parent":{}}],["key",{"_index":6,"name":{"5":{}},"parent":{}}],["lyrics",{"_index":92,"name":{"88":{}},"parent":{}}],["models",{"_index":62,"name":{"53":{}},"parent":{"54":{},"61":{},"67":{},"71":{},"77":{},"101":{},"109":{},"110":{}}}],["models.album",{"_index":64,"name":{},"parent":{"55":{},"56":{},"57":{},"58":{},"59":{},"60":{}}}],["models.artists",{"_index":72,"name":{},"parent":{"62":{},"63":{},"64":{},"65":{},"66":{}}}],["models.genre",{"_index":78,"name":{},"parent":{"68":{},"69":{},"70":{}}}],["models.playlist",{"_index":82,"name":{},"parent":{"72":{},"73":{},"74":{},"75":{},"76":{}}}],["models.searchablesong",{"_index":105,"name":{},"parent":{"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{}}}],["models.song",{"_index":88,"name":{},"parent":{"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{},"94":{},"95":{},"96":{},"97":{},"98":{},"99":{},"100":{}}}],["models.songqueue",{"_index":109,"name":{},"parent":{"111":{},"112":{},"113":{},"114":{}}}],["moosyncextensiontemplate",{"_index":18,"name":{"15":{}},"parent":{}}],["nextsong",{"_index":49,"name":{"41":{}},"parent":{}}],["onplayerstatechanged",{"_index":23,"name":{"19":{}},"parent":{}}],["onpreferencechanged",{"_index":27,"name":{"23":{}},"parent":{}}],["onseeked",{"_index":25,"name":{"21":{}},"parent":{}}],["onsongchanged",{"_index":22,"name":{"18":{}},"parent":{}}],["onsongqueuechanged",{"_index":26,"name":{"22":{}},"parent":{}}],["onstarted",{"_index":19,"name":{"16":{}},"parent":{}}],["onstopped",{"_index":21,"name":{"17":{}},"parent":{}}],["onvolumechanged",{"_index":24,"name":{"20":{}},"parent":{}}],["order",{"_index":110,"name":{"113":{}},"parent":{}}],["path",{"_index":11,"name":{"9":{},"79":{},"103":{}},"parent":{}}],["pathgroup",{"_index":10,"name":{"8":{}},"parent":{}}],["pause",{"_index":47,"name":{"39":{}},"parent":{}}],["play",{"_index":45,"name":{"38":{}},"parent":{}}],["playbackurl",{"_index":103,"name":{"99":{},"106":{}},"parent":{}}],["player",{"_index":61,"name":{"52":{}},"parent":{}}],["playercontrols",{"_index":44,"name":{"37":{}},"parent":{}}],["playerstate",{"_index":106,"name":{"109":{}},"parent":{}}],["playlist",{"_index":40,"name":{"33":{},"71":{}},"parent":{}}],["playlist_coverpath",{"_index":84,"name":{"74":{}},"parent":{}}],["playlist_id",{"_index":81,"name":{"72":{}},"parent":{}}],["playlist_name",{"_index":83,"name":{"73":{}},"parent":{}}],["playlist_song_count",{"_index":86,"name":{"76":{}},"parent":{}}],["playlist_songs",{"_index":85,"name":{"75":{}},"parent":{}}],["prevsong",{"_index":50,"name":{"42":{}},"parent":{}}],["registerpreferences",{"_index":15,"name":{"13":{}},"parent":{}}],["releasetype",{"_index":93,"name":{"89":{}},"parent":{}}],["samplerate",{"_index":98,"name":{"94":{}},"parent":{}}],["searchablesong",{"_index":104,"name":{"101":{}},"parent":{}}],["setpreferences",{"_index":60,"name":{"51":{}},"parent":{}}],["size",{"_index":89,"name":{"80":{}},"parent":{}}],["song",{"_index":35,"name":{"29":{},"77":{}},"parent":{}}],["song_coverpath",{"_index":90,"name":{"82":{}},"parent":{}}],["songapioptions",{"_index":34,"name":{"28":{}},"parent":{}}],["songqueue",{"_index":107,"name":{"110":{}},"parent":{}}],["sortby",{"_index":41,"name":{"34":{}},"parent":{}}],["sortoptions",{"_index":28,"name":{"24":{}},"parent":{}}],["stop",{"_index":48,"name":{"40":{}},"parent":{}}],["title",{"_index":8,"name":{"6":{},"81":{},"104":{}},"parent":{}}],["type",{"_index":31,"name":{"26":{},"100":{},"108":{}},"parent":{}}],["url",{"_index":102,"name":{"98":{},"105":{}},"parent":{}}],["year",{"_index":69,"name":{"60":{},"86":{}},"parent":{}}]],"pipeline":[]}}
\ No newline at end of file
+window.searchData = {"kinds":{"256":"Interface","1024":"Property","2048":"Method","65536":"Type literal","4194304":"Type alias"},"rows":[{"id":0,"kind":256,"name":"Album","url":"interfaces/Album.html","classes":"tsd-kind-interface"},{"id":1,"kind":1024,"name":"album_id","url":"interfaces/Album.html#album_id-2","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":2,"kind":1024,"name":"album_name","url":"interfaces/Album.html#album_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":3,"kind":1024,"name":"album_coverPath_high","url":"interfaces/Album.html#album_coverPath_high","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":4,"kind":1024,"name":"album_coverPath_low","url":"interfaces/Album.html#album_coverPath_low","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":5,"kind":1024,"name":"album_song_count","url":"interfaces/Album.html#album_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":6,"kind":1024,"name":"album_artist","url":"interfaces/Album.html#album_artist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":7,"kind":1024,"name":"album_extra_info","url":"interfaces/Album.html#album_extra_info","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":8,"kind":65536,"name":"__type","url":"interfaces/Album.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Album"},{"id":9,"kind":1024,"name":"spotify","url":"interfaces/Album.html#__type.spotify","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Album.__type"},{"id":10,"kind":65536,"name":"__type","url":"interfaces/Album.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Album.__type"},{"id":11,"kind":1024,"name":"album_id","url":"interfaces/Album.html#__type.__type-1.album_id","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Album.__type.__type"},{"id":12,"kind":1024,"name":"youtube","url":"interfaces/Album.html#__type.youtube","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Album.__type"},{"id":13,"kind":65536,"name":"__type","url":"interfaces/Album.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Album.__type"},{"id":14,"kind":1024,"name":"album_id","url":"interfaces/Album.html#__type.__type-2.album_id-1","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Album.__type.__type"},{"id":15,"kind":1024,"name":"extensions","url":"interfaces/Album.html#__type.extensions","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Album.__type"},{"id":16,"kind":1024,"name":"year","url":"interfaces/Album.html#year","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Album"},{"id":17,"kind":256,"name":"Artists","url":"interfaces/Artists.html","classes":"tsd-kind-interface"},{"id":18,"kind":1024,"name":"artist_id","url":"interfaces/Artists.html#artist_id-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":19,"kind":1024,"name":"artist_name","url":"interfaces/Artists.html#artist_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":20,"kind":1024,"name":"artist_mbid","url":"interfaces/Artists.html#artist_mbid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":21,"kind":1024,"name":"artist_coverPath","url":"interfaces/Artists.html#artist_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":22,"kind":1024,"name":"artist_song_count","url":"interfaces/Artists.html#artist_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":23,"kind":1024,"name":"artist_extra_info","url":"interfaces/Artists.html#artist_extra_info","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Artists"},{"id":24,"kind":65536,"name":"__type","url":"interfaces/Artists.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"Artists"},{"id":25,"kind":1024,"name":"youtube","url":"interfaces/Artists.html#__type.youtube","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Artists.__type"},{"id":26,"kind":65536,"name":"__type","url":"interfaces/Artists.html#__type.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Artists.__type"},{"id":27,"kind":1024,"name":"channel_id","url":"interfaces/Artists.html#__type.__type-2.channel_id","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Artists.__type.__type"},{"id":28,"kind":1024,"name":"spotify","url":"interfaces/Artists.html#__type.spotify","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Artists.__type"},{"id":29,"kind":65536,"name":"__type","url":"interfaces/Artists.html#__type.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-literal","parent":"Artists.__type"},{"id":30,"kind":1024,"name":"artist_id","url":"interfaces/Artists.html#__type.__type-1.artist_id","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Artists.__type.__type"},{"id":31,"kind":1024,"name":"extensions","url":"interfaces/Artists.html#__type.extensions","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"Artists.__type"},{"id":32,"kind":256,"name":"Genre","url":"interfaces/Genre.html","classes":"tsd-kind-interface"},{"id":33,"kind":1024,"name":"genre_id","url":"interfaces/Genre.html#genre_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Genre"},{"id":34,"kind":1024,"name":"genre_name","url":"interfaces/Genre.html#genre_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Genre"},{"id":35,"kind":1024,"name":"genre_song_count","url":"interfaces/Genre.html#genre_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Genre"},{"id":36,"kind":256,"name":"Playlist","url":"interfaces/Playlist.html","classes":"tsd-kind-interface"},{"id":37,"kind":1024,"name":"playlist_id","url":"interfaces/Playlist.html#playlist_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":38,"kind":1024,"name":"playlist_name","url":"interfaces/Playlist.html#playlist_name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":39,"kind":1024,"name":"playlist_desc","url":"interfaces/Playlist.html#playlist_desc","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":40,"kind":1024,"name":"playlist_coverPath","url":"interfaces/Playlist.html#playlist_coverPath","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":41,"kind":1024,"name":"playlist_song_count","url":"interfaces/Playlist.html#playlist_song_count","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":42,"kind":1024,"name":"playlist_path","url":"interfaces/Playlist.html#playlist_path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":43,"kind":1024,"name":"icon","url":"interfaces/Playlist.html#icon","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":44,"kind":1024,"name":"extension","url":"interfaces/Playlist.html#extension","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Playlist"},{"id":45,"kind":4194304,"name":"PlayerTypes","url":"modules.html#PlayerTypes","classes":"tsd-kind-type-alias"},{"id":46,"kind":256,"name":"Song","url":"interfaces/Song.html","classes":"tsd-kind-interface"},{"id":47,"kind":1024,"name":"_id","url":"interfaces/Song.html#_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":48,"kind":1024,"name":"path","url":"interfaces/Song.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":49,"kind":1024,"name":"size","url":"interfaces/Song.html#size","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":50,"kind":1024,"name":"title","url":"interfaces/Song.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":51,"kind":1024,"name":"song_coverPath_low","url":"interfaces/Song.html#song_coverPath_low","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":52,"kind":1024,"name":"song_coverPath_high","url":"interfaces/Song.html#song_coverPath_high","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":53,"kind":1024,"name":"album","url":"interfaces/Song.html#album","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":54,"kind":1024,"name":"artists","url":"interfaces/Song.html#artists","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":55,"kind":1024,"name":"date","url":"interfaces/Song.html#date","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":56,"kind":1024,"name":"year","url":"interfaces/Song.html#year","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":57,"kind":1024,"name":"genre","url":"interfaces/Song.html#genre","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":58,"kind":1024,"name":"lyrics","url":"interfaces/Song.html#lyrics","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":59,"kind":1024,"name":"releaseType","url":"interfaces/Song.html#releaseType","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":60,"kind":1024,"name":"bitrate","url":"interfaces/Song.html#bitrate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":61,"kind":1024,"name":"codec","url":"interfaces/Song.html#codec","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":62,"kind":1024,"name":"container","url":"interfaces/Song.html#container","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":63,"kind":1024,"name":"duration","url":"interfaces/Song.html#duration","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":64,"kind":1024,"name":"sampleRate","url":"interfaces/Song.html#sampleRate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":65,"kind":1024,"name":"hash","url":"interfaces/Song.html#hash","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":66,"kind":1024,"name":"inode","url":"interfaces/Song.html#inode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":67,"kind":1024,"name":"deviceno","url":"interfaces/Song.html#deviceno","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":68,"kind":1024,"name":"url","url":"interfaces/Song.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":69,"kind":1024,"name":"playbackUrl","url":"interfaces/Song.html#playbackUrl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":70,"kind":1024,"name":"date_added","url":"interfaces/Song.html#date_added","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":71,"kind":1024,"name":"providerExtension","url":"interfaces/Song.html#providerExtension","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":72,"kind":1024,"name":"icon","url":"interfaces/Song.html#icon","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":73,"kind":1024,"name":"type","url":"interfaces/Song.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":74,"kind":1024,"name":"playCount","url":"interfaces/Song.html#playCount","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":75,"kind":1024,"name":"showInLibrary","url":"interfaces/Song.html#showInLibrary","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":76,"kind":1024,"name":"track_no","url":"interfaces/Song.html#track_no","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Song"},{"id":77,"kind":256,"name":"SearchableSong","url":"interfaces/SearchableSong.html","classes":"tsd-kind-interface"},{"id":78,"kind":1024,"name":"_id","url":"interfaces/SearchableSong.html#_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":79,"kind":1024,"name":"path","url":"interfaces/SearchableSong.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":80,"kind":1024,"name":"title","url":"interfaces/SearchableSong.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":81,"kind":1024,"name":"url","url":"interfaces/SearchableSong.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":82,"kind":1024,"name":"playbackUrl","url":"interfaces/SearchableSong.html#playbackUrl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":83,"kind":1024,"name":"hash","url":"interfaces/SearchableSong.html#hash","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":84,"kind":1024,"name":"size","url":"interfaces/SearchableSong.html#size","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":85,"kind":1024,"name":"inode","url":"interfaces/SearchableSong.html#inode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":86,"kind":1024,"name":"deviceno","url":"interfaces/SearchableSong.html#deviceno","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":87,"kind":1024,"name":"type","url":"interfaces/SearchableSong.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":88,"kind":1024,"name":"extension","url":"interfaces/SearchableSong.html#extension","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":89,"kind":1024,"name":"showInLibrary","url":"interfaces/SearchableSong.html#showInLibrary","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SearchableSong"},{"id":90,"kind":4194304,"name":"PlayerState","url":"modules.html#PlayerState","classes":"tsd-kind-type-alias"},{"id":91,"kind":256,"name":"SongQueue","url":"interfaces/SongQueue.html","classes":"tsd-kind-interface"},{"id":92,"kind":1024,"name":"data","url":"interfaces/SongQueue.html#data","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongQueue"},{"id":93,"kind":65536,"name":"__type","url":"interfaces/SongQueue.html#__type","classes":"tsd-kind-type-literal tsd-parent-kind-interface","parent":"SongQueue"},{"id":94,"kind":1024,"name":"order","url":"interfaces/SongQueue.html#order","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongQueue"},{"id":95,"kind":1024,"name":"index","url":"interfaces/SongQueue.html#index","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongQueue"},{"id":96,"kind":256,"name":"ExtensionData","url":"interfaces/ExtensionData.html","classes":"tsd-kind-interface"},{"id":97,"kind":1024,"name":"extensionDescriptors","url":"interfaces/ExtensionData.html#extensionDescriptors","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"ExtensionData"},{"id":98,"kind":256,"name":"Checkbox","url":"interfaces/Checkbox.html","classes":"tsd-kind-interface"},{"id":99,"kind":1024,"name":"key","url":"interfaces/Checkbox.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Checkbox"},{"id":100,"kind":1024,"name":"title","url":"interfaces/Checkbox.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Checkbox"},{"id":101,"kind":1024,"name":"enabled","url":"interfaces/Checkbox.html#enabled","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Checkbox"},{"id":102,"kind":256,"name":"PathGroup","url":"interfaces/PathGroup.html","classes":"tsd-kind-interface"},{"id":103,"kind":1024,"name":"path","url":"interfaces/PathGroup.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PathGroup"},{"id":104,"kind":1024,"name":"enabled","url":"interfaces/PathGroup.html#enabled","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"PathGroup"},{"id":105,"kind":256,"name":"Buttons","url":"interfaces/Buttons.html","classes":"tsd-kind-interface"},{"id":106,"kind":1024,"name":"key","url":"interfaces/Buttons.html#key","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Buttons"},{"id":107,"kind":1024,"name":"title","url":"interfaces/Buttons.html#title","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Buttons"},{"id":108,"kind":1024,"name":"lastClicked","url":"interfaces/Buttons.html#lastClicked","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Buttons"},{"id":109,"kind":4194304,"name":"ExtensionPreferenceGroup","url":"modules.html#ExtensionPreferenceGroup","classes":"tsd-kind-type-alias"},{"id":110,"kind":256,"name":"ExtensionFactory","url":"interfaces/ExtensionFactory.html","classes":"tsd-kind-interface"},{"id":111,"kind":2048,"name":"registerPreferences","url":"interfaces/ExtensionFactory.html#registerPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExtensionFactory"},{"id":112,"kind":2048,"name":"registerUserPreferences","url":"interfaces/ExtensionFactory.html#registerUserPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExtensionFactory"},{"id":113,"kind":2048,"name":"create","url":"interfaces/ExtensionFactory.html#create","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"ExtensionFactory"},{"id":114,"kind":256,"name":"MoosyncExtensionTemplate","url":"interfaces/MoosyncExtensionTemplate.html","classes":"tsd-kind-interface"},{"id":115,"kind":2048,"name":"onStarted","url":"interfaces/MoosyncExtensionTemplate.html#onStarted","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MoosyncExtensionTemplate"},{"id":116,"kind":2048,"name":"onStopped","url":"interfaces/MoosyncExtensionTemplate.html#onStopped","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MoosyncExtensionTemplate"},{"id":117,"kind":4194304,"name":"SongSortOptions","url":"modules.html#SongSortOptions","classes":"tsd-kind-type-alias"},{"id":118,"kind":65536,"name":"__type","url":"modules.html#SongSortOptions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"SongSortOptions"},{"id":119,"kind":1024,"name":"type","url":"modules.html#SongSortOptions.__type.type","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongSortOptions.__type"},{"id":120,"kind":1024,"name":"asc","url":"modules.html#SongSortOptions.__type.asc","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongSortOptions.__type"},{"id":121,"kind":256,"name":"SongAPIOptions","url":"interfaces/SongAPIOptions.html","classes":"tsd-kind-interface"},{"id":122,"kind":1024,"name":"song","url":"interfaces/SongAPIOptions.html#song","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":123,"kind":1024,"name":"album","url":"interfaces/SongAPIOptions.html#album","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":124,"kind":1024,"name":"artist","url":"interfaces/SongAPIOptions.html#artist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":125,"kind":1024,"name":"genre","url":"interfaces/SongAPIOptions.html#genre","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":126,"kind":1024,"name":"playlist","url":"interfaces/SongAPIOptions.html#playlist","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":127,"kind":1024,"name":"sortBy","url":"interfaces/SongAPIOptions.html#sortBy","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":128,"kind":1024,"name":"inclusive","url":"interfaces/SongAPIOptions.html#inclusive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":129,"kind":1024,"name":"invert","url":"interfaces/SongAPIOptions.html#invert","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"SongAPIOptions"},{"id":130,"kind":4194304,"name":"EntityApiOptions","url":"modules.html#EntityApiOptions","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":131,"kind":256,"name":"playerControls","url":"interfaces/playerControls.html","classes":"tsd-kind-interface"},{"id":132,"kind":2048,"name":"play","url":"interfaces/playerControls.html#play","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"playerControls"},{"id":133,"kind":2048,"name":"pause","url":"interfaces/playerControls.html#pause","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"playerControls"},{"id":134,"kind":2048,"name":"stop","url":"interfaces/playerControls.html#stop","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"playerControls"},{"id":135,"kind":2048,"name":"nextSong","url":"interfaces/playerControls.html#nextSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"playerControls"},{"id":136,"kind":2048,"name":"prevSong","url":"interfaces/playerControls.html#prevSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"playerControls"},{"id":137,"kind":4194304,"name":"ExtraExtensionEventTypes","url":"modules.html#ExtraExtensionEventTypes","classes":"tsd-kind-type-alias"},{"id":138,"kind":4194304,"name":"ExtraExtensionEventReturnType","url":"modules.html#ExtraExtensionEventReturnType","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":139,"kind":4194304,"name":"ExtraExtensionEventData","url":"modules.html#ExtraExtensionEventData","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":140,"kind":4194304,"name":"PlaylistReturnType","url":"modules.html#PlaylistReturnType","classes":"tsd-kind-type-alias"},{"id":141,"kind":65536,"name":"__type","url":"modules.html#PlaylistReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"PlaylistReturnType"},{"id":142,"kind":1024,"name":"playlists","url":"modules.html#PlaylistReturnType.__type.playlists","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"PlaylistReturnType.__type"},{"id":143,"kind":4194304,"name":"SongsReturnType","url":"modules.html#SongsReturnType","classes":"tsd-kind-type-alias"},{"id":144,"kind":65536,"name":"__type","url":"modules.html#SongsReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"SongsReturnType"},{"id":145,"kind":1024,"name":"songs","url":"modules.html#SongsReturnType.__type.songs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongsReturnType.__type"},{"id":146,"kind":4194304,"name":"SongsWithPageTokenReturnType","url":"modules.html#SongsWithPageTokenReturnType","classes":"tsd-kind-type-alias"},{"id":147,"kind":65536,"name":"__type","url":"modules.html#SongsWithPageTokenReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"SongsWithPageTokenReturnType"},{"id":148,"kind":1024,"name":"songs","url":"modules.html#SongsWithPageTokenReturnType.__type.songs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongsWithPageTokenReturnType.__type"},{"id":149,"kind":1024,"name":"nextPageToken","url":"modules.html#SongsWithPageTokenReturnType.__type.nextPageToken","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongsWithPageTokenReturnType.__type"},{"id":150,"kind":4194304,"name":"SearchReturnType","url":"modules.html#SearchReturnType","classes":"tsd-kind-type-alias"},{"id":151,"kind":65536,"name":"__type","url":"modules.html#SearchReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"SearchReturnType"},{"id":152,"kind":1024,"name":"songs","url":"modules.html#SearchReturnType.__type.songs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SearchReturnType.__type"},{"id":153,"kind":1024,"name":"playlists","url":"modules.html#SearchReturnType.__type.playlists","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SearchReturnType.__type"},{"id":154,"kind":1024,"name":"artists","url":"modules.html#SearchReturnType.__type.artists","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SearchReturnType.__type"},{"id":155,"kind":1024,"name":"albums","url":"modules.html#SearchReturnType.__type.albums","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SearchReturnType.__type"},{"id":156,"kind":4194304,"name":"PlaybackDetailsReturnType","url":"modules.html#PlaybackDetailsReturnType","classes":"tsd-kind-type-alias"},{"id":157,"kind":65536,"name":"__type","url":"modules.html#PlaybackDetailsReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"PlaybackDetailsReturnType"},{"id":158,"kind":1024,"name":"duration","url":"modules.html#PlaybackDetailsReturnType.__type.duration","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"PlaybackDetailsReturnType.__type"},{"id":159,"kind":1024,"name":"url","url":"modules.html#PlaybackDetailsReturnType.__type.url","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"PlaybackDetailsReturnType.__type"},{"id":160,"kind":4194304,"name":"CustomRequestReturnType","url":"modules.html#CustomRequestReturnType","classes":"tsd-kind-type-alias"},{"id":161,"kind":65536,"name":"__type","url":"modules.html#CustomRequestReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"CustomRequestReturnType"},{"id":162,"kind":1024,"name":"mimeType","url":"modules.html#CustomRequestReturnType.__type.mimeType","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"CustomRequestReturnType.__type"},{"id":163,"kind":1024,"name":"data","url":"modules.html#CustomRequestReturnType.__type.data","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"CustomRequestReturnType.__type"},{"id":164,"kind":1024,"name":"redirectUrl","url":"modules.html#CustomRequestReturnType.__type.redirectUrl","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"CustomRequestReturnType.__type"},{"id":165,"kind":4194304,"name":"SongReturnType","url":"modules.html#SongReturnType","classes":"tsd-kind-type-alias"},{"id":166,"kind":65536,"name":"__type","url":"modules.html#SongReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"SongReturnType"},{"id":167,"kind":1024,"name":"song","url":"modules.html#SongReturnType.__type.song","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"SongReturnType.__type"},{"id":168,"kind":4194304,"name":"PlaylistAndSongsReturnType","url":"modules.html#PlaylistAndSongsReturnType","classes":"tsd-kind-type-alias"},{"id":169,"kind":65536,"name":"__type","url":"modules.html#PlaylistAndSongsReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"PlaylistAndSongsReturnType"},{"id":170,"kind":1024,"name":"playlist","url":"modules.html#PlaylistAndSongsReturnType.__type.playlist","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"PlaylistAndSongsReturnType.__type"},{"id":171,"kind":1024,"name":"songs","url":"modules.html#PlaylistAndSongsReturnType.__type.songs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"PlaylistAndSongsReturnType.__type"},{"id":172,"kind":4194304,"name":"RecommendationsReturnType","url":"modules.html#RecommendationsReturnType","classes":"tsd-kind-type-alias"},{"id":173,"kind":65536,"name":"__type","url":"modules.html#RecommendationsReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"RecommendationsReturnType"},{"id":174,"kind":1024,"name":"songs","url":"modules.html#RecommendationsReturnType.__type.songs","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"RecommendationsReturnType.__type"},{"id":175,"kind":4194304,"name":"ExtensionContextMenuItem","url":"modules.html#ExtensionContextMenuItem","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":176,"kind":65536,"name":"__type","url":"modules.html#ExtensionContextMenuItem.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ExtensionContextMenuItem"},{"id":177,"kind":1024,"name":"type","url":"modules.html#ExtensionContextMenuItem.__type.type","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ExtensionContextMenuItem.__type"},{"id":178,"kind":1024,"name":"label","url":"modules.html#ExtensionContextMenuItem.__type.label","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ExtensionContextMenuItem.__type"},{"id":179,"kind":1024,"name":"disabled","url":"modules.html#ExtensionContextMenuItem.__type.disabled","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ExtensionContextMenuItem.__type"},{"id":180,"kind":1024,"name":"children","url":"modules.html#ExtensionContextMenuItem.__type.children","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ExtensionContextMenuItem.__type"},{"id":181,"kind":2048,"name":"handler","url":"modules.html#ExtensionContextMenuItem.__type.handler","classes":"tsd-kind-method tsd-parent-kind-type-literal","parent":"ExtensionContextMenuItem.__type"},{"id":182,"kind":4194304,"name":"ForwardRequestReturnType","url":"modules.html#ForwardRequestReturnType","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":183,"kind":65536,"name":"__type","url":"modules.html#ForwardRequestReturnType.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"ForwardRequestReturnType"},{"id":184,"kind":1024,"name":"forwardTo","url":"modules.html#ForwardRequestReturnType.__type.forwardTo","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ForwardRequestReturnType.__type"},{"id":185,"kind":1024,"name":"transformedData","url":"modules.html#ForwardRequestReturnType.__type.transformedData","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"ForwardRequestReturnType.__type"},{"id":186,"kind":4194304,"name":"ContextMenuTypes","url":"modules.html#ContextMenuTypes","classes":"tsd-kind-type-alias"},{"id":187,"kind":4194304,"name":"ExtensionContextMenuHandlerArgs","url":"modules.html#ExtensionContextMenuHandlerArgs","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":188,"kind":4194304,"name":"AccountDetails","url":"modules.html#AccountDetails","classes":"tsd-kind-type-alias"},{"id":189,"kind":65536,"name":"__type","url":"modules.html#AccountDetails.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"AccountDetails"},{"id":190,"kind":1024,"name":"id","url":"modules.html#AccountDetails.__type.id","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":191,"kind":1024,"name":"packageName","url":"modules.html#AccountDetails.__type.packageName","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":192,"kind":1024,"name":"name","url":"modules.html#AccountDetails.__type.name","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":193,"kind":1024,"name":"bgColor","url":"modules.html#AccountDetails.__type.bgColor","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":194,"kind":1024,"name":"icon","url":"modules.html#AccountDetails.__type.icon","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":195,"kind":1024,"name":"loggedIn","url":"modules.html#AccountDetails.__type.loggedIn","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":196,"kind":2048,"name":"signinCallback","url":"modules.html#AccountDetails.__type.signinCallback","classes":"tsd-kind-method tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":197,"kind":2048,"name":"signoutCallback","url":"modules.html#AccountDetails.__type.signoutCallback","classes":"tsd-kind-method tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":198,"kind":1024,"name":"username","url":"modules.html#AccountDetails.__type.username","classes":"tsd-kind-property tsd-parent-kind-type-literal","parent":"AccountDetails.__type"},{"id":199,"kind":4194304,"name":"LoginModalOptions","url":"modules.html#LoginModalOptions","classes":"tsd-kind-type-alias"},{"id":200,"kind":256,"name":"utils","url":"interfaces/utils.html","classes":"tsd-kind-interface"},{"id":201,"kind":2048,"name":"getArtistExtraInfo","url":"interfaces/utils.html#getArtistExtraInfo","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"utils"},{"id":202,"kind":2048,"name":"getAlbumExtraInfo","url":"interfaces/utils.html#getAlbumExtraInfo","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"utils"},{"id":203,"kind":1024,"name":"packageName","url":"interfaces/utils.html#packageName","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"utils"},{"id":204,"kind":1024,"name":"customRequestBaseUrl","url":"interfaces/utils.html#customRequestBaseUrl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"utils"},{"id":205,"kind":256,"name":"extensionAPI","url":"interfaces/extensionAPI.html","classes":"tsd-kind-interface"},{"id":206,"kind":1024,"name":"utils","url":"interfaces/extensionAPI.html#utils","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"extensionAPI"},{"id":207,"kind":2048,"name":"getSongs","url":"interfaces/extensionAPI.html#getSongs","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":208,"kind":2048,"name":"getEntity","url":"interfaces/extensionAPI.html#getEntity","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"extensionAPI"},{"id":209,"kind":2048,"name":"getCurrentSong","url":"interfaces/extensionAPI.html#getCurrentSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":210,"kind":2048,"name":"getPlayerState","url":"interfaces/extensionAPI.html#getPlayerState","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":211,"kind":2048,"name":"getVolume","url":"interfaces/extensionAPI.html#getVolume","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":212,"kind":2048,"name":"getTime","url":"interfaces/extensionAPI.html#getTime","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":213,"kind":2048,"name":"getQueue","url":"interfaces/extensionAPI.html#getQueue","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":214,"kind":2048,"name":"getPreferences","url":"interfaces/extensionAPI.html#getPreferences","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"extensionAPI"},{"id":215,"kind":2048,"name":"setPreferences","url":"interfaces/extensionAPI.html#setPreferences","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":216,"kind":2048,"name":"getSecure","url":"interfaces/extensionAPI.html#getSecure","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"extensionAPI"},{"id":217,"kind":2048,"name":"setSecure","url":"interfaces/extensionAPI.html#setSecure","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":218,"kind":2048,"name":"addSongs","url":"interfaces/extensionAPI.html#addSongs","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":219,"kind":2048,"name":"updateSong","url":"interfaces/extensionAPI.html#updateSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":220,"kind":2048,"name":"removeSong","url":"interfaces/extensionAPI.html#removeSong","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":221,"kind":2048,"name":"addPlaylist","url":"interfaces/extensionAPI.html#addPlaylist","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":222,"kind":2048,"name":"addSongsToPlaylist","url":"interfaces/extensionAPI.html#addSongsToPlaylist","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":223,"kind":2048,"name":"registerOAuth","url":"interfaces/extensionAPI.html#registerOAuth","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":224,"kind":2048,"name":"openExternalURL","url":"interfaces/extensionAPI.html#openExternalURL","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":225,"kind":2048,"name":"on","url":"interfaces/extensionAPI.html#on","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":226,"kind":2048,"name":"off","url":"interfaces/extensionAPI.html#off","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"extensionAPI"},{"id":227,"kind":2048,"name":"setContextMenuItem","url":"interfaces/extensionAPI.html#setContextMenuItem","classes":"tsd-kind-method tsd-parent-kind-interface tsd-has-type-parameter","parent":"extensionAPI"},{"id":228,"kind":2048,"name":"removeContextMenuItem","url":"interfaces/extensionAPI.html#removeContextMenuItem","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":229,"kind":2048,"name":"getContextMenuItems","url":"interfaces/extensionAPI.html#getContextMenuItems","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":230,"kind":2048,"name":"registerAccount","url":"interfaces/extensionAPI.html#registerAccount","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":231,"kind":2048,"name":"changeAccountAuthStatus","url":"interfaces/extensionAPI.html#changeAccountAuthStatus","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":232,"kind":2048,"name":"openLoginModal","url":"interfaces/extensionAPI.html#openLoginModal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":233,"kind":2048,"name":"closeLoginModal","url":"interfaces/extensionAPI.html#closeLoginModal","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":234,"kind":2048,"name":"showToast","url":"interfaces/extensionAPI.html#showToast","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":235,"kind":2048,"name":"setArtistEditableInfo","url":"interfaces/extensionAPI.html#setArtistEditableInfo","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":236,"kind":2048,"name":"setAlbumEditableInfo","url":"interfaces/extensionAPI.html#setAlbumEditableInfo","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":237,"kind":2048,"name":"getInstalledExtensions","url":"interfaces/extensionAPI.html#getInstalledExtensions","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":238,"kind":2048,"name":"addUserPreference","url":"interfaces/extensionAPI.html#addUserPreference","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":239,"kind":2048,"name":"removeUserPreference","url":"interfaces/extensionAPI.html#removeUserPreference","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"extensionAPI"},{"id":240,"kind":1024,"name":"player","url":"interfaces/extensionAPI.html#player","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"extensionAPI"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,29.632]],["parent/0",[]],["name/1",[1,42.362]],["parent/1",[0,2.74]],["name/2",[2,50.835]],["parent/2",[0,2.74]],["name/3",[3,50.835]],["parent/3",[0,2.74]],["name/4",[4,50.835]],["parent/4",[0,2.74]],["name/5",[5,50.835]],["parent/5",[0,2.74]],["name/6",[6,50.835]],["parent/6",[0,2.74]],["name/7",[7,50.835]],["parent/7",[0,2.74]],["name/8",[8,24.685]],["parent/8",[0,2.74]],["name/9",[9,45.726]],["parent/9",[10,3.499]],["name/10",[8,24.685]],["parent/10",[10,3.499]],["name/11",[1,42.362]],["parent/11",[11,4.228]],["name/12",[12,45.726]],["parent/12",[10,3.499]],["name/13",[8,24.685]],["parent/13",[10,3.499]],["name/14",[1,42.362]],["parent/14",[11,4.228]],["name/15",[13,45.726]],["parent/15",[10,3.499]],["name/16",[14,45.726]],["parent/16",[0,2.74]],["name/17",[15,31.376]],["parent/17",[]],["name/18",[16,45.726]],["parent/18",[15,2.901]],["name/19",[17,50.835]],["parent/19",[15,2.901]],["name/20",[18,50.835]],["parent/20",[15,2.901]],["name/21",[19,50.835]],["parent/21",[15,2.901]],["name/22",[20,50.835]],["parent/22",[15,2.901]],["name/23",[21,50.835]],["parent/23",[15,2.901]],["name/24",[8,24.685]],["parent/24",[15,2.901]],["name/25",[12,45.726]],["parent/25",[22,3.499]],["name/26",[8,24.685]],["parent/26",[22,3.499]],["name/27",[23,50.835]],["parent/27",[24,4.228]],["name/28",[9,45.726]],["parent/28",[22,3.499]],["name/29",[8,24.685]],["parent/29",[22,3.499]],["name/30",[16,45.726]],["parent/30",[24,4.228]],["name/31",[13,45.726]],["parent/31",[22,3.499]],["name/32",[25,36.171]],["parent/32",[]],["name/33",[26,50.835]],["parent/33",[25,3.345]],["name/34",[27,50.835]],["parent/34",[25,3.345]],["name/35",[28,50.835]],["parent/35",[25,3.345]],["name/36",[29,30.466]],["parent/36",[]],["name/37",[30,50.835]],["parent/37",[29,2.817]],["name/38",[31,50.835]],["parent/38",[29,2.817]],["name/39",[32,50.835]],["parent/39",[29,2.817]],["name/40",[33,50.835]],["parent/40",[29,2.817]],["name/41",[34,50.835]],["parent/41",[29,2.817]],["name/42",[35,50.835]],["parent/42",[29,2.817]],["name/43",[36,42.362]],["parent/43",[29,2.817]],["name/44",[37,45.726]],["parent/44",[29,2.817]],["name/45",[38,50.835]],["parent/45",[]],["name/46",[39,19.774]],["parent/46",[]],["name/47",[40,45.726]],["parent/47",[39,1.829]],["name/48",[41,42.362]],["parent/48",[39,1.829]],["name/49",[42,45.726]],["parent/49",[39,1.829]],["name/50",[43,39.849]],["parent/50",[39,1.829]],["name/51",[44,50.835]],["parent/51",[39,1.829]],["name/52",[45,50.835]],["parent/52",[39,1.829]],["name/53",[0,29.632]],["parent/53",[39,1.829]],["name/54",[15,31.376]],["parent/54",[39,1.829]],["name/55",[46,50.835]],["parent/55",[39,1.829]],["name/56",[14,45.726]],["parent/56",[39,1.829]],["name/57",[25,36.171]],["parent/57",[39,1.829]],["name/58",[47,50.835]],["parent/58",[39,1.829]],["name/59",[48,50.835]],["parent/59",[39,1.829]],["name/60",[49,50.835]],["parent/60",[39,1.829]],["name/61",[50,50.835]],["parent/61",[39,1.829]],["name/62",[51,50.835]],["parent/62",[39,1.829]],["name/63",[52,45.726]],["parent/63",[39,1.829]],["name/64",[53,50.835]],["parent/64",[39,1.829]],["name/65",[54,45.726]],["parent/65",[39,1.829]],["name/66",[55,45.726]],["parent/66",[39,1.829]],["name/67",[56,45.726]],["parent/67",[39,1.829]],["name/68",[57,42.362]],["parent/68",[39,1.829]],["name/69",[58,45.726]],["parent/69",[39,1.829]],["name/70",[59,50.835]],["parent/70",[39,1.829]],["name/71",[60,50.835]],["parent/71",[39,1.829]],["name/72",[36,42.362]],["parent/72",[39,1.829]],["name/73",[61,39.849]],["parent/73",[39,1.829]],["name/74",[62,50.835]],["parent/74",[39,1.829]],["name/75",[63,45.726]],["parent/75",[39,1.829]],["name/76",[64,50.835]],["parent/76",[39,1.829]],["name/77",[65,28.862]],["parent/77",[]],["name/78",[40,45.726]],["parent/78",[65,2.669]],["name/79",[41,42.362]],["parent/79",[65,2.669]],["name/80",[43,39.849]],["parent/80",[65,2.669]],["name/81",[57,42.362]],["parent/81",[65,2.669]],["name/82",[58,45.726]],["parent/82",[65,2.669]],["name/83",[54,45.726]],["parent/83",[65,2.669]],["name/84",[42,45.726]],["parent/84",[65,2.669]],["name/85",[55,45.726]],["parent/85",[65,2.669]],["name/86",[56,45.726]],["parent/86",[65,2.669]],["name/87",[61,39.849]],["parent/87",[65,2.669]],["name/88",[37,45.726]],["parent/88",[65,2.669]],["name/89",[63,45.726]],["parent/89",[65,2.669]],["name/90",[66,50.835]],["parent/90",[]],["name/91",[67,37.842]],["parent/91",[]],["name/92",[68,45.726]],["parent/92",[67,3.499]],["name/93",[8,24.685]],["parent/93",[67,3.499]],["name/94",[69,50.835]],["parent/94",[67,3.499]],["name/95",[70,50.835]],["parent/95",[67,3.499]],["name/96",[71,45.726]],["parent/96",[]],["name/97",[72,50.835]],["parent/97",[71,4.228]],["name/98",[73,39.849]],["parent/98",[]],["name/99",[74,45.726]],["parent/99",[73,3.685]],["name/100",[43,39.849]],["parent/100",[73,3.685]],["name/101",[75,45.726]],["parent/101",[73,3.685]],["name/102",[76,42.362]],["parent/102",[]],["name/103",[41,42.362]],["parent/103",[76,3.917]],["name/104",[75,45.726]],["parent/104",[76,3.917]],["name/105",[77,39.849]],["parent/105",[]],["name/106",[74,45.726]],["parent/106",[77,3.685]],["name/107",[43,39.849]],["parent/107",[77,3.685]],["name/108",[78,50.835]],["parent/108",[77,3.685]],["name/109",[79,50.835]],["parent/109",[]],["name/110",[80,39.849]],["parent/110",[]],["name/111",[81,50.835]],["parent/111",[80,3.685]],["name/112",[82,50.835]],["parent/112",[80,3.685]],["name/113",[83,50.835]],["parent/113",[80,3.685]],["name/114",[84,42.362]],["parent/114",[]],["name/115",[85,50.835]],["parent/115",[84,3.917]],["name/116",[86,50.835]],["parent/116",[84,3.917]],["name/117",[87,45.726]],["parent/117",[]],["name/118",[8,24.685]],["parent/118",[87,4.228]],["name/119",[61,39.849]],["parent/119",[88,4.228]],["name/120",[89,50.835]],["parent/120",[88,4.228]],["name/121",[90,32.376]],["parent/121",[]],["name/122",[39,19.774]],["parent/122",[90,2.994]],["name/123",[0,29.632]],["parent/123",[90,2.994]],["name/124",[91,50.835]],["parent/124",[90,2.994]],["name/125",[25,36.171]],["parent/125",[90,2.994]],["name/126",[29,30.466]],["parent/126",[90,2.994]],["name/127",[92,50.835]],["parent/127",[90,2.994]],["name/128",[93,50.835]],["parent/128",[90,2.994]],["name/129",[94,50.835]],["parent/129",[90,2.994]],["name/130",[95,50.835]],["parent/130",[]],["name/131",[96,36.171]],["parent/131",[]],["name/132",[97,50.835]],["parent/132",[96,3.345]],["name/133",[98,50.835]],["parent/133",[96,3.345]],["name/134",[99,50.835]],["parent/134",[96,3.345]],["name/135",[100,50.835]],["parent/135",[96,3.345]],["name/136",[101,50.835]],["parent/136",[96,3.345]],["name/137",[102,50.835]],["parent/137",[]],["name/138",[103,50.835]],["parent/138",[]],["name/139",[104,50.835]],["parent/139",[]],["name/140",[105,45.726]],["parent/140",[]],["name/141",[8,24.685]],["parent/141",[105,4.228]],["name/142",[106,45.726]],["parent/142",[107,4.701]],["name/143",[108,45.726]],["parent/143",[]],["name/144",[8,24.685]],["parent/144",[108,4.228]],["name/145",[109,37.842]],["parent/145",[110,4.701]],["name/146",[111,45.726]],["parent/146",[]],["name/147",[8,24.685]],["parent/147",[111,4.228]],["name/148",[109,37.842]],["parent/148",[112,4.228]],["name/149",[113,50.835]],["parent/149",[112,4.228]],["name/150",[114,45.726]],["parent/150",[]],["name/151",[8,24.685]],["parent/151",[114,4.228]],["name/152",[109,37.842]],["parent/152",[115,3.685]],["name/153",[106,45.726]],["parent/153",[115,3.685]],["name/154",[15,31.376]],["parent/154",[115,3.685]],["name/155",[116,50.835]],["parent/155",[115,3.685]],["name/156",[117,45.726]],["parent/156",[]],["name/157",[8,24.685]],["parent/157",[117,4.228]],["name/158",[52,45.726]],["parent/158",[118,4.228]],["name/159",[57,42.362]],["parent/159",[118,4.228]],["name/160",[119,45.726]],["parent/160",[]],["name/161",[8,24.685]],["parent/161",[119,4.228]],["name/162",[120,50.835]],["parent/162",[121,3.917]],["name/163",[68,45.726]],["parent/163",[121,3.917]],["name/164",[122,50.835]],["parent/164",[121,3.917]],["name/165",[123,45.726]],["parent/165",[]],["name/166",[8,24.685]],["parent/166",[123,4.228]],["name/167",[39,19.774]],["parent/167",[124,4.701]],["name/168",[125,45.726]],["parent/168",[]],["name/169",[8,24.685]],["parent/169",[125,4.228]],["name/170",[29,30.466]],["parent/170",[126,4.228]],["name/171",[109,37.842]],["parent/171",[126,4.228]],["name/172",[127,45.726]],["parent/172",[]],["name/173",[8,24.685]],["parent/173",[127,4.228]],["name/174",[109,37.842]],["parent/174",[128,4.701]],["name/175",[129,45.726]],["parent/175",[]],["name/176",[8,24.685]],["parent/176",[129,4.228]],["name/177",[61,39.849]],["parent/177",[130,3.499]],["name/178",[131,50.835]],["parent/178",[130,3.499]],["name/179",[132,50.835]],["parent/179",[130,3.499]],["name/180",[133,50.835]],["parent/180",[130,3.499]],["name/181",[134,50.835]],["parent/181",[130,3.499]],["name/182",[135,45.726]],["parent/182",[]],["name/183",[8,24.685]],["parent/183",[135,4.228]],["name/184",[136,50.835]],["parent/184",[137,4.228]],["name/185",[138,50.835]],["parent/185",[137,4.228]],["name/186",[139,50.835]],["parent/186",[]],["name/187",[140,50.835]],["parent/187",[]],["name/188",[141,45.726]],["parent/188",[]],["name/189",[8,24.685]],["parent/189",[141,4.228]],["name/190",[142,50.835]],["parent/190",[143,2.994]],["name/191",[144,45.726]],["parent/191",[143,2.994]],["name/192",[145,50.835]],["parent/192",[143,2.994]],["name/193",[146,50.835]],["parent/193",[143,2.994]],["name/194",[36,42.362]],["parent/194",[143,2.994]],["name/195",[147,50.835]],["parent/195",[143,2.994]],["name/196",[148,50.835]],["parent/196",[143,2.994]],["name/197",[149,50.835]],["parent/197",[143,2.994]],["name/198",[150,50.835]],["parent/198",[143,2.994]],["name/199",[151,50.835]],["parent/199",[]],["name/200",[152,36.171]],["parent/200",[]],["name/201",[153,50.835]],["parent/201",[152,3.345]],["name/202",[154,50.835]],["parent/202",[152,3.345]],["name/203",[144,45.726]],["parent/203",[152,3.345]],["name/204",[155,50.835]],["parent/204",[152,3.345]],["name/205",[156,18.916]],["parent/205",[]],["name/206",[152,36.171]],["parent/206",[156,1.749]],["name/207",[157,50.835]],["parent/207",[156,1.749]],["name/208",[158,50.835]],["parent/208",[156,1.749]],["name/209",[159,50.835]],["parent/209",[156,1.749]],["name/210",[160,50.835]],["parent/210",[156,1.749]],["name/211",[161,50.835]],["parent/211",[156,1.749]],["name/212",[162,50.835]],["parent/212",[156,1.749]],["name/213",[163,50.835]],["parent/213",[156,1.749]],["name/214",[164,50.835]],["parent/214",[156,1.749]],["name/215",[165,50.835]],["parent/215",[156,1.749]],["name/216",[166,50.835]],["parent/216",[156,1.749]],["name/217",[167,50.835]],["parent/217",[156,1.749]],["name/218",[168,50.835]],["parent/218",[156,1.749]],["name/219",[169,50.835]],["parent/219",[156,1.749]],["name/220",[170,50.835]],["parent/220",[156,1.749]],["name/221",[171,50.835]],["parent/221",[156,1.749]],["name/222",[172,50.835]],["parent/222",[156,1.749]],["name/223",[173,50.835]],["parent/223",[156,1.749]],["name/224",[174,50.835]],["parent/224",[156,1.749]],["name/225",[175,50.835]],["parent/225",[156,1.749]],["name/226",[176,50.835]],["parent/226",[156,1.749]],["name/227",[177,50.835]],["parent/227",[156,1.749]],["name/228",[178,50.835]],["parent/228",[156,1.749]],["name/229",[179,50.835]],["parent/229",[156,1.749]],["name/230",[180,50.835]],["parent/230",[156,1.749]],["name/231",[181,50.835]],["parent/231",[156,1.749]],["name/232",[182,50.835]],["parent/232",[156,1.749]],["name/233",[183,50.835]],["parent/233",[156,1.749]],["name/234",[184,50.835]],["parent/234",[156,1.749]],["name/235",[185,50.835]],["parent/235",[156,1.749]],["name/236",[186,50.835]],["parent/236",[156,1.749]],["name/237",[187,50.835]],["parent/237",[156,1.749]],["name/238",[188,50.835]],["parent/238",[156,1.749]],["name/239",[189,50.835]],["parent/239",[156,1.749]],["name/240",[190,50.835]],["parent/240",[156,1.749]]],"invertedIndex":[["__type",{"_index":8,"name":{"8":{},"10":{},"13":{},"24":{},"26":{},"29":{},"93":{},"118":{},"141":{},"144":{},"147":{},"151":{},"157":{},"161":{},"166":{},"169":{},"173":{},"176":{},"183":{},"189":{}},"parent":{}}],["_id",{"_index":40,"name":{"47":{},"78":{}},"parent":{}}],["accountdetails",{"_index":141,"name":{"188":{}},"parent":{"189":{}}}],["accountdetails.__type",{"_index":143,"name":{},"parent":{"190":{},"191":{},"192":{},"193":{},"194":{},"195":{},"196":{},"197":{},"198":{}}}],["addplaylist",{"_index":171,"name":{"221":{}},"parent":{}}],["addsongs",{"_index":168,"name":{"218":{}},"parent":{}}],["addsongstoplaylist",{"_index":172,"name":{"222":{}},"parent":{}}],["adduserpreference",{"_index":188,"name":{"238":{}},"parent":{}}],["album",{"_index":0,"name":{"0":{},"53":{},"123":{}},"parent":{"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"16":{}}}],["album.__type",{"_index":10,"name":{},"parent":{"9":{},"10":{},"12":{},"13":{},"15":{}}}],["album.__type.__type",{"_index":11,"name":{},"parent":{"11":{},"14":{}}}],["album_artist",{"_index":6,"name":{"6":{}},"parent":{}}],["album_coverpath_high",{"_index":3,"name":{"3":{}},"parent":{}}],["album_coverpath_low",{"_index":4,"name":{"4":{}},"parent":{}}],["album_extra_info",{"_index":7,"name":{"7":{}},"parent":{}}],["album_id",{"_index":1,"name":{"1":{},"11":{},"14":{}},"parent":{}}],["album_name",{"_index":2,"name":{"2":{}},"parent":{}}],["album_song_count",{"_index":5,"name":{"5":{}},"parent":{}}],["albums",{"_index":116,"name":{"155":{}},"parent":{}}],["artist",{"_index":91,"name":{"124":{}},"parent":{}}],["artist_coverpath",{"_index":19,"name":{"21":{}},"parent":{}}],["artist_extra_info",{"_index":21,"name":{"23":{}},"parent":{}}],["artist_id",{"_index":16,"name":{"18":{},"30":{}},"parent":{}}],["artist_mbid",{"_index":18,"name":{"20":{}},"parent":{}}],["artist_name",{"_index":17,"name":{"19":{}},"parent":{}}],["artist_song_count",{"_index":20,"name":{"22":{}},"parent":{}}],["artists",{"_index":15,"name":{"17":{},"54":{},"154":{}},"parent":{"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{}}}],["artists.__type",{"_index":22,"name":{},"parent":{"25":{},"26":{},"28":{},"29":{},"31":{}}}],["artists.__type.__type",{"_index":24,"name":{},"parent":{"27":{},"30":{}}}],["asc",{"_index":89,"name":{"120":{}},"parent":{}}],["bgcolor",{"_index":146,"name":{"193":{}},"parent":{}}],["bitrate",{"_index":49,"name":{"60":{}},"parent":{}}],["buttons",{"_index":77,"name":{"105":{}},"parent":{"106":{},"107":{},"108":{}}}],["changeaccountauthstatus",{"_index":181,"name":{"231":{}},"parent":{}}],["channel_id",{"_index":23,"name":{"27":{}},"parent":{}}],["checkbox",{"_index":73,"name":{"98":{}},"parent":{"99":{},"100":{},"101":{}}}],["children",{"_index":133,"name":{"180":{}},"parent":{}}],["closeloginmodal",{"_index":183,"name":{"233":{}},"parent":{}}],["codec",{"_index":50,"name":{"61":{}},"parent":{}}],["container",{"_index":51,"name":{"62":{}},"parent":{}}],["contextmenutypes",{"_index":139,"name":{"186":{}},"parent":{}}],["create",{"_index":83,"name":{"113":{}},"parent":{}}],["customrequestbaseurl",{"_index":155,"name":{"204":{}},"parent":{}}],["customrequestreturntype",{"_index":119,"name":{"160":{}},"parent":{"161":{}}}],["customrequestreturntype.__type",{"_index":121,"name":{},"parent":{"162":{},"163":{},"164":{}}}],["data",{"_index":68,"name":{"92":{},"163":{}},"parent":{}}],["date",{"_index":46,"name":{"55":{}},"parent":{}}],["date_added",{"_index":59,"name":{"70":{}},"parent":{}}],["deviceno",{"_index":56,"name":{"67":{},"86":{}},"parent":{}}],["disabled",{"_index":132,"name":{"179":{}},"parent":{}}],["duration",{"_index":52,"name":{"63":{},"158":{}},"parent":{}}],["enabled",{"_index":75,"name":{"101":{},"104":{}},"parent":{}}],["entityapioptions",{"_index":95,"name":{"130":{}},"parent":{}}],["extension",{"_index":37,"name":{"44":{},"88":{}},"parent":{}}],["extensionapi",{"_index":156,"name":{"205":{}},"parent":{"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{},"219":{},"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{},"235":{},"236":{},"237":{},"238":{},"239":{},"240":{}}}],["extensioncontextmenuhandlerargs",{"_index":140,"name":{"187":{}},"parent":{}}],["extensioncontextmenuitem",{"_index":129,"name":{"175":{}},"parent":{"176":{}}}],["extensioncontextmenuitem.__type",{"_index":130,"name":{},"parent":{"177":{},"178":{},"179":{},"180":{},"181":{}}}],["extensiondata",{"_index":71,"name":{"96":{}},"parent":{"97":{}}}],["extensiondescriptors",{"_index":72,"name":{"97":{}},"parent":{}}],["extensionfactory",{"_index":80,"name":{"110":{}},"parent":{"111":{},"112":{},"113":{}}}],["extensionpreferencegroup",{"_index":79,"name":{"109":{}},"parent":{}}],["extensions",{"_index":13,"name":{"15":{},"31":{}},"parent":{}}],["extraextensioneventdata",{"_index":104,"name":{"139":{}},"parent":{}}],["extraextensioneventreturntype",{"_index":103,"name":{"138":{}},"parent":{}}],["extraextensioneventtypes",{"_index":102,"name":{"137":{}},"parent":{}}],["forwardrequestreturntype",{"_index":135,"name":{"182":{}},"parent":{"183":{}}}],["forwardrequestreturntype.__type",{"_index":137,"name":{},"parent":{"184":{},"185":{}}}],["forwardto",{"_index":136,"name":{"184":{}},"parent":{}}],["genre",{"_index":25,"name":{"32":{},"57":{},"125":{}},"parent":{"33":{},"34":{},"35":{}}}],["genre_id",{"_index":26,"name":{"33":{}},"parent":{}}],["genre_name",{"_index":27,"name":{"34":{}},"parent":{}}],["genre_song_count",{"_index":28,"name":{"35":{}},"parent":{}}],["getalbumextrainfo",{"_index":154,"name":{"202":{}},"parent":{}}],["getartistextrainfo",{"_index":153,"name":{"201":{}},"parent":{}}],["getcontextmenuitems",{"_index":179,"name":{"229":{}},"parent":{}}],["getcurrentsong",{"_index":159,"name":{"209":{}},"parent":{}}],["getentity",{"_index":158,"name":{"208":{}},"parent":{}}],["getinstalledextensions",{"_index":187,"name":{"237":{}},"parent":{}}],["getplayerstate",{"_index":160,"name":{"210":{}},"parent":{}}],["getpreferences",{"_index":164,"name":{"214":{}},"parent":{}}],["getqueue",{"_index":163,"name":{"213":{}},"parent":{}}],["getsecure",{"_index":166,"name":{"216":{}},"parent":{}}],["getsongs",{"_index":157,"name":{"207":{}},"parent":{}}],["gettime",{"_index":162,"name":{"212":{}},"parent":{}}],["getvolume",{"_index":161,"name":{"211":{}},"parent":{}}],["handler",{"_index":134,"name":{"181":{}},"parent":{}}],["hash",{"_index":54,"name":{"65":{},"83":{}},"parent":{}}],["icon",{"_index":36,"name":{"43":{},"72":{},"194":{}},"parent":{}}],["id",{"_index":142,"name":{"190":{}},"parent":{}}],["inclusive",{"_index":93,"name":{"128":{}},"parent":{}}],["index",{"_index":70,"name":{"95":{}},"parent":{}}],["inode",{"_index":55,"name":{"66":{},"85":{}},"parent":{}}],["invert",{"_index":94,"name":{"129":{}},"parent":{}}],["key",{"_index":74,"name":{"99":{},"106":{}},"parent":{}}],["label",{"_index":131,"name":{"178":{}},"parent":{}}],["lastclicked",{"_index":78,"name":{"108":{}},"parent":{}}],["loggedin",{"_index":147,"name":{"195":{}},"parent":{}}],["loginmodaloptions",{"_index":151,"name":{"199":{}},"parent":{}}],["lyrics",{"_index":47,"name":{"58":{}},"parent":{}}],["mimetype",{"_index":120,"name":{"162":{}},"parent":{}}],["moosyncextensiontemplate",{"_index":84,"name":{"114":{}},"parent":{"115":{},"116":{}}}],["name",{"_index":145,"name":{"192":{}},"parent":{}}],["nextpagetoken",{"_index":113,"name":{"149":{}},"parent":{}}],["nextsong",{"_index":100,"name":{"135":{}},"parent":{}}],["off",{"_index":176,"name":{"226":{}},"parent":{}}],["on",{"_index":175,"name":{"225":{}},"parent":{}}],["onstarted",{"_index":85,"name":{"115":{}},"parent":{}}],["onstopped",{"_index":86,"name":{"116":{}},"parent":{}}],["openexternalurl",{"_index":174,"name":{"224":{}},"parent":{}}],["openloginmodal",{"_index":182,"name":{"232":{}},"parent":{}}],["order",{"_index":69,"name":{"94":{}},"parent":{}}],["packagename",{"_index":144,"name":{"191":{},"203":{}},"parent":{}}],["path",{"_index":41,"name":{"48":{},"79":{},"103":{}},"parent":{}}],["pathgroup",{"_index":76,"name":{"102":{}},"parent":{"103":{},"104":{}}}],["pause",{"_index":98,"name":{"133":{}},"parent":{}}],["play",{"_index":97,"name":{"132":{}},"parent":{}}],["playbackdetailsreturntype",{"_index":117,"name":{"156":{}},"parent":{"157":{}}}],["playbackdetailsreturntype.__type",{"_index":118,"name":{},"parent":{"158":{},"159":{}}}],["playbackurl",{"_index":58,"name":{"69":{},"82":{}},"parent":{}}],["playcount",{"_index":62,"name":{"74":{}},"parent":{}}],["player",{"_index":190,"name":{"240":{}},"parent":{}}],["playercontrols",{"_index":96,"name":{"131":{}},"parent":{"132":{},"133":{},"134":{},"135":{},"136":{}}}],["playerstate",{"_index":66,"name":{"90":{}},"parent":{}}],["playertypes",{"_index":38,"name":{"45":{}},"parent":{}}],["playlist",{"_index":29,"name":{"36":{},"126":{},"170":{}},"parent":{"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{}}}],["playlist_coverpath",{"_index":33,"name":{"40":{}},"parent":{}}],["playlist_desc",{"_index":32,"name":{"39":{}},"parent":{}}],["playlist_id",{"_index":30,"name":{"37":{}},"parent":{}}],["playlist_name",{"_index":31,"name":{"38":{}},"parent":{}}],["playlist_path",{"_index":35,"name":{"42":{}},"parent":{}}],["playlist_song_count",{"_index":34,"name":{"41":{}},"parent":{}}],["playlistandsongsreturntype",{"_index":125,"name":{"168":{}},"parent":{"169":{}}}],["playlistandsongsreturntype.__type",{"_index":126,"name":{},"parent":{"170":{},"171":{}}}],["playlistreturntype",{"_index":105,"name":{"140":{}},"parent":{"141":{}}}],["playlistreturntype.__type",{"_index":107,"name":{},"parent":{"142":{}}}],["playlists",{"_index":106,"name":{"142":{},"153":{}},"parent":{}}],["prevsong",{"_index":101,"name":{"136":{}},"parent":{}}],["providerextension",{"_index":60,"name":{"71":{}},"parent":{}}],["recommendationsreturntype",{"_index":127,"name":{"172":{}},"parent":{"173":{}}}],["recommendationsreturntype.__type",{"_index":128,"name":{},"parent":{"174":{}}}],["redirecturl",{"_index":122,"name":{"164":{}},"parent":{}}],["registeraccount",{"_index":180,"name":{"230":{}},"parent":{}}],["registeroauth",{"_index":173,"name":{"223":{}},"parent":{}}],["registerpreferences",{"_index":81,"name":{"111":{}},"parent":{}}],["registeruserpreferences",{"_index":82,"name":{"112":{}},"parent":{}}],["releasetype",{"_index":48,"name":{"59":{}},"parent":{}}],["removecontextmenuitem",{"_index":178,"name":{"228":{}},"parent":{}}],["removesong",{"_index":170,"name":{"220":{}},"parent":{}}],["removeuserpreference",{"_index":189,"name":{"239":{}},"parent":{}}],["samplerate",{"_index":53,"name":{"64":{}},"parent":{}}],["searchablesong",{"_index":65,"name":{"77":{}},"parent":{"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{}}}],["searchreturntype",{"_index":114,"name":{"150":{}},"parent":{"151":{}}}],["searchreturntype.__type",{"_index":115,"name":{},"parent":{"152":{},"153":{},"154":{},"155":{}}}],["setalbumeditableinfo",{"_index":186,"name":{"236":{}},"parent":{}}],["setartisteditableinfo",{"_index":185,"name":{"235":{}},"parent":{}}],["setcontextmenuitem",{"_index":177,"name":{"227":{}},"parent":{}}],["setpreferences",{"_index":165,"name":{"215":{}},"parent":{}}],["setsecure",{"_index":167,"name":{"217":{}},"parent":{}}],["showinlibrary",{"_index":63,"name":{"75":{},"89":{}},"parent":{}}],["showtoast",{"_index":184,"name":{"234":{}},"parent":{}}],["signincallback",{"_index":148,"name":{"196":{}},"parent":{}}],["signoutcallback",{"_index":149,"name":{"197":{}},"parent":{}}],["size",{"_index":42,"name":{"49":{},"84":{}},"parent":{}}],["song",{"_index":39,"name":{"46":{},"122":{},"167":{}},"parent":{"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{}}}],["song_coverpath_high",{"_index":45,"name":{"52":{}},"parent":{}}],["song_coverpath_low",{"_index":44,"name":{"51":{}},"parent":{}}],["songapioptions",{"_index":90,"name":{"121":{}},"parent":{"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{}}}],["songqueue",{"_index":67,"name":{"91":{}},"parent":{"92":{},"93":{},"94":{},"95":{}}}],["songreturntype",{"_index":123,"name":{"165":{}},"parent":{"166":{}}}],["songreturntype.__type",{"_index":124,"name":{},"parent":{"167":{}}}],["songs",{"_index":109,"name":{"145":{},"148":{},"152":{},"171":{},"174":{}},"parent":{}}],["songsortoptions",{"_index":87,"name":{"117":{}},"parent":{"118":{}}}],["songsortoptions.__type",{"_index":88,"name":{},"parent":{"119":{},"120":{}}}],["songsreturntype",{"_index":108,"name":{"143":{}},"parent":{"144":{}}}],["songsreturntype.__type",{"_index":110,"name":{},"parent":{"145":{}}}],["songswithpagetokenreturntype",{"_index":111,"name":{"146":{}},"parent":{"147":{}}}],["songswithpagetokenreturntype.__type",{"_index":112,"name":{},"parent":{"148":{},"149":{}}}],["sortby",{"_index":92,"name":{"127":{}},"parent":{}}],["spotify",{"_index":9,"name":{"9":{},"28":{}},"parent":{}}],["stop",{"_index":99,"name":{"134":{}},"parent":{}}],["title",{"_index":43,"name":{"50":{},"80":{},"100":{},"107":{}},"parent":{}}],["track_no",{"_index":64,"name":{"76":{}},"parent":{}}],["transformeddata",{"_index":138,"name":{"185":{}},"parent":{}}],["type",{"_index":61,"name":{"73":{},"87":{},"119":{},"177":{}},"parent":{}}],["updatesong",{"_index":169,"name":{"219":{}},"parent":{}}],["url",{"_index":57,"name":{"68":{},"81":{},"159":{}},"parent":{}}],["username",{"_index":150,"name":{"198":{}},"parent":{}}],["utils",{"_index":152,"name":{"200":{},"206":{}},"parent":{"201":{},"202":{},"203":{},"204":{}}}],["year",{"_index":14,"name":{"16":{},"56":{}},"parent":{}}],["youtube",{"_index":12,"name":{"12":{},"25":{}},"parent":{}}]],"pipeline":[]}}
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
index 4de09d9..0775475 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1,4 +1,4 @@
-@moosync/moosync-types
+
@moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
+
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Album.html b/docs/interfaces/Album.html
new file mode 100644
index 0000000..231c574
--- /dev/null
+++ b/docs/interfaces/Album.html
@@ -0,0 +1 @@
+Album | @moosync/moosync-types Properties Optional album_ artistalbum_ artist?: string
Optional album_ cover Path_ highalbum_ cover Path_ high?: string
Optional album_ cover Path_ lowalbum_ cover Path_ low?: string
Optional album_ extra_ infoalbum_ extra_ info?: { extensions?: Record < string , Record < string , string > > ; spotify?: { album_id?: string } ; youtube?: { album_id?: string } }
Type declaration Optional extensions?: Record < string , Record < string , string > > Optional spotify?: { album_id?: string } Optional album_ id?: string Optional youtube?: { album_id?: string } Optional album_ id?: string Optional album_ idalbum_ id?: string
Optional album_ namealbum_ name?: string
Optional album_ song_ countalbum_ song_ count?: number
Optional yearyear?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Artists.html b/docs/interfaces/Artists.html
new file mode 100644
index 0000000..a6be606
--- /dev/null
+++ b/docs/interfaces/Artists.html
@@ -0,0 +1 @@
+Artists | @moosync/moosync-types Properties Optional artist_ cover Pathartist_ cover Path?: string
Optional artist_ extra_ infoartist_ extra_ info?: { extensions?: Record < string , Record < string , string > > ; spotify?: { artist_id?: string } ; youtube?: { channel_id?: string } }
Type declaration Optional extensions?: Record < string , Record < string , string > > Optional spotify?: { artist_id?: string } Optional artist_ id?: string Optional youtube?: { channel_id?: string } Optional channel_ id?: string artist_ id artist_ id: string
Optional artist_ mbidartist_ mbid?: string
Optional artist_ nameartist_ name?: string
Optional artist_ song_ countartist_ song_ count?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Buttons.html b/docs/interfaces/Buttons.html
new file mode 100644
index 0000000..ed052d5
--- /dev/null
+++ b/docs/interfaces/Buttons.html
@@ -0,0 +1 @@
+Buttons | @moosync/moosync-types Properties last Clicked last Clicked: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Checkbox.html b/docs/interfaces/Checkbox.html
new file mode 100644
index 0000000..c7db2bd
--- /dev/null
+++ b/docs/interfaces/Checkbox.html
@@ -0,0 +1 @@
+Checkbox | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/ExtensionData.html b/docs/interfaces/ExtensionData.html
new file mode 100644
index 0000000..ffdc422
--- /dev/null
+++ b/docs/interfaces/ExtensionData.html
@@ -0,0 +1 @@
+ExtensionData | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/ExtensionFactory.html b/docs/interfaces/ExtensionFactory.html
new file mode 100644
index 0000000..eadd9e5
--- /dev/null
+++ b/docs/interfaces/ExtensionFactory.html
@@ -0,0 +1,3 @@
+ExtensionFactory | @moosync/moosync-types Interface ExtensionFactory Methods Optional register PreferencesOptional register User PreferencesLegend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Genre.html b/docs/interfaces/Genre.html
new file mode 100644
index 0000000..842630d
--- /dev/null
+++ b/docs/interfaces/Genre.html
@@ -0,0 +1 @@
+Genre | @moosync/moosync-types Properties genre_ name genre_ name: string
genre_ song_ count genre_ song_ count: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/MoosyncExtensionTemplate.html b/docs/interfaces/MoosyncExtensionTemplate.html
new file mode 100644
index 0000000..e19652f
--- /dev/null
+++ b/docs/interfaces/MoosyncExtensionTemplate.html
@@ -0,0 +1,7 @@
+MoosyncExtensionTemplate | @moosync/moosync-types Interface MoosyncExtensionTemplate Methods Optional on Startedon Started( ) : Promise < void > Optional on Stoppedon Stopped( ) : Promise < void > Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/PathGroup.html b/docs/interfaces/PathGroup.html
new file mode 100644
index 0000000..a132f97
--- /dev/null
+++ b/docs/interfaces/PathGroup.html
@@ -0,0 +1 @@
+PathGroup | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Playlist.html b/docs/interfaces/Playlist.html
new file mode 100644
index 0000000..ba8de45
--- /dev/null
+++ b/docs/interfaces/Playlist.html
@@ -0,0 +1 @@
+Playlist | @moosync/moosync-types Properties Optional extensionextension?: string
Optional iconicon?: string
Optional playlist_ cover Pathplaylist_ cover Path?: string
Optional playlist_ descplaylist_ desc?: string
playlist_ id playlist_ id: string
playlist_ name playlist_ name: string
Optional playlist_ pathplaylist_ path?: string
Optional playlist_ song_ countplaylist_ song_ count?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/SearchableSong.html b/docs/interfaces/SearchableSong.html
new file mode 100644
index 0000000..bad6836
--- /dev/null
+++ b/docs/interfaces/SearchableSong.html
@@ -0,0 +1 @@
+SearchableSong | @moosync/moosync-types Properties Optional devicenodeviceno?: string
Optional extensionextension?: string | boolean
Optional hashhash?: string
Optional inodeinode?: string
Optional pathpath?: string
Optional playback Urlplayback Url?: string
Optional show In Libraryshow In Library?: boolean
Optional sizesize?: number
Optional titletitle?: string
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/Song.html b/docs/interfaces/Song.html
new file mode 100644
index 0000000..0f350e6
--- /dev/null
+++ b/docs/interfaces/Song.html
@@ -0,0 +1 @@
+Song | @moosync/moosync-types Properties Optional bitratebitrate?: number
Optional codeccodec?: string
Optional containercontainer?: string
Optional datedate?: string
date_ added date_ added: number
Optional devicenodeviceno?: string
Optional genregenre?: string []
Optional hashhash?: string
Optional iconicon?: string
Optional inodeinode?: string
Optional lyricslyrics?: string
Optional pathpath?: string
Optional play Countplay Count?: number
Optional playback Urlplayback Url?: string
Optional provider Extensionprovider Extension?: string
Optional release Typerelease Type?: string []
Optional sample Ratesample Rate?: number
Optional show In Libraryshow In Library?: boolean
Optional sizesize?: number
Optional song_ cover Path_ highsong_ cover Path_ high?: string
Optional song_ cover Path_ lowsong_ cover Path_ low?: string
Optional track_ notrack_ no?: number
Optional yearyear?: string | number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/SongAPIOptions.html b/docs/interfaces/SongAPIOptions.html
new file mode 100644
index 0000000..55c4419
--- /dev/null
+++ b/docs/interfaces/SongAPIOptions.html
@@ -0,0 +1,31 @@
+SongAPIOptions | @moosync/moosync-types Properties Optional inclusiveinclusive?: boolean
Optional invertinvert?: boolean
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.SongQueue.html b/docs/interfaces/SongQueue.html
similarity index 50%
rename from docs/interfaces/models.SongQueue.html
rename to docs/interfaces/SongQueue.html
index 16c5d53..a50aaff 100644
--- a/docs/interfaces/models.SongQueue.html
+++ b/docs/interfaces/SongQueue.html
@@ -1,10 +1,10 @@
-SongQueue | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/extensionAPI.html b/docs/interfaces/extensionAPI.html
new file mode 100644
index 0000000..7798c57
--- /dev/null
+++ b/docs/interfaces/extensionAPI.html
@@ -0,0 +1,216 @@
+extensionAPI | @moosync/moosync-types Methods add Playlist add Playlist( playlist: Omit < Playlist , "playlist_id" > ) : Promise < string > Parameters Returns Promise < string > ID of playlist which has been added
+
add Songs add Songs( ... songs: Song [] ) : Promise < Song [] > Parameters Returns Promise < Song [] > array of booleans with same index as song. True means song has been added successfully
+
add Songs To Playlist add Songs To Playlist( playlistID: string , ... songs: Song [] ) : Promise < void > Parameters playlistID: string Rest ... songs: Song [] Returns Promise < void > change Account Auth Status change Account Auth Status( id: string , loggedIn: boolean , username?: string ) : Promise < void > Parameters id: string loggedIn: boolean Optional username: string Returns Promise < void > close Login Modal close Login Modal( ) : Promise < void > get Current Song get Current Song( ) : Promise < Song > get Entity Type parameters Parameters Returns Promise < T [] > get Installed Extensions get Installed Extensions( ) : string [] get Preferences get Preferences<T>( key?: string , defaultValue?: unknown ) : Promise < T > Type parameters Parameters Optional key: string Optional defaultValue: unknown Returns Promise < T > get Secure get Secure<T>( key: string , defaultValue?: unknown ) : Promise < T > Type parameters Parameters key: string Optional defaultValue: unknown Returns Promise < T > get Songs Parameters Returns Promise < Song [] > get Time get Time( ) : Promise < number > get Volume get Volume( ) : Promise < number > off off<T>( eventName: T ) : void Type parameters Parameters Returns void on on( eventName: "requestedPlaylists" , callback: ( invalidateCache: boolean ) => Promise < void | PlaylistReturnType > ) : void on( eventName: "requestedPlaylistSongs" , callback: ( playlistID: string , invalidateCache: boolean , nextPageToken?: unknown ) => Promise < void | SongsWithPageTokenReturnType | ForwardRequestReturnType < "requestedPlaylistSongs" > > ) : void on( eventName: "oauthCallback" , callback: ( url: string ) => Promise < void > ) : void on( eventName: "songQueueChanged" , callback: ( songQueue: SongQueue ) => Promise < void > ) : void on( eventName: "seeked" , callback: ( newTime: number ) => Promise < void > ) : void on( eventName: "volumeChanged" , callback: ( newVolume: number ) => Promise < void > ) : void on( eventName: "playerStateChanged" , callback: ( newState: PlayerState ) => Promise < void > ) : void on( eventName: "songChanged" , callback: ( song: Song ) => Promise < void > ) : void on( eventName: "preferenceChanged" , callback: ( preference: { key: string ; value: unknown } ) => Promise < void > ) : void on( eventName: "playbackDetailsRequested" , callback: ( song: Song ) => Promise < void | PlaybackDetailsReturnType | ForwardRequestReturnType < "playbackDetailsRequested" > > ) : void on( eventName: "customRequest" , callback: ( url: string ) => Promise < void | CustomRequestReturnType > ) : void on( eventName: "requestedSongFromURL" , callback: ( url: string ) => Promise < void | SongReturnType | ForwardRequestReturnType < "requestedSongFromURL" > > ) : void on( eventName: "requestedPlaylistFromURL" , callback: ( url: string ) => Promise < void | PlaylistAndSongsReturnType | ForwardRequestReturnType < "requestedPlaylistFromURL" > > ) : void on( eventName: "requestedSearchResult" , callback: ( term: string ) => Promise < void | SearchReturnType | ForwardRequestReturnType < "requestedSearchResult" > > ) : void on( eventName: "requestedRecommendations" , callback: ( ) => Promise < void | RecommendationsReturnType | ForwardRequestReturnType < "requestedRecommendations" > > ) : void on( eventName: "requestedLyrics" , callback: ( song: Song ) => Promise < string | void | ForwardRequestReturnType < "requestedLyrics" > > ) : void on( eventName: "requestedArtistSongs" , callback: ( artist: Artists , nextPageToken?: unknown ) => Promise < void | SongsWithPageTokenReturnType | ForwardRequestReturnType < "requestedArtistSongs" > > ) : void on( eventName: "requestedAlbumSongs" , callback: ( album: Album , nextPageToken?: unknown ) => Promise < void | SongsWithPageTokenReturnType | ForwardRequestReturnType < "requestedAlbumSongs" > > ) : void on( eventName: "requestedSongFromId" , callback: ( url: string ) => Promise < void | SongReturnType | ForwardRequestReturnType < "requestedSongFromId" > > ) : void on( eventName: "songAdded" , callback: ( songs: Song [] ) => Promise < void > ) : void on( eventName: "songRemoved" , callback: ( songs: Song [] ) => Promise < void > ) : void on( eventName: "playlistAdded" , callback: ( playlist: Playlist [] ) => Promise < void > ) : void on( eventName: "playlistRemoved" , callback: ( songs: Playlist [] ) => Promise < void > ) : void Parameters eventName: "requestedPlaylists" callback: ( invalidateCache: boolean ) => Promise < void | PlaylistReturnType > Returns void Parameters eventName: "requestedPlaylistSongs" callback: ( playlistID: string , invalidateCache: boolean , nextPageToken?: unknown ) => Promise < void | SongsWithPageTokenReturnType | ForwardRequestReturnType < "requestedPlaylistSongs" > > Parameters playlistID: string invalidateCache: boolean Optional nextPageToken: unknown Returns void Parameters eventName: "oauthCallback" callback: ( url: string ) => Promise < void > ( url: string ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "songQueueChanged" callback: ( songQueue: SongQueue ) => Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "seeked" callback: ( newTime: number ) => Promise < void > ( newTime: number ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "volumeChanged" callback: ( newVolume: number ) => Promise < void > ( newVolume: number ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "playerStateChanged" callback: ( newState: PlayerState ) => Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "songChanged" callback: ( song: Song ) => Promise < void > ( song: Song ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "preferenceChanged" callback: ( preference: { key: string ; value: unknown } ) => Promise < void > ( preference: { key: string ; value: unknown } ) : Promise < void > Parameters preference: { key: string ; value: unknown } key: string value: unknown Returns Promise < void > Returns void Parameters eventName: "playbackDetailsRequested" Returns void Parameters eventName: "customRequest" Returns void Parameters eventName: "requestedSongFromURL" Returns void Parameters eventName: "requestedPlaylistFromURL" Returns void Parameters eventName: "requestedSearchResult" Returns void Parameters eventName: "requestedRecommendations" Returns void Parameters Returns void Parameters eventName: "requestedArtistSongs" Parameters Optional nextPageToken: unknown Returns void Parameters eventName: "requestedAlbumSongs" Parameters Optional nextPageToken: unknown Returns void Parameters eventName: "requestedSongFromId" Returns void Parameters eventName: "songAdded" callback: ( songs: Song [] ) => Promise < void > ( songs: Song [] ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "songRemoved" callback: ( songs: Song [] ) => Promise < void > ( songs: Song [] ) : Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "playlistAdded" callback: ( playlist: Playlist [] ) => Promise < void > Parameters Returns Promise < void > Returns void Parameters eventName: "playlistRemoved" callback: ( songs: Playlist [] ) => Promise < void > Parameters Returns Promise < void > Returns void open ExternalURL open ExternalURL( url: string ) : Promise < void > Parameters Returns Promise < void > open Login Modal Parameters Returns Promise < boolean > register Account register Account( name: string , bgColor: string , icon: string , signinCallback: ( ) => void | Promise < void > , signoutCallback: ( ) => void | Promise < void > ) : Promise < string > Parameters name: string bgColor: string icon: string signinCallback: ( ) => void | Promise < void > Returns void | Promise < void > signoutCallback: ( ) => void | Promise < void > Returns void | Promise < void > Returns Promise < string > registerOAuth registerOAuth( path: string ) : Promise < void > Parameters Returns Promise < void > remove Context Menu Item remove Context Menu Item( index: number ) : void remove Song remove Song( song_id: string ) : Promise < void > remove Song( song: Song ) : Promise < void > Parameters Returns Promise < void > Parameters Returns Promise < void > remove User Preference remove User Preference( key: string ) : void set Album Editable Info set Album Editable Info( artist_id: string , object: Record < string , string > ) : Promise < void > Parameters artist_id: string object: Record < string , string > Returns Promise < void > set Artist Editable Info set Artist Editable Info( artist_id: string , object: Record < string , string > ) : Promise < void > Parameters artist_id: string object: Record < string , string > Returns Promise < void > set Context Menu Item Type parameters Parameters Returns void set Preferences set Preferences( key: string , value: unknown ) : Promise < void > Parameters key: string value: unknown Returns Promise < void > set Secure set Secure( key: string , value: unknown ) : Promise < void > Parameters key: string value: unknown Returns Promise < void > show Toast show Toast( message: string , duration?: number , type?: "success" | "info" | "error" | "default" ) : any Parameters message: string Optional duration: number Optional type: "success" | "info" | "error" | "default" Returns any update Song Parameters Returns Promise < Song > Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.Checkbox.html b/docs/interfaces/index.Checkbox.html
deleted file mode 100644
index 4ae18ee..0000000
--- a/docs/interfaces/index.Checkbox.html
+++ /dev/null
@@ -1 +0,0 @@
-Checkbox | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.ExtensionData.html b/docs/interfaces/index.ExtensionData.html
deleted file mode 100644
index a11bcde..0000000
--- a/docs/interfaces/index.ExtensionData.html
+++ /dev/null
@@ -1 +0,0 @@
-ExtensionData | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.ExtensionFactory.html b/docs/interfaces/index.ExtensionFactory.html
deleted file mode 100644
index 668fe80..0000000
--- a/docs/interfaces/index.ExtensionFactory.html
+++ /dev/null
@@ -1,3 +0,0 @@
-ExtensionFactory | @moosync/moosync-types Interface ExtensionFactory Methods Optional register PreferencesLegend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.MoosyncExtensionTemplate.html b/docs/interfaces/index.MoosyncExtensionTemplate.html
deleted file mode 100644
index d21c38e..0000000
--- a/docs/interfaces/index.MoosyncExtensionTemplate.html
+++ /dev/null
@@ -1,30 +0,0 @@
-MoosyncExtensionTemplate | @moosync/moosync-types Interface MoosyncExtensionTemplate Methods Optional on Player State Changedon Player State Changed( state: PlayerState ) : Promise < void > Parameters Returns Promise < void > Optional on Preference Changedon Preference Changed( param0: { key: string ; value: any } ) : Promise < void > Parameters param0: { key: string ; value: any } Returns Promise < void > Optional on Seekedon Seeked( time: number ) : Promise < void > Parameters Returns Promise < void > Optional on Song Changedon Song Changed( song: Song ) : Promise < void > Parameters Returns Promise < void > Optional on Song Queue Changedon Song Queue Changed( queue: SongQueue ) : Promise < void > Parameters Returns Promise < void > Optional on Startedon Started( ) : Promise < void > Optional on Stoppedon Stopped( ) : Promise < void > Optional on Volume Changedon Volume Changed( volume: number ) : Promise < void > Parameters Returns Promise < void > Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.PathGroup.html b/docs/interfaces/index.PathGroup.html
deleted file mode 100644
index 79dbb3c..0000000
--- a/docs/interfaces/index.PathGroup.html
+++ /dev/null
@@ -1 +0,0 @@
-PathGroup | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.SongAPIOptions.html b/docs/interfaces/index.SongAPIOptions.html
deleted file mode 100644
index d20994c..0000000
--- a/docs/interfaces/index.SongAPIOptions.html
+++ /dev/null
@@ -1,26 +0,0 @@
-SongAPIOptions | @moosync/moosync-types Properties Optional inclusiveinclusive?: boolean
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.extensionAPI.html b/docs/interfaces/index.extensionAPI.html
deleted file mode 100644
index 1efa394..0000000
--- a/docs/interfaces/index.extensionAPI.html
+++ /dev/null
@@ -1,30 +0,0 @@
-extensionAPI | @moosync/moosync-types Methods get Current Song get Current Song( ) : Promise < Song > get Preferences get Preferences( key?: string , defaultValue?: any ) : Promise < any > Parameters Optional key: string Optional defaultValue: any Returns Promise < any > get Songs Parameters Returns Promise < Song [] > get Time get Time( ) : Promise < number > get Volume get Volume( ) : Promise < number > set Preferences set Preferences( key: string , value: any ) : Promise < void > Parameters Returns Promise < void > Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.Album.html b/docs/interfaces/models.Album.html
deleted file mode 100644
index 4766cdb..0000000
--- a/docs/interfaces/models.Album.html
+++ /dev/null
@@ -1 +0,0 @@
-Album | @moosync/moosync-types Properties Optional album_ artistalbum_ artist?: string
Optional album_ cover Pathalbum_ cover Path?: string
Optional album_ idalbum_ id?: string
Optional album_ namealbum_ name?: string
Optional album_ song_ countalbum_ song_ count?: number
Optional yearyear?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.Genre.html b/docs/interfaces/models.Genre.html
deleted file mode 100644
index 4238833..0000000
--- a/docs/interfaces/models.Genre.html
+++ /dev/null
@@ -1 +0,0 @@
-Genre | @moosync/moosync-types Properties Optional genre_ idgenre_ id?: string
Optional genre_ namegenre_ name?: string
Optional genre_ song_ countgenre_ song_ count?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.Playlist.html b/docs/interfaces/models.Playlist.html
deleted file mode 100644
index 9a8d242..0000000
--- a/docs/interfaces/models.Playlist.html
+++ /dev/null
@@ -1 +0,0 @@
-Playlist | @moosync/moosync-types Properties Optional playlist_ cover Pathplaylist_ cover Path?: string
Optional playlist_ idplaylist_ id?: string
Optional playlist_ nameplaylist_ name?: string
Optional playlist_ song_ countplaylist_ song_ count?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.SearchableSong.html b/docs/interfaces/models.SearchableSong.html
deleted file mode 100644
index 41fa475..0000000
--- a/docs/interfaces/models.SearchableSong.html
+++ /dev/null
@@ -1 +0,0 @@
-SearchableSong | @moosync/moosync-types Properties Optional hashhash?: string
Optional pathpath?: string
Optional playback Urlplayback Url?: string
Optional titletitle?: string
Optional typetype?: "LOCAL" | "YOUTUBE" | "SPOTIFY"
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.Song.html b/docs/interfaces/models.Song.html
deleted file mode 100644
index 5df525d..0000000
--- a/docs/interfaces/models.Song.html
+++ /dev/null
@@ -1 +0,0 @@
-Song | @moosync/moosync-types Properties Optional artistsartists?: string []
Optional bitratebitrate?: number
Optional codeccodec?: string
Optional containercontainer?: string
Optional datedate?: string
Optional devicenodeviceno?: string
Optional genregenre?: string []
Optional hashhash?: string
Optional inodeinode?: string
Optional lyricslyrics?: string
Optional pathpath?: string
Optional playback Urlplayback Url?: string
Optional release Typerelease Type?: string []
Optional sample Ratesample Rate?: number
Optional sizesize?: number
Optional song_ cover Pathsong_ cover Path?: string
type type: "LOCAL" | "YOUTUBE" | "SPOTIFY"
Optional yearyear?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/models.artists.html b/docs/interfaces/models.artists.html
deleted file mode 100644
index af76f65..0000000
--- a/docs/interfaces/models.artists.html
+++ /dev/null
@@ -1 +0,0 @@
-artists | @moosync/moosync-types Properties Optional artist_ cover Pathartist_ cover Path?: string
Optional artist_ idartist_ id?: string
Optional artist_ mbidartist_ mbid?: string
Optional artist_ nameartist_ name?: string
Optional artist_ song_ countartist_ song_ count?: number
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/index.playerControls.html b/docs/interfaces/playerControls.html
similarity index 60%
rename from docs/interfaces/index.playerControls.html
rename to docs/interfaces/playerControls.html
index 2f957b2..89b7406 100644
--- a/docs/interfaces/index.playerControls.html
+++ b/docs/interfaces/playerControls.html
@@ -1,13 +1,13 @@
-playerControls | @moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/interfaces/utils.html b/docs/interfaces/utils.html
new file mode 100644
index 0000000..2d82aa7
--- /dev/null
+++ b/docs/interfaces/utils.html
@@ -0,0 +1,5 @@
+utils | @moosync/moosync-types Properties Readonly custom Request Base Urlcustom Request Base Url: string
Readonly package Namepackage Name: string
Methods get Album Extra Info get Album Extra Info( album: Album ) : Record < string , string > Parameters Returns Record < string , string > get Artist Extra Info get Artist Extra Info( artist: Artists ) : Record < string , string > Parameters Returns Record < string , string > Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/modules.html b/docs/modules.html
index 0725988..a9b5574 100644
--- a/docs/modules.html
+++ b/docs/modules.html
@@ -1 +1,6 @@
-@moosync/moosync-types Legend Settings Theme OS Light Dark
\ No newline at end of file
+@moosync/moosync-types Type aliases Account Details Account Details: { bgColor: string ; icon: string ; id: string ; loggedIn: boolean ; name: string ; packageName: string ; username?: string ; signinCallback: any ; signoutCallback: any }
Type declaration bg Color: string icon: string id: string logged In: boolean name: string package Name: string Optional username?: string signin Callback: function signin Callback( ) : void | Promise < void > Returns void | Promise < void > signout Callback: function signout Callback( ) : void | Promise < void > Returns void | Promise < void > Context Menu Types Context Menu Types: "SONGS" | "GENERAL_SONGS" | "PLAYLIST" | "GENERAL_PLAYLIST" | "PLAYLIST_CONTENT" | "QUEUE_ITEM" | "ARTIST" | "ALBUM" | "CURRENT_SONG"
Custom Request Return Type Custom Request Return Type: { data?: Buffer ; mimeType?: string ; redirectUrl?: string }
Type declaration Optional data?: Buffer Optional mime Type?: string Optional redirect Url?: string Entity Api Options Entity
Api
Options<T>
: { inclusive
?: boolean ; invert
?: boolean } & ( T extends Artists ? { artist
: Partial < Artists > | boolean } : T extends Album ? { album
: Partial < Album > | boolean } : T extends Genre ? { genre
: Partial < Genre > | boolean } : T extends Playlist ? { playlist
: Partial < Playlist > | boolean } : Record < string , never > ) Type parameters Extension Context Menu Handler Args Extension
Context
Menu
Handler
Args<T>
: T extends "SONGS" ? Song [] : T extends "PLAYLIST" ? Playlist : T extends "PLAYLIST_CONTENT" ? Song [] : T extends "QUEUE_ITEM" ? Song : T extends "ARTIST" ? Artists : T extends "ALBUM" ? Album : T extends "CURRENT_SONG" ? Song : undefined Type parameters Extension Context Menu Item Extension
Context
Menu
Item<T>
: { children
?: ExtensionContextMenuItem < T > [] ; disabled
?: boolean ; label
: string ; type
: T ; handler
?: any } Type parameters Type declaration Optional disabled?: boolean label: string type: T handler?: function Extension Preference Group Extension
Preference
Group
: { description
?: string ; index
?: number ; key
: string ; title
?: string } & ( { items
: Checkbox [] ; type
: "CheckboxGroup" } | { default
: string ; inputType
?: "text" | "number" | "password" | "url" ; type
: "EditText" } | { default
: string ; type
: "FilePicker" } | { default
: PathGroup [] ; type
: "DirectoryGroup" } | { items
: Buttons [] ; type
: "ButtonGroup" } | { default
: number ; type
: "ProgressBar" } | { default
: string ; type
: "TextField" } | { default
: string ; type
: "InfoField" } ) Extra Extension Event Data Extra
Extension
Event
Data<T>
: T extends "requestedPlaylistSongs" ? [ playlistID
: string , invalidateCache
: boolean , nextPageToken
: unknown | undefined ] : T extends "requestedPlaylists" ? [ invalidateCache
: boolean ] : T extends "oauthCallback" ? [ url
: string ] : T extends "songQueueChanged" ? [ songQueue
: SongQueue ] : T extends "seeked" ? [ newTime
: number ] : T extends "volumeChanged" ? [ newVolume
: number ] : T extends "playerStateChanged" ? [ newState
: PlayerState ] : T extends "songChanged" ? [ song
: Song ] : T extends "preferenceChanged" ? [ preference
: { key
: string ; value
: unknown } ] : T extends "playbackDetailsRequested" ? [ song
: Song ] : T extends "customRequest" ? [ url
: string ] : T extends "requestedSongFromURL" ? [ url
: string , invalidateCache
: boolean ] : T extends "requestedPlaylistFromURL" ? [ url
: string , invalidateCache
: boolean ] : T extends "requestedSearchResult" ? [ term
: string ] : T extends "requestedLyrics" ? [ song
: Song ] : T extends "requestedArtistSongs" ? [ artist
: Artists , nextPageToken
: unknown | undefined ] : T extends "requestedAlbumSongs" ? [ album
: Album , nextPageToken
: unknown | undefined ] : T extends "songAdded" | "songRemoved" ? [ songs
: Song [] ] : T extends "playlistAdded" | "playlistRemoved" ? [ playlists
: Playlist [] ] : T extends "requestedSongFromId" ? [ id
: string ] : T extends "getRemoteURL" ? [ song
: Song ] : never [] Type parameters Extra Extension Event Return Type Type parameters Extra Extension Event Types Extra Extension Event Types: "requestedPlaylists" | "requestedPlaylistSongs" | "oauthCallback" | "songQueueChanged" | "seeked" | "volumeChanged" | "playerStateChanged" | "songChanged" | "preferenceChanged" | "playbackDetailsRequested" | "customRequest" | "requestedSongFromURL" | "requestedPlaylistFromURL" | "requestedSearchResult" | "requestedRecommendations" | "requestedLyrics" | "requestedArtistSongs" | "requestedAlbumSongs" | "songAdded" | "songRemoved" | "playlistAdded" | "playlistRemoved" | "requestedSongFromId" | "getRemoteURL"
Forward Request Return Type Forward
Request
Return
Type<T>
: { forwardTo
: "youtube" | "spotify" | string ; transformedData
?: ExtraExtensionEventData < T > } Type parameters Type declaration forward To: "youtube" | "spotify" | string Login Modal Options Login Modal Options: { providerColor: string ; providerName: string ; text?: string ; url?: string } & ( { manualClick: true ; oauthPath: string } | { manualClick?: false ; oauthPath?: string } )
Playback Details Return Type Playback Details Return Type: { duration: number ; url: string }
Type declaration duration: number url: string Player State Player State: "PLAYING" | "PAUSED" | "STOPPED" | "LOADING"
Player Types Player Types: "LOCAL" | "YOUTUBE" | "SPOTIFY" | "URL" | "DASH" | "HLS"
Playlist And Songs Return Type Playlist
And
Songs
Return
Type
: { playlist
: Playlist ; songs
: Song [] } Playlist Return Type Playlist
Return
Type
: { playlists
: Playlist [] } Recommendations Return Type Recommendations
Return
Type
: { songs
: Song [] } Song Return Type Song
Return
Type
: { song
: Song } Song Sort Options Song
Sort
Options
: { asc
: boolean ; type
: keyof Song } Type declaration asc: boolean type: keyof Song Songs Return Type Songs
Return
Type
: { songs
: Song [] } Songs With Page Token Return Type Songs
With
Page
Token
Return
Type
: { nextPageToken
?: unknown ; songs
: Song [] } Type declaration Optional next Page Token?: unknown songs: Song [] Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/modules/index.html b/docs/modules/index.html
deleted file mode 100644
index 0055fd5..0000000
--- a/docs/modules/index.html
+++ /dev/null
@@ -1,6 +0,0 @@
-index | @moosync/moosync-types Type aliases Entity Api Options Entity
Api
Options
: { inclusive
?: boolean } & ( { album
: Album | boolean } | { artist
: artists | boolean } | { genre
: Genre | boolean } | { playlist
: Playlist | boolean } ) Extension Preference Group Extension
Preference
Group
: { description
: string ; key
: string ; title
: string } & ( { items
: Checkbox [] ; type
: "CheckboxGroup" } | { default
: string ; type
: "EditText" } | { default
: string ; type
: "FilePicker" } | { default
: PathGroup [] ; type
: "DirectoryGroup" } ) sort Options sort Options: { asc: boolean ; type: "name" | "date" }
Type declaration asc: boolean type: "name" | "date" Variables EXTENSION_ ENTRY_ POINT EXTENSION_ ENTRY_ POINT: "moosync_extension_entry" = 'moosync_extension_entry'
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/docs/modules/models.html b/docs/modules/models.html
deleted file mode 100644
index 1bda3cf..0000000
--- a/docs/modules/models.html
+++ /dev/null
@@ -1 +0,0 @@
-models | @moosync/moosync-types Type aliases Player State Player State: "PLAYING" | "PAUSED" | "STOPPED" | "LOADING"
Legend Settings Theme OS Light Dark
\ No newline at end of file
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..4dec63f
Binary files /dev/null and b/favicon.ico differ
diff --git a/index.html b/index.html
index f0e815a..57517a8 100644
--- a/index.html
+++ b/index.html
@@ -2,302 +2,332 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Moosync
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
- moosync
-
-
-
-
-
-
-
-
-
- An Open Source Music Player
- A music player For the community
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
Moosync
-
-
-
+
+
-
- Download for other platforms
-
-
-
- Why use Moosync
-
-
-
- Customizable theme engine & Easy to use interface
-
-
-
- Develop own apps on top of Moosync Extension API
-
-
-
-
-
- Seamlessly integrate your Spotify and Youtube playlists.
-
-
-
-
-
-
- Play songs directly from youtube
-
-
-
-
-
- Mix and match songs from different providers in a single
- playlist
-
-
-
- Add Spotify and Youtube tracks and playlists by URLs
-
-
-
-
- Some counts that matters
-
-
-
-
15+
-
Discord Community
-
-
-
7+
-
Active Contributors
-
-
-
3+
-
Programs Participated
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+ An Open Source Music Player
+ A music player
+ For the community
+
+
+
+
+
+