├── .editorconfig
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yaml
│ ├── config.yml
│ └── translation.yaml
├── PULL_REQUEST_TEMPLATE
│ └── translations.md
├── dependabot.yml
└── workflows
│ ├── auto-project.yml
│ ├── cider-chores.yml
│ ├── dev-chores.yml
│ ├── stale-issues.yml
│ └── support-notice.yml
├── .gitignore
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .prettierrc
├── .yarnrc.yml
├── Assets
├── AppChromeBtn.afdesign
├── Cider Icons
│ └── svg
│ │ ├── cider-backward.svg
│ │ ├── cider-forward.svg
│ │ ├── cider-pause.svg
│ │ └── cider-play.svg
├── Cider with text.svg
├── Install On Cider
│ ├── install on cider.afdesign
│ └── install on cider.svg
├── MissingArtwork.afdesign
├── MissingArtwork.svg
├── Release.svg
├── Sources
│ ├── Cider with text.afdesign
│ ├── Release.afdesign
│ ├── cider-vinyl no raster.afdesign
│ ├── cider-vinyl-no raster 2.afdesign
│ └── cider-vinyl.afdesign
└── Vinyl Logo
│ ├── cider-vinyl no raster.svg
│ └── cider-vinyl textured.svg
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── appx
├── Square150x150Logo.PNG
├── Square44x44Logo.PNG
├── Square44x44Logo.targetsize-44_altform-unplated.PNG
├── StoreLogo.PNG
└── Wide310x150Logo.PNG
├── docs
└── plugins
│ ├── example
│ └── examplePlugin.ts
│ └── sendSongToTitlebar.ts
├── flatpak
├── cider-wrapper
├── flathub.json
├── org.cidercollective.cider.yml
├── sh.cider.Cider.metainfo.xml
└── sh.cider.Cider.yml
├── msft-test.json
├── package.json
├── pnpm-lock.yaml
├── resources
├── afterPack.cjs
├── banner.png
├── bg.tiff
├── entitlements.mac.plist
├── icons
│ ├── icon-old.icns
│ ├── icon-test.ico
│ ├── icon.icns
│ ├── icon.ico
│ ├── icon.png
│ ├── icon.svg
│ ├── thumbar
│ │ ├── dark_next.png
│ │ ├── dark_pause.png
│ │ ├── dark_play.png
│ │ ├── dark_previous.png
│ │ ├── light_next.png
│ │ ├── light_pause.png
│ │ ├── light_play.png
│ │ └── light_previous.png
│ └── webui
│ │ ├── cast.svg
│ │ ├── cast_white.svg
│ │ ├── close.svg
│ │ ├── down.svg
│ │ ├── miniplayer_hover.svg
│ │ └── up.svg
├── license.json
├── license.txt
├── macPackager.cjs
├── notarize.cjs
├── verror-types
└── version.sh
├── src
├── ciderkit
│ └── public.js
├── main
│ ├── base
│ │ ├── app.ts
│ │ ├── browserwindow.ts
│ │ ├── castcontroller.ts
│ │ ├── castreceiver.ts
│ │ ├── plugins.ts
│ │ ├── store.ts
│ │ ├── utils.ts
│ │ ├── vcomponents.json
│ │ ├── vrouting.json
│ │ └── wsapi.ts
│ ├── index.ts
│ ├── plugins
│ │ ├── chromecast.ts
│ │ ├── discordrpc.ts
│ │ ├── lastfm.ts
│ │ ├── menubar.ts
│ │ ├── mpris.ts
│ │ ├── playbackNotifications.ts
│ │ ├── raop.ts
│ │ ├── thumbar.ts
│ │ └── webNowPlaying.ts
│ └── providers
│ │ └── local
│ │ └── index.ts
├── preload
│ └── cider-preload.js
├── renderer
│ ├── apple-hls-old.js
│ ├── apple-hls.js
│ ├── assets
│ │ ├── AppChromeBtn-Open.svg
│ │ ├── AppChromeBtn.svg
│ │ ├── CiderMenu.svg
│ │ ├── MissingArtwork.svg
│ │ ├── RatingsLove.png
│ │ ├── angles-left.svg
│ │ ├── angles-right.svg
│ │ ├── arrow-bend-down.svg
│ │ ├── arrow-bend-up.svg
│ │ ├── arrow-left.svg
│ │ ├── backward.svg
│ │ ├── banner.png
│ │ ├── banner2.png
│ │ ├── c1-c2.png
│ │ ├── cast_white.svg
│ │ ├── check.svg
│ │ ├── chevron-left.svg
│ │ ├── chevron-right.svg
│ │ ├── cider-icons
│ │ │ ├── backward.svg
│ │ │ ├── forward.svg
│ │ │ ├── pause.svg
│ │ │ ├── play.svg
│ │ │ └── stop.svg
│ │ ├── cider-round.svg
│ │ ├── discord.svg
│ │ ├── explicit.svg
│ │ ├── feather
│ │ │ ├── disc.svg
│ │ │ ├── external-link.svg
│ │ │ ├── folder.svg
│ │ │ ├── globe.svg
│ │ │ ├── hard-drive.svg
│ │ │ ├── headphones.svg
│ │ │ ├── heart-fill.svg
│ │ │ ├── heart.svg
│ │ │ ├── home.svg
│ │ │ ├── list.svg
│ │ │ ├── mic.svg
│ │ │ ├── music.svg
│ │ │ ├── pen-tool.svg
│ │ │ ├── play-circle.svg
│ │ │ ├── play.svg
│ │ │ ├── plugins.svg
│ │ │ ├── plus-circle-white.svg
│ │ │ ├── plus-circle.svg
│ │ │ ├── plus.svg
│ │ │ ├── radio.svg
│ │ │ ├── share-2.svg
│ │ │ ├── share.svg
│ │ │ ├── style.svg
│ │ │ ├── thumbs-down.svg
│ │ │ ├── thumbs-up.svg
│ │ │ ├── unheart.svg
│ │ │ ├── user.svg
│ │ │ ├── video.svg
│ │ │ ├── volume-2.svg
│ │ │ ├── volume.svg
│ │ │ ├── x-circle-white.svg
│ │ │ ├── x-circle.svg
│ │ │ ├── x-circlePng.png
│ │ │ └── zap.svg
│ │ ├── fonts
│ │ │ ├── Inter
│ │ │ │ ├── Inter-Black.woff
│ │ │ │ ├── Inter-Black.woff2
│ │ │ │ ├── Inter-BlackItalic.woff
│ │ │ │ ├── Inter-BlackItalic.woff2
│ │ │ │ ├── Inter-Bold.woff
│ │ │ │ ├── Inter-Bold.woff2
│ │ │ │ ├── Inter-BoldItalic.woff
│ │ │ │ ├── Inter-BoldItalic.woff2
│ │ │ │ ├── Inter-ExtraBold.woff
│ │ │ │ ├── Inter-ExtraBold.woff2
│ │ │ │ ├── Inter-ExtraBoldItalic.woff
│ │ │ │ ├── Inter-ExtraBoldItalic.woff2
│ │ │ │ ├── Inter-ExtraLight.woff
│ │ │ │ ├── Inter-ExtraLight.woff2
│ │ │ │ ├── Inter-ExtraLightItalic.woff
│ │ │ │ ├── Inter-ExtraLightItalic.woff2
│ │ │ │ ├── Inter-Italic.woff
│ │ │ │ ├── Inter-Italic.woff2
│ │ │ │ ├── Inter-Light.woff
│ │ │ │ ├── Inter-Light.woff2
│ │ │ │ ├── Inter-LightItalic.woff
│ │ │ │ ├── Inter-LightItalic.woff2
│ │ │ │ ├── Inter-Medium.woff
│ │ │ │ ├── Inter-Medium.woff2
│ │ │ │ ├── Inter-MediumItalic.woff
│ │ │ │ ├── Inter-MediumItalic.woff2
│ │ │ │ ├── Inter-Regular.woff
│ │ │ │ ├── Inter-Regular.woff2
│ │ │ │ ├── Inter-SemiBold.woff
│ │ │ │ ├── Inter-SemiBold.woff2
│ │ │ │ ├── Inter-SemiBoldItalic.woff
│ │ │ │ ├── Inter-SemiBoldItalic.woff2
│ │ │ │ ├── Inter-Thin.woff
│ │ │ │ ├── Inter-Thin.woff2
│ │ │ │ ├── Inter-ThinItalic.woff
│ │ │ │ ├── Inter-ThinItalic.woff2
│ │ │ │ ├── Inter-italic.var.woff2
│ │ │ │ ├── Inter-roman.var.woff2
│ │ │ │ ├── Inter.var.woff2
│ │ │ │ └── inter.css
│ │ │ └── Pretendard
│ │ │ │ ├── pretendardvariable.css
│ │ │ │ └── woff2
│ │ │ │ └── PretendardVariable.woff2
│ │ ├── forward.svg
│ │ ├── github.svg
│ │ ├── hamborgar.svg
│ │ ├── infinity.svg
│ │ ├── ko_fi.svg
│ │ ├── list.svg
│ │ ├── logocut.png
│ │ ├── lossless.svg
│ │ ├── music.svg
│ │ ├── oobe
│ │ │ ├── maverick.png
│ │ │ └── mojave.png
│ │ ├── open_collective.svg
│ │ ├── pause.svg
│ │ ├── pip.svg
│ │ ├── play.svg
│ │ ├── ppe.svg
│ │ ├── private.svg
│ │ ├── qq.svg
│ │ ├── quote-right.svg
│ │ ├── repeat.svg
│ │ ├── repeatOne.svg
│ │ ├── search-alt.svg
│ │ ├── search.svg
│ │ ├── settings.svg
│ │ ├── shuffle.svg
│ │ ├── spatialization.svg
│ │ ├── spinner-old.gif
│ │ ├── spinner.svg
│ │ ├── star.svg
│ │ ├── transparent.png
│ │ └── twitter.svg
│ ├── audio
│ │ ├── audio.js
│ │ ├── cloud
│ │ │ └── audio.js
│ │ └── impulses
│ │ │ ├── AtmosphereRealizer_BSCBM.wav
│ │ │ ├── AtmosphereRealizer_Cuddle.wav
│ │ │ ├── AtmosphereRealizer_E168_1.2.wav
│ │ │ ├── AtmosphereRealizer_E68_1.5.wav
│ │ │ ├── AtmosphereRealizer_E68_2.2.wav
│ │ │ ├── AtmosphereRealizer_Natural+.wav
│ │ │ ├── AtmosphereRealizer_NaturalStandard.wav
│ │ │ ├── AtmosphereRealizer_Z3600.wav
│ │ │ ├── AtmosphereRealizer_Z8500_A.wav
│ │ │ ├── AtmosphereRealizer_Z8500_B.wav
│ │ │ ├── AtmosphereRealizer_Z8500_C.wav
│ │ │ ├── CAP_256_FINAL_48k.wav
│ │ │ ├── CAP_64.wav
│ │ │ ├── CAP_Maikiwi.wav
│ │ │ ├── CAP_Natural.wav
│ │ │ ├── CiderSpatial_BPLK.wav
│ │ │ ├── CiderSpatial_Diffuse.wav
│ │ │ ├── CiderSpatial_HW2K.wav
│ │ │ ├── CiderSpatial_LIVE_2.wav
│ │ │ ├── CiderSpatial_Maikiwi.wav
│ │ │ ├── CiderSpatial_MaikiwiPlus.wav
│ │ │ ├── CiderSpatial_Natural+.wav
│ │ │ ├── CiderSpatial_Natural.wav
│ │ │ ├── CiderSpatial_v69_Standard.wav
│ │ │ ├── CiderSpatial_v70.422_Maikiwi.wav
│ │ │ ├── CiderSpatial_v71.420_Maikiwi.wav
│ │ │ └── MoondropCHU_Cider.wav
│ ├── hlscider.js
│ ├── index.js
│ ├── less
│ │ ├── ameframework.less
│ │ ├── appvars.less
│ │ ├── bootstrap-vue.min.less
│ │ ├── bootstrap.less
│ │ ├── codicon.css
│ │ ├── codicon.svg
│ │ ├── codicon.ttf
│ │ ├── compact.less
│ │ ├── directives.less
│ │ ├── elements.less
│ │ ├── fullscreen.less
│ │ ├── helpers.css
│ │ ├── helpers.less
│ │ ├── linux.less
│ │ ├── macos.less
│ │ ├── macosemu.less
│ │ ├── miniplayer.less
│ │ ├── notyf.less
│ │ ├── pages.css
│ │ └── pages.less
│ ├── lib
│ │ ├── bootbox.min.js
│ │ ├── bootstrap-vue.min.js
│ │ ├── bootstrap.min.js
│ │ ├── fast-plural-rules.js
│ │ ├── jquery-3.2.1.slim.min.js
│ │ ├── less.js
│ │ ├── marked.js
│ │ ├── notyf.min.js
│ │ ├── popper.min.js
│ │ ├── quasar
│ │ │ ├── quasar.min.css
│ │ │ └── quasar.umd.min.js
│ │ ├── resonance-audio.min.js
│ │ ├── smoothscroll.js
│ │ ├── sortable.min.js
│ │ ├── stackblur.min.js
│ │ ├── velocity.min.js
│ │ ├── vue-horizontal.js
│ │ ├── vue-observe-visibility.min.js
│ │ ├── vue.dev.js
│ │ ├── vue.js
│ │ ├── vuedraggable.umd.min.js
│ │ └── vuex.min.js
│ ├── main
│ │ ├── app.js
│ │ ├── cidercache.js
│ │ ├── ciderfrontapi.js
│ │ ├── components
│ │ │ ├── i18n-editor.js
│ │ │ ├── sidebar-library-item.js
│ │ │ └── svg-icon.js
│ │ ├── events.js
│ │ ├── gamepad.js
│ │ ├── html.js
│ │ ├── mica.js
│ │ ├── musickittools.js
│ │ ├── vueapp.js
│ │ ├── vuex-store.js
│ │ └── wsapi_interop.js
│ ├── sounds
│ │ ├── btn1.ogg
│ │ ├── confirm.ogg
│ │ └── hover.ogg
│ ├── style.less
│ ├── sw.js
│ ├── themes
│ │ ├── WIP.md
│ │ ├── compactui.less
│ │ ├── dark.less
│ │ ├── default.less
│ │ ├── grain.less
│ │ ├── inline_drawer.less
│ │ ├── reduce_visuals.less
│ │ └── sweetener.less
│ ├── todo.js
│ ├── views
│ │ ├── app
│ │ │ ├── app-navigation.ejs
│ │ │ ├── chrome-bottom.ejs
│ │ │ ├── chrome-top.ejs
│ │ │ └── panels.ejs
│ │ ├── components
│ │ │ ├── add-to-playlist.ejs
│ │ │ ├── airplay-modal.ejs
│ │ │ ├── animatedartwork-view.ejs
│ │ │ ├── app-content.ejs
│ │ │ ├── artist-chip.ejs
│ │ │ ├── artwork-material.ejs
│ │ │ ├── audio-controls.ejs
│ │ │ ├── audio-playbackrate.ejs
│ │ │ ├── audio-settings.ejs
│ │ │ ├── c2-upgrade.ejs
│ │ │ ├── castmenu.ejs
│ │ │ ├── cider-modal.ejs
│ │ │ ├── editorialNotes.ejs
│ │ │ ├── equalizer.ejs
│ │ │ ├── fullscreen.ejs
│ │ │ ├── hello-world.ejs
│ │ │ ├── inline-collection-list.ejs
│ │ │ ├── karaoke-in.ejs
│ │ │ ├── libraryartist-item.ejs
│ │ │ ├── listennow-child.ejs
│ │ │ ├── listitem-horizontal.ejs
│ │ │ ├── lyrics-view.ejs
│ │ │ ├── mediaitem-artwork.ejs
│ │ │ ├── mediaitem-hrect.ejs
│ │ │ ├── mediaitem-info.ejs
│ │ │ ├── mediaitem-list-item.ejs
│ │ │ ├── mediaitem-mvview-sp.ejs
│ │ │ ├── mediaitem-mvview.ejs
│ │ │ ├── mediaitem-scroller-horizontal-large.ejs
│ │ │ ├── mediaitem-scroller-horizontal-mvview.ejs
│ │ │ ├── mediaitem-scroller-horizontal-sp.ejs
│ │ │ ├── mediaitem-scroller-horizontal.ejs
│ │ │ ├── mediaitem-square.ejs
│ │ │ ├── menu-panel.ejs
│ │ │ ├── miniplayer.ejs
│ │ │ ├── moreinfo-modal.ejs
│ │ │ ├── pagination.ejs
│ │ │ ├── pathmenu.ejs
│ │ │ ├── playlists.ejs
│ │ │ ├── plugin-menu.ejs
│ │ │ ├── qrcode-modal.ejs
│ │ │ ├── queue.ejs
│ │ │ ├── settings-keybinds.ejs
│ │ │ ├── settings-plugins-github.ejs
│ │ │ ├── settings-themes-github.ejs
│ │ │ ├── settings-themes.ejs
│ │ │ ├── settings-window.ejs
│ │ │ ├── share-sheet.ejs
│ │ │ ├── sidebar-playlist.ejs
│ │ │ ├── sidebar.ejs
│ │ │ └── smarthints.ejs
│ │ ├── main.ejs
│ │ ├── pages
│ │ │ ├── about.ejs
│ │ │ ├── apple-account-settings.ejs
│ │ │ ├── apple-curator.ejs
│ │ │ ├── artist-feed.ejs
│ │ │ ├── artist.ejs
│ │ │ ├── audiolabs.ejs
│ │ │ ├── browse.ejs
│ │ │ ├── charts.ejs
│ │ │ ├── cider-multiroom.ejs
│ │ │ ├── cider-playlist.ejs
│ │ │ ├── cider-profile.ejs
│ │ │ ├── collection-list.ejs
│ │ │ ├── connect-linked.ejs
│ │ │ ├── groupings.ejs
│ │ │ ├── home.ejs
│ │ │ ├── installed-themes.ejs
│ │ │ ├── library-albums.ejs
│ │ │ ├── library-artists.ejs
│ │ │ ├── library-recentlyadded.ejs
│ │ │ ├── library-songs.ejs
│ │ │ ├── library-videos.ejs
│ │ │ ├── listen_now.ejs
│ │ │ ├── madeforyou.ejs
│ │ │ ├── oobe.ejs
│ │ │ ├── playlist-inline.ejs
│ │ │ ├── plugin-renderer.ejs
│ │ │ ├── podcasts.ejs
│ │ │ ├── radio.ejs
│ │ │ ├── recordLabel.ejs
│ │ │ ├── remote-pair.ejs
│ │ │ ├── replay.ejs
│ │ │ ├── search.ejs
│ │ │ ├── themes-github.ejs
│ │ │ ├── webview.ejs
│ │ │ └── zoo.ejs
│ │ └── svg
│ │ │ ├── arrow-up.svg
│ │ │ ├── cast.svg
│ │ │ ├── check.svg
│ │ │ ├── chevron-left.svg
│ │ │ ├── chevron-right.svg
│ │ │ ├── explicit.svg
│ │ │ ├── external-link.svg
│ │ │ ├── fullscreen.svg
│ │ │ ├── grid.svg
│ │ │ ├── headphones.svg
│ │ │ ├── in-library.svg
│ │ │ ├── info.svg
│ │ │ ├── list.svg
│ │ │ ├── log-out.svg
│ │ │ ├── more.svg
│ │ │ ├── pip.svg
│ │ │ ├── play.svg
│ │ │ ├── playlist.svg
│ │ │ ├── plus.svg
│ │ │ ├── quote-right.svg
│ │ │ ├── redo.svg
│ │ │ ├── settings.svg
│ │ │ ├── smartphone.svg
│ │ │ ├── speaker.svg
│ │ │ └── x.svg
│ └── workbox-962786f2.js
└── web-remote
│ ├── assets
│ ├── Grabber.svg
│ ├── MissingArtwork.svg
│ ├── arrow-left.svg
│ ├── backward.svg
│ ├── forward.svg
│ ├── infinity.svg
│ ├── list.svg
│ ├── pause.svg
│ ├── play.svg
│ ├── quote-right.svg
│ ├── repeat.svg
│ ├── repeatOne.svg
│ ├── search.svg
│ ├── shuffle.svg
│ ├── volume-down.svg
│ ├── volume-up.svg
│ └── x.svg
│ ├── cider-icon.png
│ ├── ciderframework.css
│ ├── icon-192x192.png
│ ├── icon-256x256.png
│ ├── icon-384x384.png
│ ├── icon-512x512.png
│ ├── index.js
│ ├── launch.png
│ ├── manifest.json
│ ├── sortable.min.js
│ ├── style.css
│ ├── views
│ ├── components
│ │ ├── animatedartwork-view.ejs
│ │ ├── mediaitem-artwork.ejs
│ │ └── mediaitem-square.ejs
│ └── index.ejs
│ ├── vue.js
│ └── vuedraggable.umd.min.js
├── steam-deck.json
├── tsconfig.json
├── winget.json
└── workbox-config.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | end_of_line = lf
6 | insert_final_newline = true
7 | indent_style = space
8 | indent_size = 2
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: ciderapp
2 | ko_fi: cryptofyre
3 | open_collective: ciderapp
4 | custom: "https://opencollective.com/ciderapp/donate/10/month/Support%20Development?redirect=https://cidercollective.dev/thanks"
5 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Support Disclaimer
4 | url: https://docs.cider.sh/support/disclaimer
5 | about: Please read this before creating any issue.
6 | - name: Feature Request
7 | url: https://github.com/ciderapp/Cider/discussions/new?category=feature-request
8 | about: Have a feature you would like to have in the app? Make a request.
9 | - name: Discord Support
10 | url: https://discord.com/invite/AppleMusic
11 | about: For quick support, make a ticket or ask for community support here.
12 | - name: Cider Documentation
13 | url: https://docs.cider.sh/support/faqs
14 | about: In most cases, these troubleshooting tips can resolve basic issues. Try them out before opening an issue.
15 | - name: GitHub Issues
16 | url: https://github.com/ciderapp/Cider/issues
17 | about: Check to make sure there is not an issues already open that is related to your issue.
18 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/translation.yaml:
--------------------------------------------------------------------------------
1 | name: Translation Report/Request
2 | description: Request a language or report an issue with one.
3 | title: "[Translation]: "
4 | labels: ["🌐 Translations"]
5 | assignees: []
6 | body:
7 | - type: markdown
8 | attributes:
9 | value: |
10 | Thanks for taking the time to fill out this report!
11 | - type: input
12 | id: language
13 | attributes:
14 | label: Relevant Language
15 | description: The language you would like to request for or have an issue with.
16 | placeholder: en_US
17 | validations:
18 | required: true
19 | - type: dropdown
20 | id: requestType
21 | attributes:
22 | label: Change or Addition or Both
23 | multiple: true
24 | options:
25 | - Change a Language
26 | - Add a Language
27 | validations:
28 | required: true
29 | - type: textarea
30 | id: description
31 | attributes:
32 | label: Change Requested / Any Additional Information
33 | description: If you are requesting a change, place all the information here, or you can provide additional information to additions if you want.
34 | placeholder: I would like ... changed to ...
35 | validations:
36 | required: false
37 | - type: checkboxes
38 | id: terms
39 | attributes:
40 | label: Code of Conduct
41 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ciderapp/Cider/blob/main/CODE_OF_CONDUCT.md)
42 | options:
43 | - label: I agree to follow this project's Code of Conduct
44 | required: true
45 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE/translations.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Translations
3 | about: Improvement to our tranlations
4 | title: ""
5 | labels: 🌐 Translations
6 | assignees: ''
7 | ---
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # To get started with Dependabot version updates, you'll need to specify which
2 | # package ecosystems to update and where the package manifests are located.
3 | # Please see the documentation for all configuration options:
4 | # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5 |
6 | version: 2
7 | updates:
8 | - package-ecosystem: "npm" # See documentation for possible values
9 | directory: "/" # Location of package manifests
10 | schedule:
11 | interval: "monthly"
12 |
--------------------------------------------------------------------------------
/.github/workflows/auto-project.yml:
--------------------------------------------------------------------------------
1 | name: Add bugs to bugs project
2 |
3 | on:
4 | issues:
5 | types:
6 | - opened
7 |
8 | jobs:
9 | add-to-project:
10 | name: Add issue to project
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/add-to-project@main
14 | with:
15 | project-url: https://github.com/orgs/ciderapp/projects/5
16 | github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
17 | labeled: bug, needs-triage
18 | label-operator: OR
19 |
--------------------------------------------------------------------------------
/.github/workflows/cider-chores.yml:
--------------------------------------------------------------------------------
1 | name: Cider Chores
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | compile-and-post:
10 | runs-on: ubuntu-latest
11 |
12 | container:
13 | image: electronuserland/builder:wine
14 |
15 |
16 | steps:
17 | - name: Checkout 🛎
18 | uses: actions/checkout@v4
19 |
20 | - uses: pnpm/action-setup@v4
21 |
22 | - name: Setup Node.js
23 | uses: actions/setup-node@v4
24 | with:
25 | node-version-file: '.nvmrc'
26 |
27 | - name: Install Dependencies 📦
28 | run: pnpm install
29 |
30 | - name: Build 🏗
31 | run: pnpm dist:all
32 |
33 | - name: Upload Release 🚀
34 | uses: softprops/action-gh-release@v2.0.5
35 | with:
36 | files: |
37 | ./dist/*.exe
38 | ./dist/*.deb
39 | ./dist/*.AppImage
40 | ./dist/*.rpm
41 | env:
42 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43 |
--------------------------------------------------------------------------------
/.github/workflows/dev-chores.yml:
--------------------------------------------------------------------------------
1 | name: Developer Chores
2 |
3 | on: [pull_request]
4 |
5 | jobs:
6 | linter-check:
7 | runs-on: ${{ matrix.os }}
8 |
9 | strategy:
10 | matrix:
11 | os: [ubuntu-latest]
12 | node: [18]
13 |
14 | steps:
15 | - name: Checkout 🛎
16 | uses: actions/checkout@v3
17 |
18 | - name: Setup node env 🏗
19 | uses: actions/setup-node@v3
20 | with:
21 | node-version: ${{ matrix.node }}
22 | check-latest: true
23 |
24 | - name: Install dependencies 👨🏻💻
25 | run: npm run bootstrap
26 |
27 | - name: Run linter 👀
28 | run: npm run format:write
29 |
30 | - name: Comment Suggestions 🗒️
31 | uses: getsentry/action-git-diff-suggestions@main
32 | with:
33 | message: Prettier Suggestion
34 |
--------------------------------------------------------------------------------
/.github/workflows/stale-issues.yml:
--------------------------------------------------------------------------------
1 | name: 'Close stale issues and PRs'
2 | on:
3 | schedule:
4 | - cron: '30 1 * * *'
5 |
6 | permissions:
7 | issues: write
8 | pull-requests: write
9 |
10 | jobs:
11 | stale:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/stale@v4
15 | with:
16 | stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
17 | days-before-stale: 30
18 | days-before-close: 7
19 | stale-issue-label: "stale"
20 | stale-pr-label: "stale"
21 | exempt-all-assignees: true
22 | exempt-issue-labels: 'more-info,work-in-progress,accessibility-feature,help-wanted,persist/priority'
23 |
--------------------------------------------------------------------------------
/.github/workflows/support-notice.yml:
--------------------------------------------------------------------------------
1 | name: Support Notice
2 |
3 | on:
4 | issues:
5 | types: [opened]
6 |
7 | jobs:
8 | post-notice:
9 | runs-on: ubuntu-latest
10 |
11 | steps:
12 | - uses: derekprior/add-autoresponse@master
13 | env:
14 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
15 | with:
16 | respondableId: ${{ github.event.issue.node_id }}
17 | response: "Cider 1.x is no longer actively maintained. We highly suggest moving to the newer version versions of the app available at https://cider.sh through official storefronts ex. Itch.io, or the Microsoft Store."
18 | author: ${{ github.event.issue.user.login }}
19 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | node-linker=hoisted
2 | public-hoist-pattern=*
3 | shamefully-hoist=true
4 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 20.2.0
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | src/renderer/*hls*.js
2 | build/*
3 | dist/*
4 | src/renderer/lib/*
5 | *.min.*
6 | .pnpm-store
7 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 600,
3 | "singleAttributePerLine": true,
4 | "bracketSameLine": true,
5 | "overrides": [
6 | {
7 | "files": "src/renderer/main/**/*.js",
8 | "options": {
9 | "singleAttributePerLine": false
10 | }
11 | }
12 | ]
13 | }
14 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | compressionLevel: mixed
2 |
3 | enableGlobalCache: false
4 |
5 | nodeLinker: node-modules
6 |
--------------------------------------------------------------------------------
/Assets/AppChromeBtn.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/AppChromeBtn.afdesign
--------------------------------------------------------------------------------
/Assets/Cider Icons/svg/cider-backward.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Assets/Cider Icons/svg/cider-forward.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Assets/Cider Icons/svg/cider-pause.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Assets/Cider Icons/svg/cider-play.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Assets/Cider with text.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Cider
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Assets/Install On Cider/install on cider.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Install On Cider/install on cider.afdesign
--------------------------------------------------------------------------------
/Assets/MissingArtwork.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/MissingArtwork.afdesign
--------------------------------------------------------------------------------
/Assets/MissingArtwork.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Assets/Release.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Assets/Sources/Cider with text.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Sources/Cider with text.afdesign
--------------------------------------------------------------------------------
/Assets/Sources/Release.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Sources/Release.afdesign
--------------------------------------------------------------------------------
/Assets/Sources/cider-vinyl no raster.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Sources/cider-vinyl no raster.afdesign
--------------------------------------------------------------------------------
/Assets/Sources/cider-vinyl-no raster 2.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Sources/cider-vinyl-no raster 2.afdesign
--------------------------------------------------------------------------------
/Assets/Sources/cider-vinyl.afdesign:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/Assets/Sources/cider-vinyl.afdesign
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Cider 1
8 |
9 |
10 | > [!WARNING]
11 | >This project has been archived, and no further updates or support will be provided under any circumstances. We highly recommend switching to [Cider v2](https://cider.sh/downloads/client) for the latest features, improvements, and continued support.
12 |
13 | This repository contains the source code for **Cider v1.x**, a cross-platform Apple Music client built from the ground up by the development team.
14 |
15 | Cider v1 was developed using [Electron.js](https://electronjs.org), [Vue.js 2](https://vuejs.org), and [Webpack](https://webpack.js.org).
16 |
17 | **Note:** While distributions may still be available through various third-party sources, first-party builds are no longer provided due to the high volume of support requests for v1. You can compile it following the [insructions outlined in our legacy documentation](https://cider.sh/docs) from our website. Support will not be provided for compiling.
18 |
--------------------------------------------------------------------------------
/appx/Square150x150Logo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/appx/Square150x150Logo.PNG
--------------------------------------------------------------------------------
/appx/Square44x44Logo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/appx/Square44x44Logo.PNG
--------------------------------------------------------------------------------
/appx/Square44x44Logo.targetsize-44_altform-unplated.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/appx/Square44x44Logo.targetsize-44_altform-unplated.PNG
--------------------------------------------------------------------------------
/appx/StoreLogo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/appx/StoreLogo.PNG
--------------------------------------------------------------------------------
/appx/Wide310x150Logo.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/appx/Wide310x150Logo.PNG
--------------------------------------------------------------------------------
/docs/plugins/example/examplePlugin.ts:
--------------------------------------------------------------------------------
1 | let i = 1,
2 | k = 1;
3 | class ExamplePlugin {
4 | /**
5 | * Private variables for interaction in plugins
6 | */
7 | private _win: any;
8 | private _app: any;
9 | private _store: any;
10 |
11 | /**
12 | * Base Plugin Details (Eventually implemented into a GUI in settings)
13 | */
14 | public name: string = "examplePlugin";
15 | public description: string = "Example plugin";
16 | public version: string = "1.0.0";
17 | public author: string = "Example author";
18 |
19 | /**
20 | * Runs on plugin load (Currently run on application start)
21 | */
22 | constructor(app: any, store: any) {
23 | this._app = app;
24 | this._store = store;
25 | console.debug(`[Plugin][${this.name}] Loading Complete.`);
26 | }
27 |
28 | /**
29 | * Runs on app ready
30 | */
31 | onReady(win: any): void {
32 | this._win = win;
33 | console.debug(`[Plugin][${this.name}] Ready.`);
34 | }
35 |
36 | /**
37 | * Runs on app stop
38 | */
39 | onBeforeQuit(): void {
40 | console.debug(`[Plugin][${this.name}] Stopped.`);
41 | }
42 |
43 | /**
44 | * Runs on playback State Change
45 | * @param attributes Music Attributes (attributes.status = current state)
46 | */
47 | onPlaybackStateDidChange(attributes: object): void {
48 | console.log("onPlaybackStateDidChange has been called " + i + " times");
49 | i++;
50 | }
51 |
52 | /**
53 | * Runs on song change
54 | * @param attributes Music Attributes
55 | */
56 | onNowPlayingItemDidChange(attributes: object): void {
57 | console.log("onNowPlayingDidChange has been called " + k + " times");
58 | k++;
59 | }
60 | }
61 |
62 | module.exports = ExamplePlugin;
63 |
--------------------------------------------------------------------------------
/docs/plugins/sendSongToTitlebar.ts:
--------------------------------------------------------------------------------
1 | class sendSongToTitlebar {
2 | /**
3 | * Base Plugin Details (Eventually implemented into a GUI in settings)
4 | */
5 | public name: string = "sendSongToTitlebar";
6 | public description: string = "Sets the app's titlebar to the Song title";
7 | public version: string = "0.0.1";
8 | public author: string = "Cider Collective (credit to 8times9 via #147)";
9 | /**
10 | * Runs on plugin load (Currently run on application start)
11 | */
12 | private _win: any;
13 | private _app: any;
14 | constructor() {}
15 | /**
16 | * Runs on app ready
17 | */
18 | onReady(win: any): void {
19 | this._win = win;
20 | }
21 | /**
22 | * Runs on app stop
23 | */
24 | onBeforeQuit(): void {}
25 | /**
26 | * Runs on playback State Change
27 | * @param attributes Music Attributes (attributes.status = current state)
28 | */
29 | onPlaybackStateDidChange(attributes: any): void {
30 | this._win.setTitle(`${attributes != null && attributes.name != null && attributes.name.length > 0 ? attributes.name + " - " : ""}Cider`);
31 | }
32 | /**
33 | * Runs on song change
34 | * @param attributes Music Attributes
35 | */
36 | onNowPlayingItemDidChange(attributes: object): void {}
37 | }
38 |
39 | module.exports = sendSongToTitlebar;
40 |
--------------------------------------------------------------------------------
/flatpak/cider-wrapper:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | for i in {0..9}; do
4 | test -S $XDG_RUNTIME_DIR/discord-ipc-$i || ln -sf {app/com.discordapp.Discord,$XDG_RUNTIME_DIR}/discord-ipc-$i;
5 | done
6 |
7 | cider "$@"
--------------------------------------------------------------------------------
/flatpak/flathub.json:
--------------------------------------------------------------------------------
1 | {
2 | "only-arches": ["x86_64"],
3 | "publish-delay-hours": 2
4 | }
5 |
--------------------------------------------------------------------------------
/flatpak/sh.cider.Cider.metainfo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | sh.cider.Cider
5 |
6 | Cider
7 | An open source and community oriented Apple Music client
8 |
9 | CC0-1.0
10 | AGPL-1.0-or-later
11 | Cider Collective
12 |
13 | https://cider.sh/?utm_source=flathub%26utm_medium=link%26utm_campaign=product-page
14 | https://github.com/ciderapp/Cider/issues
15 | https://ko-fi.com/cryptofyre
16 |
17 |
18 |
19 | Project Cider. A new look into listening and enjoying Apple Music in style and performance with Features such as Discord and Last.fm integration, spatial audio support, equalizers, and remote controllable using companion app
20 |
21 |
22 |
23 | cider.desktop
24 |
25 |
26 |
27 | https://github.com/ciderapp/cider.sh/blob/main/assets/img/frontpage-scn.png?raw=true
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/msft-test.json:
--------------------------------------------------------------------------------
1 | {
2 | "electronVersion": "16.2.8",
3 | "electronDownload": {
4 | "version": "16.2.8+wvcus",
5 | "mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
6 | },
7 | "appId": "cider",
8 | "protocols": [
9 | {
10 | "name": "Cider",
11 | "schemes": ["ame", "cider", "itms", "itmss", "musics", "music"]
12 | }
13 | ],
14 | "extends": null,
15 | "files": ["**/*", "./src/**/*", "./resources/icons/icon.*"],
16 | "linux": {
17 | "target": ["AppImage", "deb", "snap", "rpm"],
18 | "synopsis": "A new look into listening and enjoying music in style and performance. ",
19 | "category": "AudioVideo",
20 | "icon": "cider",
21 | "executableName": "cider"
22 | },
23 | "appx": {
24 | "applicationId": "CiderAlpha",
25 | "publisher": "CN=CiderCollective, OID.2.25.311729368913984317654407730594956997722=1",
26 | "displayName": "Cider",
27 | "identityName": "CiderCollective.CiderAlpha",
28 | "backgroundColor": "transparent",
29 | "setBuildNumber": true
30 | },
31 | "win": {
32 | "target": ["appx"],
33 | "icon": "resources/icons/icon.ico"
34 | },
35 | "directories": {
36 | "buildResources": ".",
37 | "output": "dist"
38 | },
39 | "mac": {
40 | "icon": "./resources/icons/icon.icns",
41 | "category": "public.app-category.music",
42 | "entitlements": "resources/entitlements.mac.plist",
43 | "darkModeSupport": true
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/resources/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/banner.png
--------------------------------------------------------------------------------
/resources/bg.tiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/bg.tiff
--------------------------------------------------------------------------------
/resources/entitlements.mac.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | com.apple.security.cs.allow-jit
7 |
8 | com.apple.security.cs.allow-unsigned-executable-memory
9 |
10 |
11 | com.apple.security.cs.disable-library-validation
12 |
13 |
14 |
--------------------------------------------------------------------------------
/resources/icons/icon-old.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/icon-old.icns
--------------------------------------------------------------------------------
/resources/icons/icon-test.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/icon-test.ico
--------------------------------------------------------------------------------
/resources/icons/icon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/icon.icns
--------------------------------------------------------------------------------
/resources/icons/icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/icon.ico
--------------------------------------------------------------------------------
/resources/icons/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/icon.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/dark_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/dark_next.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/dark_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/dark_pause.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/dark_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/dark_play.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/dark_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/dark_previous.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/light_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/light_next.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/light_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/light_pause.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/light_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/light_play.png
--------------------------------------------------------------------------------
/resources/icons/thumbar/light_previous.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/resources/icons/thumbar/light_previous.png
--------------------------------------------------------------------------------
/resources/icons/webui/cast.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ic_cast_black_24dp
5 | Created with Sketch.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/resources/icons/webui/cast_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ic_cast_black_24dp
5 | Created with Sketch.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/resources/icons/webui/close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/icons/webui/down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/icons/webui/miniplayer_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/resources/icons/webui/up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/resources/license.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://github.com/argv-minus-one/dmg-license/raw/master/schema.json",
3 | "body": [
4 | {
5 | "file": "license.txt",
6 | "lang": ["en-US"]
7 | }
8 | ]
9 | }
10 |
--------------------------------------------------------------------------------
/resources/notarize.cjs:
--------------------------------------------------------------------------------
1 | require("dotenv").config();
2 | const { notarize } = require("electron-notarize");
3 |
4 | exports.default = async function notarizing(context) {
5 | const { electronPlatformName, appOutDir } = context;
6 | if (electronPlatformName !== "darwin") {
7 | return;
8 | }
9 |
10 | const appName = context.packager.appInfo.productFilename;
11 |
12 | return await notarize({
13 | appBundleId: "com.ciderapp.cider",
14 | appPath: `${appOutDir}/${appName}.app`,
15 | appleId: process.env.APPLEID,
16 | appleIdPassword: process.env.APPLEIDPASS,
17 | });
18 | };
19 |
--------------------------------------------------------------------------------
/resources/version.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Setup the variables needed
4 | if [[ $GH_REQUEST_TOKEN != "" ]]; then
5 | STABLE_SHA=$(curl -H "Authorization: token ${GH_REQUEST_TOKEN}" -s https://api.github.com/repos/ciderapp/Cider/branches/stable | grep '"sha"' | head -1 | cut -d '"' -f 4)
6 | elif [[ $GITHUB_TOKEN != "" ]]; then
7 | STABLE_SHA=$(curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/ciderapp/Cider/branches/stable | grep '"sha"' | head -1 | cut -d '"' -f 4)
8 | else
9 | STABLE_SHA=$(curl -s https://api.github.com/repos/ciderapp/Cider/branches/stable | grep '"sha"' | head -1 | cut -d '"' -f 4)
10 | fi
11 |
12 | SHA_DATE=$(git show -s --format=%ci $STABLE_SHA)
13 | VERSION_POSTFIX=$(git rev-list $STABLE_SHA..HEAD --count --since="$SHA_DATE")
14 | CURRENT_VERSION=$(node -p -e "require('./package.json').version" | cut -d '-' -f 1)
15 |
16 | # Set the version number for commits on main branch
17 | if [[ ($CIRCLE_BRANCH == "main" || $GITHUB_REF_NAME == "main") && $VERSION_POSTFIX -gt 0 ]]; then
18 | NEW_VERSION_NUMBERED="$CURRENT_VERSION-beta.$(printf "%03d\n" $VERSION_POSTFIX)"
19 | NEW_VERSION="${CURRENT_VERSION}-beta.${VERSION_POSTFIX}"
20 |
21 | # Update the version in package.json
22 | if [[ $NO_WRITE_VER == "" && $(node -p -e "require('./package.json').version" | cut -d '.' -f 4) != $VERSION_POSTFIX ]]; then
23 | if [[ $RUNNER_OS == "macOS" ]]; then
24 | sed -i "" -e "s/$CURRENT_VERSION/$NEW_VERSION/" package.json
25 | else
26 | sed -i "0,/$CURRENT_VERSION/s//$NEW_VERSION/" package.json
27 | fi
28 | fi
29 | else
30 | NEW_VERSION_NUMBERED=$CURRENT_VERSION
31 | NEW_VERSION=$CURRENT_VERSION
32 | fi
33 |
34 | echo $NEW_VERSION
35 |
36 |
37 | # Add the version to the environment for CI usage
38 | if [[ $GITHUB_REF_NAME != "" ]] && [[ "$GITHUB_ENV" ]]; then
39 | echo "APP_VERSION=$NEW_VERSION" >>$GITHUB_ENV
40 | echo "RELEASE_VERSION=$NEW_VERSION_NUMBERED" >>$GITHUB_ENV
41 | elif [[ $CIRCLE_BRANCH != "" ]] && [[ "$BASH_ENV" ]]; then
42 | echo "export APP_VERSION=$NEW_VERSION" >>$BASH_ENV
43 | echo "export RELEASE_VERSION=$NEW_VERSION_NUMBERED" >>$BASH_ENV
44 | fi
45 |
--------------------------------------------------------------------------------
/src/ciderkit/public.js:
--------------------------------------------------------------------------------
1 | const CiderKit = {
2 | v1: {
3 | musickit: {
4 | async mkv3(route, body, options) {
5 | let opts = {
6 | method: "POST",
7 | cache: "no-cache",
8 | credentials: "same-origin",
9 | headers: {
10 | "Content-Type": "application/json",
11 | },
12 | redirect: "follow",
13 | referrerPolicy: "no-referrer",
14 | body: {},
15 | };
16 | opts.body = JSON.stringify({
17 | route: route,
18 | body: body,
19 | options: options,
20 | });
21 | let response = await fetch("./api/musickit/v3", opts);
22 | return response.json();
23 | },
24 | },
25 | },
26 | };
27 |
--------------------------------------------------------------------------------
/src/main/base/castcontroller.ts:
--------------------------------------------------------------------------------
1 | // @ts-nocheck
2 | import castv2Cli from "castv2-client";
3 | const RequestResponseController = castv2Cli.RequestResponseController;
4 |
5 |
6 |
7 | export class CiderCastController extends RequestResponseController {
8 | constructor(client: string, sourceId: string, destinationId: string) {
9 | super(client, sourceId, destinationId, "urn:x-cast:com.ciderapp.customdata");
10 | this.once("close", onclose);
11 | var self = this;
12 | function onclose() {
13 | self.stop();
14 | }
15 | }
16 |
17 | sendIp(ip: string) {
18 | // TODO: Implement Callback
19 | let data = {
20 | ip: ip,
21 | };
22 | this.request(data);
23 | }
24 |
25 | kill() {
26 | // TODO: Implement Callback
27 | let data = {
28 | action: "stop",
29 | };
30 | this.request(data);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/src/renderer/assets/CiderMenu.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/renderer/assets/MissingArtwork.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/renderer/assets/RatingsLove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/RatingsLove.png
--------------------------------------------------------------------------------
/src/renderer/assets/angles-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/angles-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/backward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/banner.png
--------------------------------------------------------------------------------
/src/renderer/assets/banner2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/banner2.png
--------------------------------------------------------------------------------
/src/renderer/assets/c1-c2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/c1-c2.png
--------------------------------------------------------------------------------
/src/renderer/assets/cast_white.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ic_cast_black_24dp
5 | Created with Sketch.
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/renderer/assets/check.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-icons/backward.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-icons/forward.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-icons/pause.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-icons/play.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-icons/stop.svg:
--------------------------------------------------------------------------------
1 |
2 |
37 |
38 |
46 |
--------------------------------------------------------------------------------
/src/renderer/assets/cider-round.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/assets/explicit.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Svg Vector Icons : http://www.onlinewebfonts.com/icon
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/disc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/external-link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/folder.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/globe.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/hard-drive.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/headphones.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/heart-fill.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/heart.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/home.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/mic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/music.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/pen-tool.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/play-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/plugins.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/plus-circle-white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/plus-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/radio.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/share-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/share.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/thumbs-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/thumbs-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/unheart.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/user.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/video.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/volume-2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/volume.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/x-circle-white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/x-circle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/feather/x-circlePng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/feather/x-circlePng.png
--------------------------------------------------------------------------------
/src/renderer/assets/feather/zap.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Black.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Black.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Black.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Black.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-BlackItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-BlackItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-BlackItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-BlackItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Bold.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Bold.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-BoldItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-BoldItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-BoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-BoldItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraBold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraBold.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraBold.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraBoldItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraBoldItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraLight.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraLight.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraLight.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraLight.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraLightItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraLightItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ExtraLightItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ExtraLightItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Italic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Italic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Light.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Light.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-LightItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-LightItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-LightItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-LightItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Medium.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Medium.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-MediumItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-MediumItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-MediumItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-MediumItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Regular.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Regular.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-SemiBold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-SemiBold.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-SemiBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-SemiBold.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-SemiBoldItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-SemiBoldItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-SemiBoldItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-SemiBoldItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Thin.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Thin.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-Thin.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-Thin.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ThinItalic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ThinItalic.woff
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-ThinItalic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-ThinItalic.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-italic.var.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-italic.var.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter-roman.var.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter-roman.var.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Inter/Inter.var.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Inter/Inter.var.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Pretendard/pretendardvariable.css:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright (c) 2021 Kil Hyung-jin, with Reserved Font Name Pretendard.
3 | https://github.com/orioncactus/pretendard
4 |
5 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
6 | This license is copied below, and is also available with a FAQ at:
7 | http://scripts.sil.org/OFL
8 | */
9 |
10 | @font-face {
11 | font-family: "Pretendard Variable";
12 | font-weight: 45 920;
13 | font-style: normal;
14 | font-display: swap;
15 | src: local("Pretendard Variable"), url("./woff2/PretendardVariable.woff2") format("woff2-variations");
16 | }
17 |
--------------------------------------------------------------------------------
/src/renderer/assets/fonts/Pretendard/woff2/PretendardVariable.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/fonts/Pretendard/woff2/PretendardVariable.woff2
--------------------------------------------------------------------------------
/src/renderer/assets/forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/github.svg:
--------------------------------------------------------------------------------
1 |
2 |
16 |
18 |
37 |
41 |
42 |
--------------------------------------------------------------------------------
/src/renderer/assets/hamborgar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/infinity.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/ko_fi.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/assets/list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/logocut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/logocut.png
--------------------------------------------------------------------------------
/src/renderer/assets/music.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/oobe/maverick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/oobe/maverick.png
--------------------------------------------------------------------------------
/src/renderer/assets/oobe/mojave.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/oobe/mojave.png
--------------------------------------------------------------------------------
/src/renderer/assets/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/pip.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/src/renderer/assets/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/ppe.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/private.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/quote-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/repeat.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/renderer/assets/repeatOne.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Layer 1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | 1
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/renderer/assets/search-alt.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/assets/search.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/settings.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/renderer/assets/shuffle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/renderer/assets/spatialization.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/renderer/assets/spinner-old.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/spinner-old.gif
--------------------------------------------------------------------------------
/src/renderer/assets/spinner.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/assets/star.svg:
--------------------------------------------------------------------------------
1 |
2 | dark blue star
3 |
4 |
5 | Layer 1
6 |
7 |
8 |
9 |
10 |
11 |
12 | spear
13 |
14 |
--------------------------------------------------------------------------------
/src/renderer/assets/transparent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/assets/transparent.png
--------------------------------------------------------------------------------
/src/renderer/assets/twitter.svg:
--------------------------------------------------------------------------------
1 |
2 |
42 |
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_BSCBM.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_BSCBM.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Cuddle.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Cuddle.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_E168_1.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_E168_1.2.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_E68_1.5.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_E68_1.5.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_E68_2.2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_E68_2.2.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Natural+.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_NaturalStandard.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_NaturalStandard.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Z3600.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Z3600.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_A.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_A.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_B.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_B.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_C.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/AtmosphereRealizer_Z8500_C.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CAP_256_FINAL_48k.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CAP_256_FINAL_48k.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CAP_64.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CAP_64.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CAP_Maikiwi.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CAP_Maikiwi.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CAP_Natural.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CAP_Natural.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_BPLK.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_BPLK.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_Diffuse.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_Diffuse.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_HW2K.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_HW2K.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_LIVE_2.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_LIVE_2.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_Maikiwi.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_Maikiwi.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_MaikiwiPlus.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_MaikiwiPlus.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_Natural+.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_Natural+.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_Natural.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_Natural.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_v69_Standard.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_v70.422_Maikiwi.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_v70.422_Maikiwi.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/CiderSpatial_v71.420_Maikiwi.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/CiderSpatial_v71.420_Maikiwi.wav
--------------------------------------------------------------------------------
/src/renderer/audio/impulses/MoondropCHU_Cider.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/audio/impulses/MoondropCHU_Cider.wav
--------------------------------------------------------------------------------
/src/renderer/less/appvars.less:
--------------------------------------------------------------------------------
1 | @colorMixRate: 1%;
2 | @transparencyRate: 50%;
3 |
4 | @keyColor: #fc3c44;
5 | @ciderColor: #ff2654;
6 | @baseColor: #1e1e1e;
7 | @baseColorMix: mix(@baseColor, transparent, @transparencyRate);
8 | @sidebarColor: #2e2e2e;
9 | @sidebarColorMix: mix(@sidebarColor, transparent, @transparencyRate);
10 | @appOpacity: 0.15;
11 |
12 | :root {
13 | --baseColor: @baseColor;
14 | --baseColorMix: @baseColorMix;
15 | --sidebarColor: @sidebarColor;
16 | --sidebarColorMix: @sidebarColorMix;
17 | --ciderColor: @ciderColor;
18 | --appOpacity: @appOpacity;
19 | --transparencyRate: @transparencyRate;
20 | --macOSChromeColor: rgb(14 14 14 / 32%);
21 | }
22 |
--------------------------------------------------------------------------------
/src/renderer/less/codicon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/less/codicon.ttf
--------------------------------------------------------------------------------
/src/renderer/less/compact.less:
--------------------------------------------------------------------------------
1 | #app.compact {
2 | .content-inner {
3 | zoom: 0.95;
4 | }
5 | .app-sidebar-content {
6 | padding: 0px;
7 |
8 | .app-sidebar-header-text {
9 | padding: 6px 10px;
10 | margin: 0px;
11 | }
12 | .app-sidebar-item {
13 | display: flex;
14 | width: 100%;
15 | padding: 8px 12px;
16 | font-size: 13px;
17 | margin: 0px;
18 | border: 1px solid transparent;
19 | border-radius: 0px;
20 | transition: unset;
21 | transform: unset;
22 |
23 | &:active {
24 | background: var(--selected-click);
25 | }
26 |
27 | &::after {
28 | display: none;
29 | }
30 |
31 | &.active {
32 | background: var(--keyColor-disabled);
33 | }
34 | }
35 | .sidebar-icon {
36 | width: 14px;
37 | height: 16px;
38 | margin-right: 8px;
39 | }
40 |
41 | .folder-body {
42 | border-radius: 0px;
43 | padding: 0px;
44 | }
45 | }
46 |
47 | @media (max-width: 951px) {
48 | #app-content {
49 | // zoom: 0.8;
50 | }
51 | }
52 | }
53 |
54 | // if page width is less than 951px
55 | @media (max-width: 951px) {
56 | #app-content {
57 | // zoom: 0.8;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/src/renderer/less/linux.less:
--------------------------------------------------------------------------------
1 | // Linux
2 | body[platform="linux"] {
3 | #window-controls-container {
4 | //display: none;
5 | }
6 |
7 | .window-controls {
8 | justify-content: flex-end;
9 | align-items: center;
10 | padding-right: 6px;
11 |
12 | > div {
13 | --iconSize: 16px;
14 |
15 | &.close,
16 | &.minmax,
17 | &.minimize,
18 | &.minmax.restore {
19 | background-image: unset !important;
20 | position: relative;
21 | display: grid;
22 | align-content: center;
23 | text-align: center;
24 | height: 36px !important;
25 | width: 36px !important;
26 | border-radius: 50px;
27 | transition: background-color 0.1s ease-in-out;
28 |
29 | &:hover {
30 | background: rgb(200 200 200 / 10%) !important;
31 | }
32 | }
33 |
34 | &.close::before {
35 | font-family: "codicon";
36 | font-size: var(--iconSize);
37 | content: "";
38 | }
39 |
40 | &.minmax::before {
41 | font-family: "codicon";
42 | font-size: var(--iconSize);
43 | content: "";
44 | }
45 |
46 | &.minimize::before {
47 | font-family: "codicon";
48 | font-size: var(--iconSize);
49 | content: "";
50 | }
51 |
52 | &.restore::before {
53 | font-family: "codicon";
54 | font-size: var(--iconSize);
55 | content: "";
56 | }
57 | }
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/src/renderer/less/macos.less:
--------------------------------------------------------------------------------
1 | body[platform="darwin"] {
2 | html {
3 | background: transparent !important;
4 | }
5 |
6 | &.notransparency::before {
7 | display: none;
8 | }
9 |
10 | #app {
11 | &.simplebg {
12 | background: transparent;
13 | }
14 |
15 | &::before {
16 | display: none;
17 | }
18 |
19 | .app-chrome {
20 | background-color: var(--macOSChromeColor);
21 | }
22 |
23 | &.twopanel {
24 | --chromeHeight1: 55px;
25 | --chromeHeight: calc(var(--chromeHeight1) + var(--chromeHeight2));
26 |
27 | .app-chrome .app-chrome-item.search {
28 | margin-right: 12px;
29 | }
30 |
31 | .app-chrome .app-mainmenu {
32 | width: 46px;
33 | }
34 |
35 | .app-chrome.chrome-bottom {
36 | background-color: var(--macOSChromeColor);
37 | }
38 | }
39 |
40 | &[window-state="normal"] {
41 | &::after {
42 | position: fixed;
43 | top: 0;
44 | left: 0;
45 | right: 0;
46 | bottom: 0;
47 | box-shadow: inset 0px 0px 0.5px 1px rgb(200 200 200 / 40%);
48 | border-radius: 10px;
49 | content: " ";
50 | z-index: 999999;
51 | pointer-events: none;
52 | }
53 | }
54 | }
55 |
56 | #app-main {
57 | background-color: transparent;
58 |
59 | .app-navigation {
60 | background: transparent;
61 | }
62 |
63 | #app-content {
64 | background-color: #1e1e1e6b;
65 | }
66 | }
67 |
68 | .settings-window.maxed {
69 | .tabs > .col-auto {
70 | transition: padding-top 0.3s linear;
71 | padding-top: var(--chromeHeight1);
72 | }
73 | }
74 |
75 | #apple-music-video-player-controls #player-exit {
76 | margin-top: 18px;
77 | left: 70px;
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/src/renderer/less/macosemu.less:
--------------------------------------------------------------------------------
1 | #app.macosemu {
2 | .app-chrome .app-chrome-item > .window-controls-macos {
3 | @controlSize: 12px;
4 | display: flex;
5 | justify-content: center;
6 | align-items: center;
7 | width: 96px;
8 | @closeClr: rgb(255, 92, 92);
9 | @minmaxClr: rgb(77, 202, 77);
10 | @minClr: rgb(255, 189, 76);
11 | @borderDarken: 55%;
12 |
13 | div {
14 | margin: 4px;
15 | background-color: red;
16 | border-radius: 100%;
17 | flex: 0 0 auto;
18 | background-image: unset !important;
19 | //border: 1px solid white;
20 | &.close {
21 | box-shadow: 0px 0px 0px 1px darken(@closeClr, @borderDarken);
22 | background-color: @closeClr;
23 | width: @controlSize;
24 | height: @controlSize;
25 | }
26 |
27 | &.minimize {
28 | box-shadow: 0px 0px 0px 1px darken(@minClr, @borderDarken);
29 | background-color: @minClr;
30 | width: @controlSize;
31 | height: @controlSize;
32 | }
33 |
34 | &.minmax {
35 | box-shadow: 0px 0px 0px 1px darken(@minmaxClr, 45%);
36 | background-color: @minmaxClr;
37 | width: @controlSize;
38 | height: @controlSize;
39 | }
40 | }
41 | }
42 | .usermenu-body {
43 | left: calc(100vw - 260px);
44 | position: relative;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/renderer/main/app.js:
--------------------------------------------------------------------------------
1 | import { app } from "./vueapp.js";
2 | import { CiderCache } from "./cidercache.js";
3 | import { CiderFrontAPI } from "./ciderfrontapi.js";
4 | import { simulateGamepad } from "./gamepad.js";
5 | import { CiderAudio } from "../audio/cideraudio.js";
6 | import { Events } from "./events.js";
7 | import { wsapi } from "./wsapi_interop.js";
8 | import { MusicKitTools } from "./musickittools.js";
9 | import { spawnMica } from "./mica.js";
10 | import { svgIcon } from "./components/svg-icon.js";
11 | import { sidebarLibraryItem } from "./components/sidebar-library-item.js";
12 | import { i18nEditor } from "./components/i18n-editor.js";
13 |
14 | // Define window objects
15 | window.app = app;
16 | window.MusicKitTools = MusicKitTools;
17 | window.CiderAudio = CiderAudio;
18 | window.CiderCache = CiderCache;
19 | window.CiderFrontAPI = CiderFrontAPI;
20 | window.wsapi = wsapi;
21 |
22 | if (app.cfg.advanced.disableLogging === true) {
23 | window.console = {
24 | log: function () {},
25 | error: function () {},
26 | warn: function () {},
27 | assert: function () {},
28 | debug: function () {},
29 | };
30 | }
31 |
32 | // Mount Vue to #app
33 | app.$mount("#app");
34 |
35 | // Init CiderAudio and force audiocontext
36 | if (app.cfg.advanced.AudioContext != true) {
37 | app.cfg.advanced.AudioContext = true;
38 | window.location.reload();
39 | }
40 |
41 | CiderAudio.init();
42 |
43 | // Import gamepad support
44 | app.simulateGamepad = simulateGamepad;
45 | app.spawnMica = spawnMica;
46 |
47 | Events.InitEvents();
48 |
--------------------------------------------------------------------------------
/src/renderer/main/cidercache.js:
--------------------------------------------------------------------------------
1 | const CiderCache = {
2 | async getCache(file) {
3 | let cache = await ipcRenderer.sendSync("get-cache", file);
4 | if (isJson(cache)) {
5 | cache = JSON.parse(cache);
6 | if (Object.keys(cache).length === 0) {
7 | cache = false;
8 | }
9 | } else {
10 | cache = false;
11 | }
12 | return cache;
13 | },
14 | async putCache(file, data) {
15 | console.log(`Caching ${file}`);
16 | ipcRenderer.invoke("put-cache", {
17 | file: file,
18 | data: JSON.stringify(data),
19 | });
20 | return true;
21 | },
22 | };
23 |
24 | export { CiderCache };
25 |
--------------------------------------------------------------------------------
/src/renderer/main/ciderfrontapi.js:
--------------------------------------------------------------------------------
1 | const CiderFrontAPI = {
2 | Objects: {
3 | MenuEntry: function () {
4 | this.id = "";
5 | this.name = "";
6 | this.onClick = () => {};
7 | this.top = false;
8 | },
9 | },
10 | AddMenuEntry(entry) {
11 | if (entry?.top) {
12 | app.pluginMenuTopEntries.push(entry);
13 | } else {
14 | app.pluginMenuEntries.push(entry);
15 | }
16 | app.pluginInstalled = true;
17 | },
18 | StyleSheets: {
19 | Add(href) {
20 | console.log("Adding stylesheet: " + href);
21 | let id = uuidv4();
22 | let link = document.createElement("link");
23 | link.rel = "stylesheet/less";
24 | link.type = "text/css";
25 | link.href = href;
26 | link.setAttribute("css-id", id);
27 | // insert the link before document.querySelector("#userTheme") in head
28 | document.querySelector("head").insertBefore(link, document.querySelector("#userTheme"));
29 | less.registerStylesheetsImmediately();
30 | less.refresh(true, true, true);
31 | return link;
32 | },
33 | },
34 | };
35 |
36 | export { CiderFrontAPI };
37 |
--------------------------------------------------------------------------------
/src/renderer/main/components/sidebar-library-item.js:
--------------------------------------------------------------------------------
1 | import { html } from "../html.js";
2 |
3 | export const sidebarLibraryItem = Vue.component("sidebar-library-item", {
4 | template: html`
5 |
9 | `,
10 | props: {
11 | name: {
12 | type: String,
13 | required: true,
14 | },
15 | page: {
16 | type: String,
17 | required: true,
18 | },
19 | svgIcon: {
20 | type: String,
21 | required: false,
22 | default: "",
23 | },
24 | svgIconName: {
25 | type: String,
26 | required: false,
27 | },
28 | cdClick: {
29 | type: Function,
30 | required: false,
31 | },
32 | },
33 | data: function () {
34 | return {
35 | app: app,
36 | svgIconData: "",
37 | };
38 | },
39 | async mounted() {
40 | if (this.svgIcon) {
41 | this.svgIconData = this.svgIcon;
42 | }
43 | },
44 | methods: {},
45 | });
46 |
--------------------------------------------------------------------------------
/src/renderer/main/components/svg-icon.js:
--------------------------------------------------------------------------------
1 | import { html } from "../html.js";
2 |
3 | export const svgIcon = Vue.component("svg-icon", {
4 | template: html`
`,
5 | props: {
6 | name: {
7 | type: String,
8 | required: false,
9 | },
10 | classes: {
11 | type: String,
12 | required: false,
13 | },
14 | url: {
15 | type: String,
16 | required: true,
17 | default: "./assets/repeat.svg",
18 | },
19 | },
20 | });
21 |
--------------------------------------------------------------------------------
/src/renderer/main/html.js:
--------------------------------------------------------------------------------
1 | export function html(str) {
2 | return str[0];
3 | }
4 |
--------------------------------------------------------------------------------
/src/renderer/main/musickittools.js:
--------------------------------------------------------------------------------
1 | const MusicKitTools = {
2 | async v3Backend({ route = "", getBody = {}, options = {} }) {
3 | return await await ipcRenderer.invoke("mkv3", {
4 | token: MusicKit.getInstance().developerToken,
5 | route: route,
6 | mediaToken: MusicKit.getInstance().musicUserToken,
7 | GETBody: getBody,
8 | });
9 | },
10 | async v3Continuous({ href, options = {}, reqOptions = {}, onProgress = () => {}, onError = () => {}, onSuccess = () => {} } = {}) {
11 | let returnData = [];
12 |
13 | async function sendReq(href, options) {
14 | const response = await app.mk.api.v3.music(href, options).catch((error) => onError);
15 |
16 | returnData = returnData.concat(response.data.data);
17 | if (response.data.next) {
18 | onProgress({
19 | response: response,
20 | total: returnData.length,
21 | });
22 | try {
23 | await sendReq(response.data.next, options);
24 | } catch (e) {
25 | await sendReq(response.data.next, options);
26 | }
27 | }
28 | }
29 |
30 | await sendReq(href, options);
31 | onSuccess(returnData);
32 | return returnData;
33 | },
34 | getHeader() {
35 | return new Headers({
36 | Authorization: "Bearer " + MusicKit.getInstance().developerToken,
37 | Accept: "application/json",
38 | "Content-Type": "application/json",
39 | "Music-User-Token": "" + MusicKit.getInstance().musicUserToken,
40 | });
41 | },
42 | };
43 |
44 | export { MusicKitTools };
45 |
--------------------------------------------------------------------------------
/src/renderer/main/vuex-store.js:
--------------------------------------------------------------------------------
1 | const store = new Vuex.Store({
2 | state: {
3 | windowRelativeScale: 1,
4 | library: {
5 | // songs: ipcRenderer.sendSync("get-library-songs"),
6 | // albums: ipcRenderer.sendSync("get-library-albums"),
7 | // recentlyAdded: ipcRenderer.sendSync("get-library-recentlyAdded"),
8 | // playlists: ipcRenderer.sendSync("get-library-playlists")
9 | },
10 | pageState: {
11 | recentlyAdded: {
12 | loaded: false,
13 | nextUrl: null,
14 | items: [],
15 | size: "normal",
16 | },
17 | settings: {
18 | currentTabIndex: 0,
19 | fullscreen: false,
20 | },
21 | scrollPos: {
22 | limit: 10,
23 | pos: [],
24 | },
25 | },
26 | artwork: {
27 | playerLCD: "",
28 | },
29 | },
30 | mutations: {
31 | resetRecentlyAdded(state) {
32 | state.pageState.recentlyAdded.loaded = false;
33 | state.pageState.recentlyAdded.nextUrl = null;
34 | state.pageState.recentlyAdded.items = [];
35 | },
36 | setLCDArtwork(state, artwork) {
37 | state.artwork.playerLCD = artwork;
38 | },
39 | setPagePos(state, pageState = {}) {
40 | let cached = state.pageState.scrollPos.pos.find((page) => {
41 | return page.href === pageState.href;
42 | });
43 | if (cached) {
44 | state.pageState.scrollPos.pos.find((page) => {
45 | if (page.href === pageState.href) {
46 | page.position = pageState.position;
47 | }
48 | });
49 | return;
50 | }
51 | state.pageState.scrollPos.pos.push({
52 | href: pageState.href,
53 | position: pageState.position,
54 | });
55 | if (state.pageState.scrollPos.pos.length > state.pageState.scrollPos.limit) {
56 | pages.value.shift();
57 | }
58 | return;
59 | },
60 | },
61 | });
62 |
63 | export { store };
64 |
--------------------------------------------------------------------------------
/src/renderer/sounds/btn1.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/sounds/btn1.ogg
--------------------------------------------------------------------------------
/src/renderer/sounds/confirm.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/sounds/confirm.ogg
--------------------------------------------------------------------------------
/src/renderer/sounds/hover.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/sounds/hover.ogg
--------------------------------------------------------------------------------
/src/renderer/themes/WIP.md:
--------------------------------------------------------------------------------
1 | # Themes (WIP)
2 |
3 | ## Making a theme
4 | * If one does not already exist, create a new theme directory in the user data folder.
5 | * **Windows:** `%appdata%/Cider/themes`
6 | * **Mac:** `~/Library/Application Support/Cider/themes`
7 | * **Linux:** `~/.config/Cider/themes`
8 | * Create a `theme.less` file with the name of the theme.
9 | * In Cider, select the theme in the settings.
10 | * To enable hot reloading for the theme, open the DevTools and enter `less.watch()` in the console.
11 |
12 | ## Resources
13 | * The default styles.less can be found in: [src/renderer/style.less](https://github.com/ciderapp/Cider/tree/main/src/renderer/style.less)
14 | * [Less.js documentation](https://lesscss.org/)
--------------------------------------------------------------------------------
/src/renderer/themes/compactui.less:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/themes/compactui.less
--------------------------------------------------------------------------------
/src/renderer/themes/dark.less:
--------------------------------------------------------------------------------
1 | #app {
2 | --color1: #111;
3 | }
4 |
--------------------------------------------------------------------------------
/src/renderer/themes/default.less:
--------------------------------------------------------------------------------
1 | // Default theme
2 |
--------------------------------------------------------------------------------
/src/renderer/themes/grain.less:
--------------------------------------------------------------------------------
1 | body.notransparency::before {
2 | display: block;
3 | }
4 |
--------------------------------------------------------------------------------
/src/renderer/themes/inline_drawer.less:
--------------------------------------------------------------------------------
1 | &:not(.modular-fs) {
2 | .app-drawer {
3 | border-radius: 0px;
4 | top: 0;
5 | right: 0;
6 | height: 100%;
7 | box-shadow: unset;
8 | border-left: 1px solid var(--color2);
9 | background: var(--color1);
10 | margin-right: 0px;
11 | position: relative;
12 | }
13 |
14 | .drawertransition-enter-active,
15 | .drawertransition-leave-active {
16 | transition:
17 | margin 0.25s var(--appleEase),
18 | opacity 0.25s var(--appleEase);
19 | }
20 |
21 | .drawertransition-enter,
22 | .drawertransition-leave-to {
23 | margin-right: -300px;
24 | }
25 |
26 | @media screen and (max-width: 1120px) {
27 | .app-drawer {
28 | margin-right: 0px;
29 | position: absolute;
30 | }
31 |
32 | .drawertransition-enter-active,
33 | .drawertransition-leave-active {
34 | transition:
35 | right 0.25s var(--appleEase),
36 | opacity 0.25s var(--appleEase);
37 | }
38 |
39 | .drawertransition-enter,
40 | .drawertransition-leave-to {
41 | right: -300px;
42 | }
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/renderer/views/components/airplay-modal.ejs:
--------------------------------------------------------------------------------
1 |
24 |
46 |
--------------------------------------------------------------------------------
/src/renderer/views/components/app-content.ejs:
--------------------------------------------------------------------------------
1 |
39 |
40 |
51 |
--------------------------------------------------------------------------------
/src/renderer/views/components/artist-chip.ejs:
--------------------------------------------------------------------------------
1 |
19 |
20 |
54 |
--------------------------------------------------------------------------------
/src/renderer/views/components/artwork-material.ejs:
--------------------------------------------------------------------------------
1 |
6 |
7 |
37 |
--------------------------------------------------------------------------------
/src/renderer/views/components/editorialNotes.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
13 |
14 |
--------------------------------------------------------------------------------
/src/renderer/views/components/hello-world.ejs:
--------------------------------------------------------------------------------
1 |
4 |
5 |
15 |
--------------------------------------------------------------------------------
/src/renderer/views/components/karaoke-in.ejs:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-hrect.ejs:
--------------------------------------------------------------------------------
1 |
25 |
26 |
38 |
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-info.ejs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/views/components/mediaitem-info.ejs
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-scroller-horizontal-large.ejs:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-scroller-horizontal-mvview.ejs:
--------------------------------------------------------------------------------
1 |
21 |
22 |
23 |
55 |
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-scroller-horizontal-sp.ejs:
--------------------------------------------------------------------------------
1 |
11 |
12 |
27 |
--------------------------------------------------------------------------------
/src/renderer/views/components/mediaitem-scroller-horizontal.ejs:
--------------------------------------------------------------------------------
1 |
7 |
8 |
33 |
--------------------------------------------------------------------------------
/src/renderer/views/components/moreinfo-modal.ejs:
--------------------------------------------------------------------------------
1 |
16 |
17 |
43 |
--------------------------------------------------------------------------------
/src/renderer/views/components/playlists.ejs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/renderer/views/components/playlists.ejs
--------------------------------------------------------------------------------
/src/renderer/views/components/plugin-menu.ejs:
--------------------------------------------------------------------------------
1 |
23 |
24 |
43 |
--------------------------------------------------------------------------------
/src/renderer/views/components/qrcode-modal.ejs:
--------------------------------------------------------------------------------
1 |
14 |
15 |
35 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/apple-account-settings.ejs:
--------------------------------------------------------------------------------
1 |
8 |
19 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/connect-linked.ejs:
--------------------------------------------------------------------------------
1 |
6 |
20 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/library-videos.ejs:
--------------------------------------------------------------------------------
1 |
19 |
20 |
39 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/listen_now.ejs:
--------------------------------------------------------------------------------
1 |
9 |
10 |
24 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/madeforyou.ejs:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/plugin-renderer.ejs:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/remote-pair.ejs:
--------------------------------------------------------------------------------
1 |
6 |
20 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/webview.ejs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/pages/zoo.ejs:
--------------------------------------------------------------------------------
1 |
29 |
47 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/cast.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/check.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/chevron-left.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/chevron-right.svg:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/explicit.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/external-link.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/fullscreen.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/grid.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/headphones.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/info.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/list.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/log-out.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/more.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/pip.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/play.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/playlist.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/plus.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/quote-right.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/redo.svg:
--------------------------------------------------------------------------------
1 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/settings.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/smartphone.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/speaker.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/renderer/views/svg/x.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/web-remote/assets/Grabber.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/web-remote/assets/MissingArtwork.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/web-remote/assets/arrow-left.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/backward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/infinity.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/quote-right.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/repeat.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
12 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/web-remote/assets/repeatOne.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Layer 1
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 1
26 |
27 |
--------------------------------------------------------------------------------
/src/web-remote/assets/search.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/shuffle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/web-remote/assets/volume-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/volume-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/assets/x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/web-remote/cider-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/cider-icon.png
--------------------------------------------------------------------------------
/src/web-remote/icon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/icon-192x192.png
--------------------------------------------------------------------------------
/src/web-remote/icon-256x256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/icon-256x256.png
--------------------------------------------------------------------------------
/src/web-remote/icon-384x384.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/icon-384x384.png
--------------------------------------------------------------------------------
/src/web-remote/icon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/icon-512x512.png
--------------------------------------------------------------------------------
/src/web-remote/launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ciderapp/Cider/953bb5a9e26080bba2bb20438f0ddf38b0a8b260/src/web-remote/launch.png
--------------------------------------------------------------------------------
/src/web-remote/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "theme_color": "#000000",
3 | "background_color": "#000000",
4 | "display": "standalone",
5 | "scope": "/",
6 | "start_url": "/",
7 | "name": "Cider Remote",
8 | "short_name": "Cider Remote",
9 | "description": "Cider Remote",
10 | "developer": {
11 | "name": "Cider Collective",
12 | "url": "https://cider.sh?utm-source=manifest"
13 | },
14 | "homepage_url": "https://cider.sh?utm-source=manifest",
15 | "icons": [
16 | {
17 | "src": "/icon-192x192.png",
18 | "sizes": "192x192",
19 | "type": "image/png"
20 | },
21 | {
22 | "src": "/icon-256x256.png",
23 | "sizes": "256x256",
24 | "type": "image/png"
25 | },
26 | {
27 | "src": "/icon-384x384.png",
28 | "sizes": "384x384",
29 | "type": "image/png"
30 | },
31 | {
32 | "src": "/icon-512x512.png",
33 | "sizes": "512x512",
34 | "type": "image/png"
35 | }
36 | ],
37 | "protocol_handlers": [
38 | {
39 | "protocol": "ext+cider",
40 | "name": "Cider",
41 | "uriTemplate": "/?url=%s"
42 | }
43 | ]
44 | }
45 |
--------------------------------------------------------------------------------
/steam-deck.json:
--------------------------------------------------------------------------------
1 | {
2 | "electronVersion": "18.3.12",
3 | "electronDownload": {
4 | "version": "18.3.12+wvcus",
5 | "mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
6 | },
7 | "appId": "cider",
8 | "protocols": [
9 | {
10 | "name": "Cider",
11 | "schemes": ["ame", "cider", "itms", "itmss", "musics", "music"]
12 | }
13 | ],
14 | "extends": null,
15 | "files": ["**/*", "./src/**/*", "./resources/icons/icon.*"],
16 | "linux": {
17 | "target": ["AppImage", "flatpak", "pacman"],
18 | "synopsis": "A new look into listening and enjoying music in style and performance. ",
19 | "category": "AudioVideo",
20 | "icon": "cider",
21 | "executableName": "cider"
22 | },
23 | "appx": {
24 | "applicationId": "CiderAlpha",
25 | "publisher": "CN=CiderCollective, OID.2.25.311729368913984317654407730594956997722=1",
26 | "displayName": "Cider",
27 | "identityName": "CiderCollective.CiderAlpha",
28 | "backgroundColor": "transparent",
29 | "setBuildNumber": true
30 | },
31 | "win": {
32 | "target": ["appx"],
33 | "icon": "resources/icons/icon.ico"
34 | },
35 | "directories": {
36 | "buildResources": ".",
37 | "output": "dist"
38 | },
39 | "mac": {
40 | "icon": "./resources/icons/icon.icns",
41 | "category": "public.app-category.music",
42 | "entitlements": "resources/entitlements.mac.plist",
43 | "darkModeSupport": true
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "outDir": "build",
4 | "inlineSources": true,
5 | "allowJs": true,
6 | "esModuleInterop": true,
7 | "module": "NodeNext",
8 | "moduleResolution": "NodeNext",
9 | // Needed to address https://github.com/quasarframework/app-extension-typescript/issues/36
10 | "noEmit": false,
11 | "resolveJsonModule": true,
12 | // Avoid cross-os errors due to inconsistent file casing
13 | "forceConsistentCasingInFileNames": true,
14 | "sourceMap": true,
15 | "strict": true,
16 | "target": "esnext",
17 | "isolatedModules": true,
18 | "useDefineForClassFields": true,
19 | // Fix Volar issue https://github.com/johnsoncodehk/volar/issues/1153
20 | "jsx": "preserve",
21 | "lib": ["esnext", "dom"],
22 | "experimentalDecorators": true,
23 | "baseUrl": "./",
24 | "allowSyntheticDefaultImports": true,
25 | "noImplicitThis": true,
26 | "skipLibCheck": true /* Skip type checking of declaration files. */,
27 | "typeRoots": ["node_modules/musickit-typescript", "node_modules/@types"],
28 | },
29 | "include": ["src/**/*.ts"],
30 | }
31 |
--------------------------------------------------------------------------------
/winget.json:
--------------------------------------------------------------------------------
1 | {
2 | "electronVersion": "24.3.0",
3 | "electronDownload": {
4 | "version": "24.3.0+wvcus",
5 | "mirror": "https://github.com/castlabs/electron-releases/releases/download/v"
6 | },
7 | "appId": "cider",
8 | "afterPack": "./resources/afterPack.cjs",
9 | "afterSign": "./resources/notarize.cjs",
10 | "protocols": [
11 | {
12 | "name": "Cider",
13 | "schemes": ["ame", "cider", "itms", "itmss", "musics", "music"]
14 | }
15 | ],
16 | "extends": null,
17 | "files": ["./build/**/*", "./src/**/*", "./resources/icons/**/*"],
18 | "nsis": {
19 | "oneClick": true,
20 | "perMachine": false,
21 | "deleteAppDataOnUninstall": true,
22 | "artifactName": "${productName}-Setup-winget-${version}.${ext}"
23 | },
24 | "win": {
25 | "target": ["nsis"],
26 | "icon": "resources/icons/icon.ico"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/workbox-config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | globDirectory: "src/renderer/",
3 | swDest: "src/renderer/sw.js",
4 | // Define runtime caching rules.
5 | runtimeCaching: [
6 | {
7 | // Match any request that ends with .png, .jpg, .jpeg or .svg.
8 | urlPattern: /\.(?:png|jpg|jpeg|svg|webp)$/,
9 |
10 | // Apply a cache-first strategy.
11 | handler: "CacheFirst",
12 |
13 | options: {
14 | // Use a custom cache name.
15 | cacheName: "imageinternet",
16 | // Only cache 10 images.
17 | },
18 | },
19 | {
20 | urlPattern: /https:\/\/is[0-9]-ssl\.mzstatic\.com\/image+/,
21 | handler: "CacheFirst",
22 | },
23 | {
24 | urlPattern: /^https:\/\/store-\d{3}\.blobstore\.apple\.com\/.{65}\/image+/,
25 | handler: "CacheFirst",
26 | },
27 | ],
28 | ignoreURLParametersMatching: [/^utm_/, /^fbclid$/, /^X-Amz-Algorithm/, /^X-Amz-Date/, /^X-Amz-SignedHeaders/, /^X-Amz-Expires/, /^X-Amz-Credential/, /^X-Amz-Signature/],
29 | };
30 |
--------------------------------------------------------------------------------