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

Persistent audio player #22

Open
gusaus opened this issue Feb 26, 2020 · 27 comments
Open

Persistent audio player #22

gusaus opened this issue Feb 26, 2020 · 27 comments
Labels
is: feature request radio station status: needs specs This task needs additional specifications.

Comments

@gusaus
Copy link
Contributor

gusaus commented Feb 26, 2020

We need an audio player with the following features/functionality -

  • Customizable
  • Live Streaming
  • Analytics and Reporting
@gusaus
Copy link
Contributor Author

gusaus commented Feb 26, 2020

Newspack plugin provides the following blocks and embeds -
Edit Post ‹ Newspack — WordPress - Mozilla Firefox 2020-02-25 16-50-52

@gusaus gusaus changed the title Audio Audio player Feb 28, 2020
@gusaus gusaus added the status: needs work This issue needs work label Apr 9, 2020
@gusaus
Copy link
Contributor Author

gusaus commented Apr 9, 2020

Keeping this issue open until we're able to include some sort of sticky audio player in our MVP.

Couple options we're looking at -

@gusaus
Copy link
Contributor Author

gusaus commented Apr 17, 2020

As we're now including Radio Station plugin in the MVP #11, it would be great to include the streaming player in the works

Problem there is we would like to include a player that is freely available. Obviously we don't want to interfere with @tonyzeoli's model to sustain, but at the same time there are multiple projects we could already include or build upon https://github.com/netmix/radio-station-pro/issues/33.

With projects we're already including or planning to integrate (LibreTime, AzuraCast, and Newspack) already providing or having a similar need, I'm wondering if there are ways to could pool resources (dev and funds) for a freely available solution we could include.

@tonyzeoli
Copy link

tonyzeoli commented Apr 18, 2020 via email

@tonyzeoli
Copy link

tonyzeoli commented Apr 18, 2020 via email

@gusaus
Copy link
Contributor Author

gusaus commented Apr 21, 2020

In Radio Station, we will have a free player, but it will be a sidebar widget (or block) and not a sticky footer player, which will be in PRO.

I'd like to include the free player in the MVP and then direct resources towards making improvements with a paid beta https://github.com/OpenProducer/openproducer-platform/issues/11

Ideally with the same devs making the Radio Station player leading the effort.

@gusaus gusaus changed the title Audio player Sticky audio player Apr 28, 2020
@gusaus
Copy link
Contributor Author

gusaus commented May 4, 2020

We're having a parallel discussion on sticky player options in the LibreTime forum -
https://discourse.libretime.org/t/custom-audio-players/140/22?u=gusaus

I'd like to see if we can work towards a solution we can share between projects and direct resources towards making that happen.

@gusaus
Copy link
Contributor Author

gusaus commented May 27, 2020

Copying over some related discussion from the LibreTime forums -

from @Robbt with regards to my question about if this should be stand-alone project https://discourse.libretime.org/t/custom-audio-players/140/25

I think that Radio station plugin is a separate project in and of itself but the web player plugin they are developing should be stand-alone and at the same time compatible with LibreTime and other radio streams.

from @majick777 https://discourse.libretime.org/t/custom-audio-players/140/29

I am playing with some code to try to use a common HTML element structure and styles for the player, but with the option of using one of a number of different javascript libraries for the player script. (Amplitude, Jplayer, Howler, Media Elements.) I’m doing the coding in a WordPress context but depending on what I end up it may be useable or modifyable for other platforms.

As for the continuous playback, yes that is a potential solution I am keen to pursue. The History API transition loading would be a cool WordPress plugin in it’s own right, as not having to convert your WordPress site to a headless javascript loading one just to make that happen is a real plus.

But I haven’t yet tried combining those with a Sticky Element. There is an additional challenge… Since with this method the current player could be “within” each of the loaded pages, there needs to be some additional code to communicate between player instances so that the any newly displayed player controls would be able to pause the existing player audio.

Further from this would be later solving the problem of possibly having multiple tabs playing audio from a site… There are websockets and things to communicate between windows and stop a stream in another player so this shouldn’t be too hard either, but that gives you an idea of what needs to be solved over time.

Me https://discourse.libretime.org/t/custom-audio-players/140/30

Most of this is over my head (even with coffee) but my takeaway is there’s some overlap with what’s on the Radio Station/WordPress roadmap and needs of both LibreTime and AzuraCast.

Would it be possible to scope out x-project solution?

from @majick777 https://discourse.libretime.org/t/custom-audio-players/140/31

As I go I’m trying to write it in a way that works both within WordPress and without it, but this means adding a bunch of extra functions and function checks just to replicate some of what WordPress does already. Am making good headway though.

...and some related discussion in #9 #9 #9

Based on these discussions it seems like @majick777 & @tonyzeoli are making progress on player(s) that will be included in the Radio Station plugin https://github.com/netmix/radio-station.

As noted in #9

What if we identified a common set of features and developed the player as a separate project - which could then be modified and included with LibreTime, AzuraCast, and even Radio Station PRO.

Instead of having one company responsible for developing and maintaining, we could pool resources (contributors, funds, and open-source code).

Could the same team working on the Radio Station player(s) properly scope this out (including budget requirements) take the lead on this?

Assuming all the projects involved are on Open Collective, there's a good bit of flexibility in terms of how to channel funds from users/supports to contributors.

@gusaus
Copy link
Contributor Author

gusaus commented Dec 16, 2020

This player https://pro.radio/theme-features/radio-player/, part of the WordPress Pro.Radio & OnAir2 themes, integrates with AirTime/LibreTime provides good inspiration for a stand-alone player.

@gusaus
Copy link
Contributor Author

gusaus commented Mar 17, 2021

With complimentary projects (and funders) participating, FundOSS could provide an opportunity for anyone interested to develop/release a stand-alone player.

@gusaus
Copy link
Contributor Author

gusaus commented Mar 19, 2021

Closing this down as we can use the player included with Radio Station plugin. #6

@gusaus gusaus closed this as completed Mar 19, 2021
@gusaus gusaus transferred this issue from another repository Mar 31, 2022
@gusaus
Copy link
Contributor Author

gusaus commented Apr 26, 2022

Reopening as I 'think' @tonyzeoli and @majick777 are working on a stand-alone player. Based on the amount of AzuraCast and LibreTime sites using this player I certainly think there's a market opportunity for a player (with comparable features/look) that could be used independently of a particular theme.

Is the player still on the Radio Station roadmap?

@gusaus gusaus reopened this Apr 26, 2022
@gusaus gusaus removed the newspack label Apr 26, 2022
@gusaus gusaus removed the status: needs work This issue needs work label May 12, 2022
@gusaus gusaus added the status: needs specs This task needs additional specifications. label May 12, 2022
@gusaus
Copy link
Contributor Author

gusaus commented Jun 21, 2022

Following up on #8 (comment), I'd like a stand-alone player release to be a primary goal/outcome of our platform beta (see the process).

My first choice would be to enable the Radio Station team to

Possibly the $500 OpenProducer already allocated from last year's FundOSS fundraiser could be used to kick start the project.

With that said, I'd like to hear from @tonyzeoli and @majick777 regarding their current interest and capacity to do this as a stand-alone Netmix/Radio Station project.

@gusaus
Copy link
Contributor Author

gusaus commented Oct 25, 2022

We've decided to include https://github.com/10up/simple-podcasting in both branches as 1) podcasting is a highly sought-after feature for publishers; 2) the following in one of their player enhancements 10up/simple-podcasting#191

Ability to have player docked to header or footer location on site (some prior art with 10up's work on WAMU's site and bottom docked player experience).

It's not clear if their player would support mp3 or aac streams similar to https://pro.radio/theme-features/radio-player/ (see the screengrab below) or if that would require some type of integration (see #8 and #9).

Any thoughts/ideas on the best way to utilize this player?

aac stream | Pro Radio 2022-10-25 12-47-43

@majick777
Copy link

@gusaus The issue from Simple Podcasting you referenced (#191) indicates they are just using the WP core player (ie. "media elements") and looking to improve some cosmetics of their block/shortcode in future. So the limits to their player and what is would support would be the same as those for the core audio player. Also it is not so much just a matter of a player supporting MP3/AAC... it is also about browser support - since all "players" really are doing it relying on the browser method of streaming audio. This is a bit too complex to cover here but I can get into it further if you're interested.

FYI the WAMU site by 10Up is a headless WordPress install, which they needed to do to make the continuous playback possible. The work I've done on the Radio Station Pro player makes this possible without needing to use headless (which requires specific development work and can also be limiting to the types of plugins you can use.) Also, so far as I know the header/footer player on WAMU is part of their custom work and not part of the podcasting plugin, and since they are just starting out with those customizations there is no knowing if/when that will actually happen. (In the meantime, anyone can take an existing player shortcode and put it in a header/footer bar plugin, but that's not really the point, it's more about the player itself.)

Arguably, mixing podcasting and player functionality may not be the best idea anyway. I say that because we have mixed our player in with radio related fuctionality, and realized this tends to limit it's reach and use to that particular audience. As such, we are looking to break the player out into a standalone plugin with just the stream player (and not the other schedule-based functions) for use by other types of non-radio broadcasters (and have a Pro version of that also.)

I haven't had time to test all the podcasting plugins out there lately. They do provide quite a wide variety of differing features, I'm personally wary of jumping on board with a particular solution for a broad area of need - whether that be podcasting, SEO, backups or anything else - for inclusion in a platform/bundle no matter how good it looks, without first testing what else is out there. I know that myself and Tony Z were testing out Blubrry PowerPress sometime back and talking to them on the possibility of cross-integrations, but again, haven't had time to do a real comparison of this with what Simple Podcasting offers.

@gusaus
Copy link
Contributor Author

gusaus commented Nov 1, 2022

@majick777 Thanks for the detailed response to my very brief update in #22 (comment)

The issue from Simple Podcasting you referenced (#191) indicates they are just using the WP core player (ie. "media elements") and looking to improve some cosmetics of their block/shortcode in future. So the limits to their player and what is would support would be the same as those for the core audio player. Also it is not so much just a matter of a player supporting MP3/AAC... it is also about browser support - since all "players" really are doing it relying on the browser method of streaming audio. This is a bit too complex to cover here but I can get into it further if you're interested.

That comment/issue was in reference to the latest bit of on/off a conversation I've been having with @jeffpaul since we started in this Twitter discussion about a year ago https://twitter.com/gusaus/status/1469459601464590336

Without a feature spec (like what we should have in this issue description), I've been sending along examples like https://pro.radio/theme-features/radio-player/ and asking if functionality like MP3/AAC streaming support would/could be included down the line.

While I'm assuming the Simple Podcasting player will function properly across all browsers, my sense from talking with Jeff is their player most likely would not provide streaming support...at least in the near future.

That said, I've removed Simple Podcasting from the radio branch, while keeping it in the newspack branch. Keeping in the latter as podcasting is a sought-after feature for publishers, and Newspack already supports other 10up plugins.

Arguably, mixing podcasting and player functionality may not be the best idea anyway. I say that because we have mixed our player in with radio related fuctionality, and realized this tends to limit it's reach and use to that particular audience. As such, we are looking to break the player out into a standalone plugin with just the stream player (and not the other schedule-based functions) for use by other types of non-radio broadcasters (and have a Pro version of that also.)

I know the standalone player is on the roadmap but haven't touched base with you or @tonyzeoli on the status as well as the feature difference between free and pro. Is there a feature spec or request for the free version in one of the open repos? https://github.com/netmix

Ideally, OpenProducer can help support the development of the free version via the platform beta we're finally gearing up to announce and launch.

Once there's a feature spec (along with a budget goal), we can create a project on our collectives so we can direct and raise funds needed to commence and complete.

Does that make sense?

@gusaus
Copy link
Contributor Author

gusaus commented Nov 7, 2022

With a rather large Radio Station Pro implementation about to go public, I'd like to capitalize on that by launching the pilot and services (see the previous comment) later this week.

With including and contributing to a stand-alone player a primary goal, it would be great if the player was as customizable as the player included in the https://pro.radio/ (but of course not dependant on any theme).

Assuming much of this is either included or referenced in existing issues - but possibly there are some additional ideas here on https://pro.radio/theme-features/customizability-and-options/

Player options

  • Player design (footer or header)
  • Show cover in player
  • Custom player in post contents (replace the default audio block with the custom player)

Colors

  • Background color
  • Text color
  • Accent background color
  • Text on accent background (paylist)
  • Accent hover
  • Track background (for cue)

Radio options

  • Fetch player artworks: try to find the album artwork from iTunes for the known songs

Podcasts

You can automatically preload some podcasts in the player, if they are in MP3 format.

  • Featured podcasts by ID
  • Total amount of podcasts by date

Audio posts

Preload audio posts containing an audio content

  • Featured posts by ID
  • Total amount of posts by date

Custom playlist

Create a custom playlist by uploading the mp3 track directly in the customizer, and setting titles, authors and covers.

@tonyzeoli
Copy link

tonyzeoli commented Nov 8, 2022 via email

@gusaus
Copy link
Contributor Author

gusaus commented Feb 1, 2023

I noticed that @majick777 made an initial commit to https://github.com/netmix/stream-player

Will the player ship with features similar to https://pro.radio/theme-features/radio-player/? #22 (comment)

Will it support AzuraCast? #8 (comment)

Will it be free?

If yes, we'd like to help support development by including in our MVP #25 and our community media pilot https://opencollective.com/openproducer/projects/community-media

@majick777
Copy link

@gusaus Stream Player is a pared down fork of the radio player in Radio Station, but without all the schedule related features. We are simply hoping to reach a different target market with it - basically those searching for streaming audio player (keywords.) As many people looking for an audio player would not think to search for "radio" related keywords.

So yes it will be free and includes all the features the exact same as the existing (free) player in Radio Station, and those will be kept in sync. There will be a Pro version that includes the continous playback bar, that will work the same for Stream Player and Radio Station, called Stream Player Pro (since you are in the Netmix org, you can test that out via the private repo of the same name.) We'll also be releasing Radio Station Plus (again with a private repo), which is a forked pared down version of Radio Station Pro for those on a budget - that doesn't include the Pro player. And with Radio Station Pro of course you get the Pro player, the "Plus" features, and a few more Pro-only features.

We arrived at this variation bundling model because overall we are wanting to better account for the existing overlap between player and scheduling functionality, to give users better options to use and/or pay for what they specifically need. At the same time, we think having the variations demonstrates better all the value that comes in the full Pro package. (I have done a feature comparision with Pro Radio, that is on our salespage when we release the pricing for the different bundle variations. Since that is a theme, it isn't a 1-to-1 comparison, for overall our player already ticks more boxes.)

AzuraCast support is a feature still yet to be be developed, we have had it on our roadmap (either for Pro or as a separate addon) but there are probably a few more priority features that will land in Pro first. We'd be open to funding changing that priority though. It's important to note that the metadata track display for AzuraCast streams already works due to supporting Icecast. So we'd probably want to get more into the nitty gritty of what we'd do with such an integration next. I'd think ieally we'd be able to sync show schedules directly from AzuraCast to Radtio Station, unfortunately, as far as I can tell from what I've discussed with Buster, AzuraCast works more according to playlist timeslots, it doesn't seem to have a more over-arching "show" level that we could sync from/to.

@tonyzeoli
Copy link

tonyzeoli commented Feb 2, 2023 via email

@majick777
Copy link

@tonyzeoli Okay yes we would have to look at LibreTime again then if it does have the more show based option. We might also want to look at whether it's possible to contribute directly to AzuraCast to give it a show selection field. Not something we could expect Buster to prioritize himself but if I do it myself he might accept a pull request.

I think the company was MetaRadio? The issue there though is similar I think, some of those propietary automation system are going to be more playlist-based and others will be more show-based... maybe something we should ask them as they'd already have a good idea about this from creating their API.

@gusaus
Copy link
Contributor Author

gusaus commented Feb 2, 2023

Hey all - really appreciate all the detail!

First off I just wanna be clear...

There will be a Pro version that includes the continuous playback bar, that will work the same for Stream Player and Radio Station

So this seems closer to what we'd want to support and include (assuming it would play AzuraCast and LibreTime streams) if it was free. Would that be possible if we could help raise funds for development and ongoing maintenance?

We'll also be recommending Pro/Premium versions as part of bespoke offerings with partners. But we can't include in the public repo (as I know now) or support.

@majick777
Copy link

majick777 commented Feb 3, 2023

@gusaus The thing is a "Pro" version - or "premium" - implies a purchaseable product. So decidedly not free.
The continuous playback bar is basically the major USP for our Pro Player (Unique SELLING Proposition.)

There are already so many free features included in the player (and yes it plays both AzuraCast and LibreTime streams)... and as you say the premium versions of things wil be part of our bespoke offerings or recommendations. Unfortunately we can't give everything away for free, and our current "raising funds for development and ongoing maintenance" process is selling the main product. We can't rely on fundraising - though of course we can fast-track a specific feature for a sizeable enough donation.

@gusaus
Copy link
Contributor Author

gusaus commented Jun 13, 2024

Considering Radio Station is now included in a fresh install of https://github.com/OpenProducer/newspack-platform/tree/radio (still need to enable and config post install), I'm wondering if we should close this out (considering users have the option to upgrade to multiple paid options (see https://radiostation.pro/pricing/) via the Dashboard (see the screengrabs):

Radio Station is Included in clean install (along with Newspack and dependencies)

Plugins ‹ Newspack Installer — WordPress 2024-06-12 16-39-17

Ability to upgrade (after activation)

Plugins ‹ Newspack Installer — WordPress 2024-06-12 16-43-34 Radio Station – Pricing ‹ Newspack Installer — WordPress 2024-06-12 16-47-11

While there's still a bit of work needed for the sticky player (included with Radio Station Pro or Stream Player Pro) to play well with Newspack (especially if we're planning on including in the setup wizard), I think we can close out this feature request and open up new ones for bugs and enhancements.

@tonyzeoli @majick777 Thoughts or questions?

@gusaus
Copy link
Contributor Author

gusaus commented Jun 18, 2024

After testing the player enhancements (described in this PR 10up/simple-podcasting#272) , I created a new podcast branch (https://github.com/OpenProducer/newspack-platform/tree/podcast) and included the version of Simple Podcasting @jeffpaul was kind enough to provide in 10up/simple-podcasting#272 (comment)

Referencing here as additional enhancements in the works include the ability to have the player docked to header or footer location on site 10up/simple-podcasting#299

Reading back through some of the earlier discussions (for example #22 (comment)), we should probably keep Radio Station and Simple Podcasting in separate repos so we can make sure they each play well with Newspack.

@gusaus gusaus changed the title Sticky audio player Persistent audio player Jun 21, 2024
@jeffpaul
Copy link

FYI some podcast player enhancements in https://github.com/10up/simple-podcasting/releases/tag/1.9.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: feature request radio station status: needs specs This task needs additional specifications.
Projects
None yet
Development

No branches or pull requests

4 participants