Giter Club home page Giter Club logo

toy_mpdclient_streamlit's Introduction

MPD Client for Home

Demo

Demo

https://mpdclient.enif.page

MPD를 2개 설정 했습니다만.

  1. server다 보니 mixer가 없어서 volume은 조절이 안됩니다.
  2. flac 파일은 재생이 안됩니다.

Feature

  • Simple is BEST concept
  • Multi MPD support

Installation

Requirements

  • Docker, Docker-Compose or Podman

Clone

git clone https://github.com/halfenif/toy_mpdclient_streamlit.git

Change Config

cp ./.env.sample ./.env
cp ./fastapi/.env.sample ./fastapi/.env
cp ./streamlit/.env.sample ./streamlit/.env

Edit .env

./.env

  • FOLDER_TARGET="" # MPD music folder
  1. Don't use symbolic link
  2. Docker run user is root
  3. Podman run user is login user
  4. Be carefull folder and file permission

fastapi/.env

  • ENV_TYPE = ".env.sample" > ".env" Display Information
  • IS_DEBUG = bool
  • MPD_SERVER_LIST = str(json format). Option.
  • UI_OPTION_SHORT_FILE_NAME = bool. Display button label short or not
  • UI_OPTION_SHORT_FILE_LENGTH = int. Display button label char count

streamlit/.env

  • ENV_TYPE = ".env.sample" > ".env" Display Information
  • URL_BACKEND = fastAPI container URL
  • UI_OPTION_TITLE = str, st.title(), if "" is None
  • UI_OPTION_DESC = str, st.write(), if "" is None
  • UI_OPTION_SIDEBAR_WIDTH = int, st.sidebar width

Docker-Compose

docker-compose build
docker-compose up

Podman

./rebuild_podman.sh

toy_mpdclient_streamlit's People

Contributors

halfenif avatar

Watchers

 avatar

toy_mpdclient_streamlit's Issues

PC와 Mobile 환경 설정하기

st.colums는 모바일 환경에서 작동하지 않는다. (관련 이슈도..)

사용자가 그때 그때 UI환경을 선택 할 수 있도록 하는 방법을 강구중이다.

예를 들면 Server에 동일한 IP라도 PC용과 모바일용을 분리하고, 화면에서 그 정보를 식별해서 출력하는 식이다.

문제가되는 UI부분은 play와 loop control인데.. 과감하게 이 녀석들을 select로 변경하는 방법은 어떨까 싶다.

지금 세어보니 9개 option이다.

file navigation에서 파일의 tag정보를 알고 싶다.

본 프로젝트는 simple is best라고 생각했지만..

파일명만 보고 도저히 이 녀석이 뭔지 모르겠는 상황이 발생한다.

tag정보를 보여주는 것은 sidebar를 사용하면 되겠지만, 문제는 button click이벤트를 어떻게 할 것안지에 대한 고민이다.

방법은 상단에 button click에 대한 행위 option을 (radio나 select)로 두는 것인데..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.