adlawson / mixcloud-tracklist Goto Github PK
View Code? Open in Web Editor NEW[Unofficial] Display tracklists on Mixcloud
Home Page: https://www.mixcloud.com
License: MIT License
[Unofficial] Display tracklists on Mixcloud
Home Page: https://www.mixcloud.com
License: MIT License
Would be useful to know at what time a track starts, so i can quickly scrub to that point
Can anyone confirm that this is broken now?
Example: The tracklist on this page was longer than would show when I clicked "Show Tracklist". It showed the first 10 items, but could not display any more. There should be some way to scroll, or display the remainder of the tracklist.
https://www.mixcloud.com/Hot_Since_82/hot-since-82-summer-hotcast-13/
I'm assuming it's something to do with their use of history API. Just need to keep watching for document state changes.
The Tampermonkey userscript is ~1.9MB of javascript. That is mental. Most of it is Dust and its dependencies, so maybe research other more lightweight templating libraries or figure out a way to include only the rendering portion of Dust.
This code is awful. It's a big old mish mash of callbacks and promises, latest and old syntax.
The template is currently in a JS string but should really be loaded in as a separate file.
Mixcloud have changed their API up. Old references to URLs like https://www.mixcloud.com/player/details/?key=%2Ftheblackdog%2Fradio-dogma-50%2F no longer work (for those of us on the new React website. see #36).
They have implemented a new GraphQL endpoint for querying mixes, and I've spotted a /tracklist?guid=blah
endpoint too, though I'm unsure at this point how helpful it'll be.
This new GraphQL API needs to be used to reenable the tracklist.
The old website has now been dropped by Mixcloud and the Beta is now final. Shortly after the change it seems they may have been cleaning some old things away and the tracklist being displayed is the legacy one.
Rather than fix the legacy/new predicate it might be worth just dropping legacy support altogether.
On the old (non-Beta) website the tracklist no longer shows. I'm pretty sure it's due to changes introduced by fixing #27.
Issue raised in #26 (comment).
I think the current update URL points to v3.0.x rather than whatever the latest is.
I used this mix: https://www.mixcloud.com/Todomundo/working-women-present-crown-shyness/
In Firefox 54.0.1 with mixcloud-tracklist 4.2.0 the tracklist is shown.
In Chrome 60.0.3112.90 with mixcloud-tracklist 4.2.0 the tracklist is not shown. I went to Developer Tools, and the data.cloudcast.sections variable on line 63821 of mixcloud-tracklist.js is an empty array. I attached a copy of the response and data variables to this issue.
Do you have an idea on how to fix this? Thanks a lot, I really enjoy using your extension.
Unable to view tracklist on Chrome or Mozilla, please help!
Should be easy enough to make a Firefox plugin from the core.
The very helpful </sarcasm>
team at MDN have removed the extension from their addons library after review.
Your add-on, Mixcloud Tracklist 1.1.0, has been reviewed by an editor and did not meet the criteria for being hosted in our gallery.
Reviewer:
erosmanComments:
Your version was rejected because of the following problems:
- Where are these files?
var constants = require('../src/constants');
var fetch = require('../src/fetch');
var render = require('../src/template');
var decorator = require('../src/decorator');
{"../src/constants":3,"../src/decorator":4,"../src/fetch":5,"../src/template":6}]
var mustache = require('mustache');... etc
Is content.js used?
If addon includes minified code, we also need access to clear text sources. You can include the official source links for the minified libraries for each new version, in 'Notes for Reviewers'. Please note that third party CDNs are not considered official sources for this purpose. Established libraries do not require inclusion of their sources.
data/ext-mixcloud.js
Please fix them and submit again. Thank you.
Tracklist is no more displayed, but in player song appears. Does API changed?
I've heard it's fairly straightforward to convert Firefox Add Ons to Safari Extensions, but wouldn't know where to begin myself.
All selectors used by this extension rely on the Angular DOM, but Mixcloud have now migrated to a React frontend. No tracklist is currently rendered.
Calls to player/details?key=blah
are now responding with a 301
redirect to player/details/?key=blah
(with trailing slash after details
) and the extension is not following it.
This was spotted while debugging #31.
Hi Guys,
I stumbled across your code and thought "Amazing", just what I needed to be a true trainspotter!
I'm no coder, but an IT Director. When I install the extension, nothing happens. When I click on the extension icon it takes me to GitHub.
When I look at Chrome code I spot the following...
Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
at Object.onChange (chrome-extension://lkoingeajallinlnijfpmmddoeoficef/build/mixcloud-tracklist.js:39)
at Object.9../browser (chrome-extension://lkoingeajallinlnijfpmmddoeoficef/build/mixcloud-tracklist.js:2462)
at s (chrome-extension://lkoingeajallinlnijfpmmddoeoficef/build/mixcloud-tracklist.js:1)
at e (chrome-extension://lkoingeajallinlnijfpmmddoeoficef/build/mixcloud-tracklist.js:1)
at chrome-extension://lkoingeajallinlnijfpmmddoeoficef/build/mixcloud-tracklist.js:1
VM37:1 The SSL certificate used to load resources from https://bam.nr-data.net will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.
Is it me, Chrome or MixCloud???
Thanks for the great extension!
Can you also add track start times to the playlist generated by the extension?
Mixcloud have redesigned their site, and with it has come a whole new DOM.
This extension needs to support the new site with potential BC for the current/old site.
Without pressing the "Show Tracklist" button the tracklist now always appears unformatted. Seems Mixcloud removed their old styles this extension relied on. Bummer.
Thanks to @perryharlock for reporting.
The tracklist on Mixcloud's new (Beta) website is displayed with a large margin above it (see white space in the first image below). This seems to be due to the clear:both
I've applied to it.
The problem is that without the clear:both
the tracklist is restricted to the main content side of the page which looks even worse.
Applying rubbish workarounds like margin-top:-20px
etc doesn't seem to help.
The .hidden
class has been removed from Mixcloud Beta. This class was used to hide the tracklist so now it always appears. We need a new way to do this.
A 4.0.0
stable release shouldn't be tagged until some UAT has been carried out on the new changes in both the old and the new website to prove it's safe to release into the wild.
First of all thanks for that useful plugin!
I am wondering if it is possible to retrieve the data for example as a json file?
Thanks for your help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.