XK9274 / ncspotcli-compile-miyoo

Builds ncspot for the Miyoo Mini + (contains appfolder)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ncspot Spotify client for the MMP.

Snapchat-264573495.mp4
  • Bit of a novelty/gimmick this app really but it's been a fun build/process and i've learnt a lot about the MMP/embedded environment from it.
  • If you have a lot of background apps running (filebrowser etc) it may be worth killing them to free up some memory
  • There's other spotify options that may be better (designed for embedded found by kebabstorm) which i'll also look into
  • Headphones work

ncspot_000 ncspot_000s

AND with eggs new terminal (larger, clearner font) found here: https://www.dropbox.com/s/56pr1io9e82po8s/Terminal_640x480.zip (install st in .tmp_update/bin)

ncspot_000 ncspot_005

Credits:

Usage

  • Copy the App folder to your /mnt/SDCARD folder
  • or
  • Copy the ncspot folder to your App folder

On the login screen: Use the keyboard to input username, press the Select button to tab down, input password, press Select button again to tab to login and press start. When logged in press X to hide the keyboard.

You may need to restart your MMP

Building

To build fresh from the source, i've included a mk.sh file that you can run from a docker image, the best docker image to use i've found is:

git clone https://github.com/shauninman/union-miyoomini-toolchain.git
cd union-miyoomini-toolchain
make shell

copy the mk.sh file to your workspace

source mk.sh

Wait for it to build

Then look for the folder called /workspace/ncspot - this should contain everything you need.

Look at the included launch.sh & /config/config.toml for info.

This will build the requirements with NO audio backends, it will rely on the audiobridge.

TODO/Issues:

Performance

  • Audio has improved a huge amount since swapping to audioserver

App

  • The "tracks" page takes a couple of seconds to load if you have a ton of songs in your liked songs
  • The current credentials file gets stored in /tmp/ so it resets every boot, i'm tempted to leave it this way due to the nature of the MMPs security - this file contains tokens and secrets
  • You need a premium account, no getting around this - it's a librespot/spotify thing
  • You can't background the app, terminal closing will kill the child processes'
  • You can't background the app, no really, the mmp really doesn't have enough memory to run Main and ncspot.
  • It's the same story if you turn the screen off, the audio will stop.
  • Sometimes audio gets buggy, tap the power button twice to repair \ This is resolved since preloading with built in audioserver
  • Sometimes just changes song all on its own \ Very rare
  • You'll potentially get a stutter about 10 seconds in, this is ncspot downloading track and databases

terminal

  • May try a completely different terminal Use eggs new terminal
  • Terminal app source needs editing to provide some more keys from SDLK that we can use as volume
  • Bind some volume keys.
  • New font as the current pixel one doesn't display great for ncurses built tuis Use eggs new terminal
  • There's no keyboard with ncspot so you NEED to use the terminal keyboard to login (select is tab to next field), you can then hide the keyboard with the X button

Audio

  • Sometimes audio will stop at random intervals, not sure with this one.. looking into it but i suspect it's ncspot, not AS or AB.
  • Occasionally songs wont follow on, it will go silent after a song finishes and the next song won't play
  • Now uses built in audioserver, no longer pops when changing song (still uses audiobridge as the bridge across ncspot and audioserver in absence of an ncspot sdl backend/sink)
  • Added a buffer to audiobridge, added rewind for EOF but not sure this is working on STDIN
  • Full volume audio is distorted - Use 75% with the volume keys or change the ncspot volume with the keyboard.
  • Now handles volume correctly based on the audioserver vals
  • Now correctly handles mute/unmute with the mmp keys
  • Skipping forwards or backwards in the song will stop audio, not sure why.

Key bindings

These are the key bindings due to how the terminal app (and ncspot) are setup

https://github.com/hrkfdn/ncspot/blob/main/doc/users.md#vim-like-commands this is the full list, you can pull up the keyboard with the X button and use these commands

  • Start button - play song
  • Arrow keys - navigate
  • "Backspace" = "quit" # This is the R2 button
  • "t" = "next" # This is the R1 button
  • "e" = "previous" # This is the L1 button
  • "Tab" = "focus library" # This is the L2 Button
  • "Space" = "playpause" # This is the A button

Theme setup

  • Edit the config.toml to suit your theme needs, it should accept hex but it doesn't very well and i think this is an st (terminal app) thing as it works fine if you launch from putty.

About

Builds ncspot for the Miyoo Mini + (contains appfolder)


Languages

Language:Shell 100.0%