Code Monkey home page Code Monkey logo

sounddeck's People

Contributors

dependabot[bot] avatar geekyeggo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sounddeck's Issues

Can't clip when 'Encode to MP3' is selected.

There's about a 1/100 chance that I can ever make a clip when the encode option is enabled.

If 'encode to mp3' is enabled it will maybe once and then it will either not work at all or it will take several minutes (read: 10-15 minutes or more) before I can use it again.

Please add a volume slider

Please add a volume slider. I want to set the volume of the tracks before the audio is sent to the Audio Device.

feature request push to talk key

I use push to talk in a lot of games, it would be nice to be able to set a push to talk key, so it could be "held" while the sound clip is playing.

Add default options for playback

It should be possible to select "Default" and "Default (Communications)" for playback devices.

This impacts:

  • Play Audio action
  • Sampler action
  • Set App Audio Device

Improve CI and scripts

The current usage of NPM scripts, combined with OS specific environment variables, makes the project very unwelcoming. This should be streamlined.

Error when using Clip function

I use a wireless gaming headset, when I try to set the clip function to clip last 30 seconds of audio it gives me the exclamation error. I have tried setting it to use the "realtek audio" option which I think is the actual 2.5mm audio headphone jack. When I select this it works, but doesnt record anything as I dont have a wired headset. I have tried setting app preferences to have sound deck use my headset, but unfortunately still nothing. Any suggestions would be appreciated. Thank you

Download doesn't work

When I click Download in my Streamdeck app, it starts the download but never ends
before
after

Windows 11 Dropdown not available

It is not possible to see the dropdown with windows 11. Tried deinstalling and reinstalling. The devices are not shown in the dropdown...

image

Add "Sampler" action

Background

Similar to the GoXLR sampler, it would be nice if there were an "all-in-one" action that enabled recording and playing a sample. As there isn't a "Clear" button, it is worth considering how we overwrite the recorded sample; as a proposal, the flow could be as follows.

Interaction

When... there is not a recording

  1. Recording starts on button down.
  2. Recording stops on button up.

When... there is a recording

  1. User presses button.
  2. User releases button.
    2.1. Within x seconds, audio clip plays.
    2.2. After x seconds, audio clip clears.

Considerations

  • Should clips be saved to disk, or stored in memory?
  • When stored on disk, should clips be removed when clearing?

Add option to continuously play audio clips

As an enhancement of the Play Audio action, it would be nice if it were possible to continuously play audio tracks within a playlist, without the need to press the button again.

N.B. This option would only be available when using the Start / Stop action.

e.g.

  1. Press button.
    1. Song A plays
    2. Song B plays
  2. Press button
    1. Song B stops
  3. Press button
    1. Stop C plays

Thank you to @Crason8 for the suggestion.

Add option to reset to default device

This plug-in is life changer, but it could be even better with a "default windows device" option in the device list.
With few different device, it could be a pain to manage few apps, it would be useful to be able to reset to default device.

Reduce memory usage requires of audio buffers (clip audio)

Setup

  • Clip actions are buffering for 4 different devices.
  • All buffers have a duration of 30 seconds.

Background

Given the above scenario, the memory usage of Sound Deck is ~240MB to ~260MB, which is quite high given that the average 30 second clip requires approximately 10-15MB of uncompressed bytes.

Change

Sound Deck currently uses a buffer based on time; instead, it should use the AverageBytesPerSecond property provided by NAudio to determine how many bytes should be stored within a fixed sized circular buffer for a given time frame. Additionally, if possible, Sound Deck should utilize Span<byte> to improve memory management.

Cant use pluggin at all

Anytime I record something it gets deleted as soon as I end the recording. the file turns into a .tmp file rather I use the "encode to mp3" or not then just disappears. After a few attempt the "capture device" drop down goes blank and then I'm unable to use the drop down at all to select a capture device. I am completely unable to use the clip audio feature. when I press the button I just get a yellow caution sign on my stream deck. I'm running windows 10 . I just got a stream deck today and would really love to have the audio clipping function thanks!

Add default device option for capture audio actions

Story

It should be possible to select default devices as part of actions that are capable of capturing audio. The audio being captured should correctly record if the default device changes in Windows.

Possible default devices are:

  • Default playback.
  • Default (Communications) playback.
  • Default recording.
  • Default (Communications) recording.

Affected Actions

  • Clip Audio
  • Record Audio
  • Sampler

Related

#48

Ability to "Load last track" when Stream Deck opens

Background

It is possible to have a playlist of tracks within the Play Audio action; these tracks are either played in Sequential or Random order based on the selected PlaylistOrderType. Currently, upon Stream Deck starting (i.e. after a system restart), the first track to be played as part of the playlist will be track one.

Enhancement

It would be nice if there were an option to "Load last track"; this option should be configurable within the Property Inspector, and default to false to ensure backwards compatibility. In the event the option is selected, upon Stream Deck starting, the current track should be set to the "last track" (i.e. the one prior to Stream Deck closing). Upon the button being pressed, the next track should then be actioned.

Notes

This should not automatically resume playing the audio track upon Stream Deck starting; simply the current track should be set, in preparation for playing.

Please add a global Stop

Finally someone who adds a playlist <3 Thank you.
But what I need is a "Stop button" that stops all playing tracks from Sound Deck. To simply push the same button again is not an option for me as I use a multi action that is a collection of global stops for all the other audio stuff happening.
Sound Deck would integrate perfectly with that option on a separate button.

Play first file in folder

Hi,
Just recently got SoundDeck and I think it's great,
I was wondering would it be possible to add functionality to point the play sound to one folder and always play the latest file. The reason I think this feature would be great is so that we can couple it with Clipping audio. We would be able to clip the audio and play back the latest clip to friends, etc.

Set app audio device not working on Windows 11

Description

  • The devices list does not load for the "Set app audio device" action on Windows 11.
  • The "Set app audio device" fails with a warning icon on Windows 11.

Cause

There were interoperability changes to Windows 11 that are resulting in Sound Deck being unable to instantiate the IAudioPolicyConfigFactory. This factory is required to enable the changing the audio device of an application.

Reading

The only other known application to provide pragmatic switching of audio devices for applications is EarTrumpet, however initial tests have been unsuccessful within Sound Deck.

Update 5.0

Hello there,

I know the update just came out less than 24 hours ago but, I saw a missed opportunity when I watched the update video and actually went through the new Music tab. I saw that there is no native way to play the songs that they have on a loop without a work around by using multi-action and delays. I found your app just to see if there is an app already available that does just that.

I was wondering if you were thinking about adding support for the streamdeck audio file type?

Thank you for your time!

Ogg Audio Support

Please add support for the Ogg Audio format, NAudio appears to support it. <3

Play/Pause?

Under actions, I don't see a Play/Pause option. Is this not possible? I would like to Play/Pause/Play a track in a sequence.

Example use case: When streaming, switching to one scene using a Multi-Action on the StreamDeck would pause the music, and then returning to that scene would resume (play) the music (using another Multi-Action).

Not recording any sound

Hi what ever source I pick there is no recording off any sounds.

There are files but only 58 bytes (58 bytes) big.

Could you help me?

Clip audio fails on initial setup

Replication Steps

  1. Create a "Clip Audio" action.
  2. Select a capture device (NB. there cannot be another action on the Stream Deck capturing the same device).

Expected Results

  • The "Clip Audio" action does nothing until a capture device, duration, and output path have been specified.
  • When all options are present, pressing the action results in the clip saving.

Actual Results

  • After selecting the capture device an exception is thrown.
  • The Stream Deck must be restarted before clipping works for that device.

SoundDeck Play Audio: Long press resets play next / cooldown?

I have a series of sound effects that only make sense in close context, that play after one another.

I need an easy way to 'reset' the button for the next time I do the bit/gag.

What would be ideal, is an option for a cooldown, e.g. if it's been longer then a minute or something, reset to the start when i hit the button again.

elsewise, longpressing the button could force the first track to play?

Add overlap option to play audio

In the interest of chaos, it would be fun if the "play audio" action could be continuously pressed to play the audio files in the playlist. The action would be labelled "Play / Overlap", and pressing the button would play the next track, with no regard for the current.

Should we need to stop the chaos, the "Stop Audio" action should stop all audio.

time gap between mp3 recordings

Hi,
I'm Michael and I use the Elgato Stream Deck with your plugin "Sound Desk". The plugin works really well and I am very happy with it.

I have a question about what I can do to make better use of it:

My problem is this:
I am recording several MP3 files. Each recording takes about 20 minutes. When I stop the first recording and immediately start the recording of the second file, everything seems to be fine. The Stream Desk shows the correct status with the small symbols.

But: The second recording is missing the first 15 seconds.
It seems to me that after stopping the first recording, the plugin encodes the this recording into mp3 and then saves the file. This process probably takes about 15 seconds. After this has finished the second recording will be started.

Is there a possibility for me to record several mp3 files without a time gap in between?

Toggle Option

Would it be possible to have a toggle option on the Set app audio device, so it can switch back to the previous option. For example, I have an output for speakers, when not streaming, and when I am streaming, I switch to a different output. Currently this is on two buttons but it would be great if it could be a toggle perhaps?

PLEASE ADD MAC SUPPORT

I ech virtual shows and work production and but im on a mac can you please add support for macthank you so much

Add Textfile Output for Currently Playing Audio

As a streamer it would be useful to have the currently playing audio file output the title and artist to a textfile which could then be picked up a program like OBS to display on stream.

Is that something that is possible?

Play Clip "Loop All / Stop" action

Description

The current Loop / Stop action relates to a single file; it would be nice if there were an option to loop the entire playlist as well.

Expected Behaviour

Setup

  • With a playlist of n files.
  • And an action of "Loop All / Stop"

Interaction (Action Presses)

  1. Plays clips 1..n in order, looping back to 1..n, etc.
  2. Playback stops.
  3. Loop resumes from beginning (see step 1)

Origin

Request from @SunsetsBrew on Twitter - Thank you!

An an action to allow for setting app audio device

Similar to Windows "App volume device preferences", having an action that would allow for quickly swapping actions would be useful. As a minimum.

  • Allow the user to specify the process name.
  • Allow the user to use the foreground process.

"Clip Audio" actions only start recording when they become visible

Replication Steps

  1. Create a "Clip Audio" action in a folder (set duration to 15 seconds)
  2. Close Stream Deck.
  3. Open Stream Deck.
  4. Wait 15 seconds.
  5. Navigate to the "Clip Audio" action, and press it.

Expected

  • The last 15 seconds of audio should be captured.

Actual

  • The audio buffer is initialized when the action becomes visible, and therefore starts recording later

Proposal

A collection of required buffers and their durations should be kept in the global settings; upon the plug-in initializing, these buffers should begin recording.

Play Audio - Play from Folder

For the Play Audio action, it would be awesome if we could just point it at a directory and play through audio files in that directory, instead of adding files in individually. This way, when adding new tracks to a playlist, we wouldn't need to go update the action in Stream Deck.

Improve decoupling of audio players, and playlists

To enable better support for playlist sources, i.e. folders (#25), the concept of a PlaylistPlayer should be decoupled further. Instead, maybe the concept of a PlaylistController could be introduced.

PlaylistController
+ IAudioPlayer { get; set; }
+ Playlist { get; set; }
+ NextAsync();

A lot of properties required from the current protected IAudioPlayer are exposed as new properties on a PlaylistPlayer; this creates a lot of duplicate properties and events. Instead the required actions could simply hook into the audio player.

Switching Back to source Profile/Page in Stream Deck Stops Audio

As above, to re-create the issue:

  1. Create two profiles or pages (A and B) and add a play action (any action will work) on profile/page A with any music.
  2. Use the play action button and navigate to profile/page B (via an assigned Stream Deck button or via the desktop app)
  3. Navigate back to profile/page A
  4. Audio ends

I can confirm that this happens in both the current release and the beta version linked by @GeekyEggo in Issue #59

New action, "Play Folder"

Purpose

This issue aims to centralize the discussion of adding a new action that allows users to play audio from a folder.

Overview

It should be possible, from a new action, to select a folder, and then play audio from that folder when pressing the action. The action should provide a lot of the functionality seen within the existing "Play Audio" action, i.e. device selection and playback action.

Options

  • Playback Device
    • Should include "Default" and "Default (Communications)"
    • Show list all other playback devices.
  • Folder
    • The folder that contains the audio files.
  • Files
    • All(default)
    • First (fulfils #38)
    • Last
  • Order
    • Date created
    • Date modified
    • File name (default)
    • Random
    • Title (ID3 tag)
    • Track Order (ID3 tag)
  • Action
    • Play / Next (default)
    • Play / Stop
    • Play All / Stop ¹
    • Loop / Stop
    • Loop All / Stop ¹
    • Loop All / Stop (Reset) ¹

¹ Only available when the files selection is "All"

Requirements

  • The action must be able to play audio similar to the "Play Audio" action.
  • The action must automatically detect file changes for the selected folder.
  • The action must support the following file formats
    • MP3, *.mp3, *.mpga
    • OGG, *.oga, *.ogg, *.opus
    • WAV, *.wav

References

  • #25 Play Audio - Play from Folder
  • #38 Play first file in folder

Fade In/Fade Out?

It would be fantastic if we could set audio to fade in/out when button is pressed.

Looping Samples?

It would be awesome if there was a way to loop samples captured in the sampler!

Debugging and getting started for SoundDeck

I know C# & Type/Javascript, however due to jumping in and out of multiple community projects, I don't have a lot of experience in any specific tool for initially setting up a repository.

I tried reading over the SharkDeck instructions to try to work out how to fork and jump into SoundDeck development, but didn't have a lot of luck in setting up the build / debug environment.

I'm sure I could spend a few hours dicking about and getting it working, but it'd help me and others if there was a simple walkthrough on how to get started.

This is the error I'm currently getting.

image

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.