Coder Social home page Coder Social logo

trikolon / liquidradio Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 2.0 1.6 MB

Frontend for music station Liquid Radio

Home Page: https://liquidradio.pro

License: MIT License

HTML 4.30% JavaScript 22.07% Vue 73.63%
material-design mobile-first radio-station vuejs2

liquidradio's People

Contributors

endebert avatar mdartic avatar mmca101 avatar trikolon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

liquidradio's Issues

Visualizer does not fade out on stream pause

The Visualizer should also fade out in the graph as before when the playback is paused. Instead it just freezes. This is due to the new play-state check.
Perhaps we could add a timeout until the animation is paused so that the fadeout works.

Website Text

  • html description tag (max 160 chars)
  • "about" welcome text
  • description for individual stations

Visualizer Audio API init fails

StreamPlayer.js:94 StreamPlayer: Error while setting up AudioAPI TypeError: Failed to execute 'createMediaElementSource' on 'BaseAudioContext': parameter 1 is not of type 'HTMLMediaElement'.
    at VueComponent.mounted (StreamPlayer.js:90)
    at callHook (vue.esm.js:2665)
    at Object.insert (vue.esm.js:3526)
    at invokeInsertHook (vue.esm.js:5469)
    at Vue$3.patch [as __patch__] (vue.esm.js:5639)
    at Vue$3.Vue._update (vue.esm.js:2414)
    at Vue$3.updateComponent (vue.esm.js:2538)
    at Watcher.get (vue.esm.js:2881)
    at new Watcher (vue.esm.js:2870)
    at mountComponent (vue.esm.js:2542)

Volume always 100% after page refresh

... when using the volume buttons after that, it behaves as if it had actually remembered the previously saved volume. Example/recreation: play stream, set the volume to 10%, refresh the page, press play again (volume is at 100%) and then use volume down (volume jumps to 0%)

Fade out/in stream audio

When the stream starts / stops or the station is switched fade out the audio, stop the playback and fade in the new stream (if any).

Support for url parameter 'station'

Implement support for parameter station in the url.
This enables direct sharing / bookmarking of stations via url.

Behavior:
When the application loads it checks for parameter station in the url, where station holds the station id. E.g.: https://liquidradio.pro/?station=liquid_radio. If the parameter matches a station it selects that station initially. When the user selections a new station the parameter in the url is updated accordingly.

This function could be used to extract the parameter:

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null;
}

Custom radio stations by user

Implement functionality for the user to add radio stations that are stored in their browsers local storage.
(Additionally to the default stations queried from the stream server)

Station play bug

Newly selected station does not play if switched to from an already playing station.

Sub-Menu collapse when closing Sidebar

For the two currently collapsible menus in the sidebar, and for every potential collapsible menu to be added in the future, everyone but the station's menu would be better to close automatically when closing the sidebar (up to a certain numbers of stations when the list size requires it to be either grouped within itself of a scrolling feature, etc [further details to hypothetical atp]).

Stream Bit-rate Selection (if available)

iE drop down menu or, other selection methods, to choose between the different bitrates (of 320k 256k 192k 128k 64k 32k) depending on what source streams are already available from the respective stations.

Offline detection

Monitor network requests / GETs.
Polling to backend? Socket connection?

Title showing current station

Make the title show the currently selected station e.g.:

Liquid Radio - <station.title>

This is also visible in the android playback notification.

Equalizer Animation stuttering

... especially visible in the low end. The behavior is new appearing only since one of the last few updates present in both DEV & MASTER.

Components are mounted twice

Components are first all mounted then destroyed and then mounted again. I wasn't able to find the source of this bug yet. Ideas?

connection loss ≠ "stream stalled" notification

When the WiFi connection of my phone breaks off, the device is momentarily without a web connection and the stream stops, no "stream stalled" notification is shown. Upon using 'skip' the message "stream offline" is displayed. When the connection is reestablished only 'skip' resumes the stream, 'play/pause' is without effect.

Visualizer seems not working on Firefox

Hello,

Great job in using VueJS + Material !

It seems that visualizer doesn't correctly work on my Firefox (it's ok with Chromium / Chrome) :

image

I'm using Firefox Nightly 56.0a1 (2017-07-15) (64-bit).

No Offline Notice

Unsuccessfully buffering stream does not result in "Stream Offline" notice

Sent from my OnePlus A0001 using FastHub

Volume loading from local storage

Volume setting loaded from local storage does not apply initially (only after adjusting the volume).
Steps to reproduce the problem:

  1. Set volume to lowest setting before quiet
  2. Reload the page, press play => Volume is too loud
  3. Click + button once => Volume gets quieter than the initial value

Play/Pause Loop

When switch from the online station to the first still offline station whilst playing a quick play/pause loop is triggered that is only stopped through skip/forward or reloading the page.

Sent from my OnePlus A0001 using FastHub

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.