Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add TuneIn radio initial support #156

Merged
merged 16 commits into from Mar 12, 2018
Merged

Commits on Feb 18, 2018

  1. TuneIn Radio Plugin - First Bits

    Create the very first bits of a TuneIn Radio plugin for Volumio.
    So far it simply downloads and shows the list of available categories
    from TuneIn Radio.
    Everything else is still to be done.
    piffio committed Feb 18, 2018
    Copy the full SHA
    b0f9ac3 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2018

  1. Add basic support for playing a radio

    Add initial (and very unclean) support for playing a radio.
    The "Local Radio" section now supports playing radios correctly.
    piffio committed Feb 19, 2018
    Copy the full SHA
    547f0e6 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2018

  1. Refactor the whole browsing logic

    Significant changes in the browsing logic, including:
    * Load root categories during the onStart() call, and cache results
      for a faster browsing
    * Use regexp matches to identify the 1st level of nested browsing
    * Generalise the former browseLocal() function to be able to handle
      most of L1 browsing, covering Local radios, Talk, Music and Sport
    * Fix the "prev" link
    piffio committed Feb 20, 2018
    Copy the full SHA
    54222ae View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2018

  1. Migrate to node-tunein-radio module

    Start migrating the codebase to use node-tunein-radio instead
    of node-tunein, which is being designed with the specific
    purpose of supporting the required use-cases for this
    Volumio plugin.
    piffio committed Feb 26, 2018
    Copy the full SHA
    962dcd0 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2018

  1. Refactor browsing logic afer switching npm module

    The browsing logic had to be reviewed after switching to the new
    node-tunein-radio npm module.
    All main categories are now working when it comes to browsing their
    main content.
    piffio committed Feb 27, 2018
    Copy the full SHA
    ee1d724 View commit details
    Browse the repository at this point in the history
  2. Fix thumbnail display for TuneIn radios

    It looks like `albumart` needs to be used for thumbnais instead of
    `icon`, which is used for folder icons instead.
    piffio committed Feb 27, 2018
    Copy the full SHA
    9a1ddc7 View commit details
    Browse the repository at this point in the history
  3. Add support for Search method

    Implement search through TuneIn content
    piffio committed Feb 27, 2018
    Copy the full SHA
    297db80 View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    fa5ac27 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2018

  1. Improve category browsing

    * Add support for 2 meta categories (Best and Popular) via configuration switches.
    * Break down items in each list by sub-categories
    piffio committed Feb 28, 2018
    Copy the full SHA
    ff4ead9 View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2018

  1. Improve handling of "Previous URI" logic

    Track the history of browsing across different nested levels in
    order to provide a more consistent behavior when pushing the
    "back" button.
    piffio committed Mar 3, 2018
    Copy the full SHA
    af60f3e View commit details
    Browse the repository at this point in the history
  2. Refactor and simplify browsing code

    * Use the parsed URL from API calls to set internal routing URLs, which
      makes the whole logic much more generic
    
    * De-duplicate code by moving common bits into a function that will assemble
      the proper item to be added to the result sets
    piffio committed Mar 3, 2018
    Copy the full SHA
    3e3e707 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2018

  1. Use a recursive approach in browsing API results

    Since TuineIn uses an undefined number of nested levels with filters
    and so on, we need to take a generi approach while browsing for
    content, and trust the results from API without trying to
    over interpret.
    piffio committed Mar 4, 2018
    Copy the full SHA
    0054985 View commit details
    Browse the repository at this point in the history
  2. Allow for more characters in URL regex

    The API uses uppercase characters and the ~ sign is some filters
    (Namely when paginating by first letter).
    piffio committed Mar 4, 2018
    Copy the full SHA
    9469bb8 View commit details
    Browse the repository at this point in the history
  3. Improve configuration options and menu

    * Make the existing entries in UIConfig more self-explanatory.
    * Add a new flag for enabling/disabling experimental features to
      make sure people are clear on what they get.
    * Hide "Podcasts" behind the experimental flag.
    piffio committed Mar 4, 2018
    Copy the full SHA
    213f868 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2018

  1. Cache API results for 60 minutes

    Leverage the ability of the node-tunein-radio module to cache results.
    Given that the contend doesn't change so often, cache results for
    one hour.
    piffio committed Mar 5, 2018
    Copy the full SHA
    4ffd3b4 View commit details
    Browse the repository at this point in the history
  2. Add proper support for Podcasts

    Now it's possible to browse Podcasts / Shows episodes and play
    them properly.
    piffio committed Mar 5, 2018
    Copy the full SHA
    167519f View commit details
    Browse the repository at this point in the history