OpenProducer / newspack-platform

Newspack is an open-source publishing platform built on WordPress for small to medium sized news organizations. It is an “opinionated” platform that stakes out clear, best-practice positions on technology, design, and business practice for news publishers.
Other
8 stars 3 forks source link

Persistent audio player #22

Open gusaus opened 4 years ago

gusaus commented 4 years ago

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

gusaus commented 4 years ago

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

gusaus commented 4 years ago

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 commented 4 years ago

As we're now including Radio Station plugin in the MVP OpenProducer/newspack-platform#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 commented 4 years ago

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.

tonyzeoli commented 4 years ago

P.S. The free player will probably come within the month, if all goes according to plan.

On Fri, Apr 17, 2020 at 6:10 PM Gus Austin notifications@github.com wrote:

As we're now including Radio Station plugin in the MVP OpenProducer/newspack-platform#11 (comment) <OpenProducer/newspack-platform#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 https://github.com/tonyzeoli's model to sustain, but at the same time there are multiple projects we could already include or build upon netmix/radio-station-pro#33 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.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <OpenProducer/newspack-platform#22>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA65WO7KNJWOT4M5R34VUHDRNDHVNANCNFSM4K3YYPDA .

gusaus commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

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 OpenProducer/newspack-platform#9 OpenProducer/newspack-platform#9 OpenProducer/newspack-platform#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 OpenProducer/newspack-platform#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 commented 3 years ago

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 commented 3 years ago

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

gusaus commented 3 years ago

Closing this down as we can use the player included with Radio Station plugin. OpenProducer/newspack-platform#6

gusaus commented 2 years ago

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 commented 2 years ago

Following up on https://github.com/OpenProducer/newspack-platform/issues/8#issuecomment-1161071844, 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 commented 1 year ago

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 https://github.com/10up/simple-podcasting/issues/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 https://github.com/OpenProducer/newspack-platform/issues/8 and https://github.com/OpenProducer/newspack-platform/issues/9).

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

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

majick777 commented 1 year ago

@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 commented 1 year ago

@majick777 Thanks for the detailed response to my very brief update in https://github.com/OpenProducer/newspack-platform/issues/22#issuecomment-1291067688

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 commented 1 year ago

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

Colors

Radio options

Podcasts

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

Audio posts

Preload audio posts containing an audio content

Custom playlist

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

tonyzeoli commented 1 year ago

Let’s do that but wait til thinned settle down after this week.

On Mon, Nov 7, 2022 at 5:28 PM Gus Austin @.***> wrote:

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

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.

— Reply to this email directly, view it on GitHub https://github.com/OpenProducer/newspack-platform/issues/22#issuecomment-1306314141, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA65WO3IHN4X4KKUETWA4S3WHF67HANCNFSM5SDSFJDA . You are receiving this because you were mentioned.Message ID: @.***>

-- Sent from Gmail Mobile

gusaus commented 1 year ago

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/? https://github.com/OpenProducer/newspack-platform/issues/22#issuecomment-1306314141

Will it support AzuraCast? https://github.com/OpenProducer/newspack-platform/issues/8#issuecomment-1161071844

Will it be free?

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

majick777 commented 1 year ago

@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 commented 1 year ago

Tony,

To your point, Azuracast is based on Playlist generation and not Shows with Episodes. That is more in the Libretime camp, which is more the obvious priority integration before Libretime.

On the PRO add-on side of things, there are a number of proprietary station automation systems, but remember that there was that company in Australia building that API software to talk to these playout systems. I forgot the name of it now, but something to look into in the future.

On Wed, Feb 1, 2023 at 10:42 PM majick777 @.***> wrote:

@gusaus https://github.com/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.

— Reply to this email directly, view it on GitHub https://github.com/OpenProducer/newspack-platform/issues/22#issuecomment-1413109675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA65WO3GQOTLZMEZUCJJSBLWVMUJJANCNFSM5SDSFJDA . You are receiving this because you were mentioned.Message ID: @.***>

majick777 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

@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 commented 2 months ago

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 commented 2 months ago

After testing the player enhancements (described in this PR https://github.com/10up/simple-podcasting/pull/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 https://github.com/10up/simple-podcasting/pull/272#issuecomment-2168086424

Referencing here as additional enhancements in the works include the ability to have the player docked to header or footer location on site https://github.com/10up/simple-podcasting/issues/299

Reading back through some of the earlier discussions (for example https://github.com/OpenProducer/newspack-platform/issues/22#issuecomment-1291473185), we should probably keep Radio Station and Simple Podcasting in separate repos so we can make sure they each play well with Newspack.