Commit graph

63 commits

Author SHA1 Message Date
milaq 7c3161aff9 Make YCast aware of played streams
Every stream URL is may now be fetched from the YCast server via redirection.
This allows for future integration of a "recently played" functionality and an availability check.
2019-08-22 20:30:29 +02:00
milaq 8504097e15 Independent hardcoded vTuner URL handling
All 'setupapp' calls are handled independently.
Allows for easier distinction between hardcoded vTuner URLs and our
own API calls.
Also may prevent client crashes because of an invalid response with a
landing page.
2019-08-22 01:31:13 +02:00
milaq 67ac5bd70a Handle station search globally
At least Denon AVRs don't require the API to return a 'Search' element
but use a hardcoded path for the search function.

Also, don't add a distinct menu item. Most AVRs don't display it
correctly either way.
2019-08-21 23:37:16 +02:00
milaq fbbf585bf0 Readme: Add more info and candy 2019-08-21 12:33:03 +02:00
milaq 4cd99f2a9c Radiobrowser: Handle connection errors 2019-08-21 00:21:29 +02:00
milaq 048e479080 Readme: Fix wording and spelling
Also add potentially supported devices from Denon.
2019-08-19 18:41:46 +02:00
milaq 1a51bd195c Add Radiobrowser station language listing
Co-authored-by: Zenith-Nadir <Zenith-Nadir@users.noreply.github.com>
2019-08-19 15:00:48 +02:00
milaq 7869fc0ee3 Add Yamaha RX-x75 series to confirmed devices
Thanks to @eddhannay for the report.
2019-08-19 14:34:37 +02:00
milaq 803964ecb4 Unify station id generation 2019-08-19 13:57:35 +02:00
milaq 5205ec4e7c Werkzeug: Do not log every request when not using debug mode 2019-08-19 13:42:19 +02:00
milaq dd28e64c61 vTuner: Unify 'to_xml' to get a root element for every function 2019-08-19 13:35:25 +02:00
milaq 244759e408 Use upstream proposed XML API import and naming 2019-08-18 14:19:54 +02:00
milaq 31545662da Minor changes to packaging info 2019-08-18 14:14:53 +02:00
milaq 333fc2012f Unify version and user agent
Also use more detailed user agent as proposed by the Radiobrowser API
2019-08-18 14:11:38 +02:00
milaq 895a5aa37f Add ability to enable debug logging by commandline argument 2019-08-18 13:51:07 +02:00
milaq 16387a3f50 Rework directory handling
This greatly improves loading times and takes some load off the APIs.

 * Add generic directory class to also hold item count
 * Radiobrowser: Get station count directly from API
 * Optionally show broken stations and their count
 * Remove minimum station bitrate to not filter away some listings
 * Improve code wording
 * Log API requests
2019-08-18 13:50:38 +02:00
milaq ed6baa692e Radiobrowser: Limit search results 2019-08-17 23:59:50 +02:00
milaq ce32358149 Radiobrowser: Reduce default station limit
Let's assume nobody wants to get 1000 stations by default.
Also takes some load off the Radiobrowser API.
2019-08-17 23:56:51 +02:00
milaq 4accb0bef1 Paging: Improve sanity checks and add in 'DirCount' support
Some AVRs want to know the folder item count before entering it.
2019-08-17 23:52:55 +02:00
milaq 533d4a041d paging: set complete item count for folders
allows proper paging for yamaha AVRs
2019-08-17 20:23:40 +02:00
milaq b1dca83e51 update readme and prep for prerelease rollout 2019-08-17 14:51:36 +02:00
milaq 6eba2c8ec2 remove disjointed todo 2019-08-16 15:06:34 +02:00
milaq 940c5cb446 unify acquisition for paging elements 2019-08-16 15:05:40 +02:00
milaq 0e29afa077 Server: Removed unused yaml import 2019-08-14 16:11:19 +02:00
milaq c3866440fa Radiobrowser: Fix handling of request errors 2019-08-14 16:11:19 +02:00
milaq 1316bb65d0 Decouple 'My Stations' feature from server module
Also add in check whether to show the respective link or just
a disclaimer on the landing page.
2019-08-14 16:11:17 +02:00
milaq 92756a7144 Fix up station parameters
Correct wording for bandwidth and bookmark.

Also add 'Relia' station reliability parameter.
Use hardcoded mean value of 3 for now (seems to be 1-5).
2019-08-14 14:50:02 +02:00
milaq 63b87dfa95 Do not send a proper XML header on init token response
The vTuner API doesn't do it and some AVRs have problems with it.
Thanks to @AlfredJ91 for the heads-up.
2019-08-14 14:29:54 +02:00
milaq 9e1bb5e17b Append bogus parameter to every target url
To work around the issue that a few AVRs blindly append parameters
with an ampersand.

This also allows us to get rid of the search logic workaround.
Furthermore the vTuner API also hacks around the issue this way.
So this seems like the correct way to handle that even if it looks ugly.
2019-08-12 20:12:12 +02:00
milaq 4a2ecd9821 add support for start and howmany request arguments
seems like some AVRs use these for paging.
also unify request extraction logic on the way.
2019-08-12 20:12:01 +02:00
milaq 4fb591a18b vtuner pages: always calculate element count 2019-08-12 14:59:51 +02:00
milaq bfa203d160 added minimum version check to main 2019-08-12 14:16:07 +02:00
milaq 787bf0a6e9 add more confirmed working devices
thanks to @pafodie and @vooba for reporting
2019-08-12 14:06:30 +02:00
milaq 83ad5733ed strip https in vtuner station urls 2019-07-21 20:07:26 +02:00
milaq e8e5451dc7 fix radiobrowser name sorting order 2019-07-21 19:54:13 +02:00
milaq ae9f168e8b do not limit country and genre results 2019-07-21 19:53:43 +02:00
milaq 1e9cc568f4 order stations in genres, countries and search results by name 2019-07-21 19:40:41 +02:00
milaq 1123f3e55b implement vtuner paging
should(tm) now be compatible with older avrs which do not get the whole listing at once
2019-07-17 15:44:35 +02:00
milaq 3114e5b226 add python requests as requirement 2019-07-17 15:15:31 +02:00
milaq 925cb30e77 more python packaging preparations 2019-07-10 14:58:14 +02:00
milaq b79dfebbea obey line character limit and get rid of warnings
for the line width, 80 is ancient. we use 120.
2019-07-10 14:06:09 +02:00
milaq b0c29f0582 major rework of backend features
* use flask for easier url handling and tidyness
 * create radio-browser.info and vtuner api classes
 * add support for more vtuner logic (logos, info messages, search, buttons, etc.)
 * use radio-browser.info index and search
 * prepare for python packaging
2019-07-09 18:44:56 +02:00
Micha LaQua 4927524df9 readme: add notes for catchall DNS (all vendors) 2019-06-26 16:50:06 +02:00
Micha LaQua 2360bff63b
Add confirmed working Marantz device
Thanks to jrawle for reporting
2019-06-23 22:29:23 +02:00
milaq 169877e42b some AVRs expect a content-length header
also use a correct length hex value as token response as at least some
yamaha avrs are having trouble with 'malformed' tokens
2019-01-25 00:54:18 +01:00
Micha LaQua 0bba96f07d
fix up nginx example
for compatibility with other vendors
2019-01-24 22:30:11 +01:00
Micha LaQua b89e1034a4
readme: add in vtuner fallback domain name notes 2019-01-24 22:23:27 +01:00
Micha LaQua 2965f71f7d
readme: add in notes for onkyo avrs 2019-01-24 22:14:00 +01:00
milaq 5888815cd8 add compatibility for other vendors
do not hardcode initurl to get easy compatibility with other initurls (e.g. onkyo)
2019-01-24 22:07:06 +01:00
Micha LaQua f0756bd5f6
Add more theoretically supported devices 2019-01-22 13:50:32 +01:00