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

Widget: Audio #52

Open
joepavitt opened this issue Jun 23, 2023 · 11 comments
Open

Widget: Audio #52

joepavitt opened this issue Jun 23, 2023 · 11 comments
Labels
Dashboard 1.0 This is a feature of Dashboard 1.0 that has not yet been migrated to Dashboard 2.0 feature-request New feature or request that needs to be turned into Epic/Story details size:L - 5 Sizing estimation point widget This issue details a new widget request

Comments

@joepavitt
Copy link
Collaborator

Description

Description from Dashboard 1.0:

Screenshot 2023-06-23 at 22 10 45

Properties

Properties from Dashboard 1.0:

Screenshot 2023-06-23 at 22 10 33r

Events

Not sure we need any events, this node would likely have 0 outputs.

Controls

  • enabled: this widget can be enabled/disabled

Existing Examples

Existing Dashboard 1.0

Have you provided an initial effort estimate for this issue?

I have provided an initial effort estimate

@joepavitt joepavitt added needs-triage Needs looking at to decide what to do feature-request New feature or request that needs to be turned into Epic/Story details widget This issue details a new widget request labels Jun 23, 2023
@joepavitt joepavitt added the size:L - 5 Sizing estimation point label Jun 23, 2023
@joepavitt joepavitt moved this to 📌 Must Have in Dashboard Backlog Jul 28, 2023
@joepavitt joepavitt moved this from 📌 Must Have to 💡Should Have in Dashboard Backlog Jul 28, 2023
@MarianRaphael MarianRaphael moved this from 💡Should Have to Up Next in Dashboard Backlog Aug 3, 2023
@joepavitt joepavitt removed the needs-triage Needs looking at to decide what to do label Oct 5, 2023
@joepavitt joepavitt moved this from Up Next to Backlog in Dashboard Backlog Oct 17, 2023
@joepavitt joepavitt added the Dashboard 1.0 This is a feature of Dashboard 1.0 that has not yet been migrated to Dashboard 2.0 label Nov 24, 2023
@chrismahoney
Copy link

I am most likely going to need this after having stumbled upon the 2.0 package in the palette manager, if I do and make headway I'll update here.

@haichenzhu
Copy link

looking forward to having this feature available on dashboard 2.0

@bartbutenaers
Copy link
Contributor

The ui-template solution from @Steve-Mcl (see this discussion on Discourse) is a useful temporary workaround, and might be a good starting point for a core ui node.

@bartbutenaers
Copy link
Contributor

@joepavitt
If you want you can also assign this one to me. Will have a look at it as soon as I find time.

@Steve-Mcl
Copy link
Contributor

Not sure we need any events, this node would likely have 0 outputs

It would be useful to have output events like playing, stopped, finished etc for understanding state and for performing actions upon state. E.g. when stopped, your flow could qué a new random song. When finished, your flows might unlock a Step2 in a audiobook story etc.

1 similar comment
@Steve-Mcl
Copy link
Contributor

Not sure we need any events, this node would likely have 0 outputs

It would be useful to have output events like playing, stopped, finished etc for understanding state and for performing actions upon state. E.g. when stopped, your flow could qué a new random song. When finished, your flows might unlock a Step2 in a audiobook story etc.

@bartbutenaers
Copy link
Contributor

It would be useful to have output events

@Steve-Mcl,

  • I thought that there would be something like a single (invisible) audio player, bound to the ui (similar to the ui-notification node). Because it seems to make sense to me that you only listen to a single audio source.
  • Or do you mean that you can add an audio player to every group (similar to e.g. a ui-button), and that it can be visible or not:
    image
    And that both the user actions and the audio state changes will be send as output messages.

@Steve-Mcl
Copy link
Contributor

Either way Bart. I am just stating knowledge is power 😇

@bartbutenaers
Copy link
Contributor

Thanks Steve for that lousy advise 😂

I created a draft implementation last night for the first option. It works but it offers very few flexibility. So I will change it to option 2...

@Steve-Mcl
Copy link
Contributor

IMHO, so long as the status is available (playing, position, length, finished) is available in some form (either as an output of the node or via ui-control or some other means), I can make decisions based on it. It can be super basic to start with so long as it is extensible (future proof, i.e. outputs an object). Everything else is up for grabs mister :)

@bartbutenaers
Copy link
Contributor

bartbutenaers commented Nov 28, 2024

@Steve-Mcl (and others of course...)
Making progress but now doubting a bit:

  1. I assume the "value" of this widget is the src, so that should be applied via the msg.payload (instead of via msg.ui_update.src). Is that correct?
  2. I need to be able to start/pause/stop the audio via input messages. Do I need to do that via msg.ui_update.state or some other way perhaps?
    [EDIT 1]: Although the ui-notification node for example (see here) does use msg.show instead of a dynamic property. So perhaps I should also do something similar...
    [EDIT 2]: I will do it like the ui-notification node. It makes no sense at all to store the play/pause/stop commands in the dynamic properties. It is volatile information that I will need to store in some or another msg property.

@bartbutenaers bartbutenaers mentioned this issue Nov 29, 2024
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dashboard 1.0 This is a feature of Dashboard 1.0 that has not yet been migrated to Dashboard 2.0 feature-request New feature or request that needs to be turned into Epic/Story details size:L - 5 Sizing estimation point widget This issue details a new widget request
Projects
Status: Backlog
Development

No branches or pull requests

5 participants