geekyeggo / sounddeck Goto Github PK
View Code? Open in Web Editor NEWSound Deck is a powerful audio-focused plugin for the Elgato Stream Deck.
License: GNU General Public License v3.0
Sound Deck is a powerful audio-focused plugin for the Elgato Stream Deck.
License: GNU General Public License v3.0
The current usage of NPM scripts, combined with OS specific environment variables, makes the project very unwelcoming. This should be streamlined.
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?
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.
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.
This should not automatically resume playing the audio track upon Stream Deck starting; simply the current track should be set, in preparation for playing.
For example your Speaker and a virtual audio cable
The only function that Sound Deck isn't working here, is the Set App Audio Device, I can change the title, process but Audio Device does not have any of my audio devices, shows nothing :c
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?
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.
I ech virtual shows and work production and but im on a mac can you please add support for macthank you so much
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?
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.
Thank you to @Crason8 for the suggestion.
NAudio v2.0.0 was recently released and adopts a more modular approach to how the libraries are packaged; this is good, and aids in the hopeful intention of being able to update SoundDeck to .NET (i.e. cross platform) in the future.
https://github.com/naudio/NAudio/releases/tag/v2.0.0
https://markheath.net/post/naudio-2-plans
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!
The csproj for SoundDeck.Plugin.Windows
currently uses an older format, as it's a .NET Framework project. If possible, it would be beneficial if the project were brought up to date to enable better CI with GH actions, and dotnet
.
The default audio device is not available in the audio device list
Would be useful if incase wanna switch from a virtual output to your current default audio device
It should be possible to select "Default" and "Default (Communications)" for playback devices.
This impacts:
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.
When... there is not a recording
When... there is a recording
As above, to re-create the issue:
I can confirm that this happens in both the current release and the beta version linked by @GeekyEggo in Issue #59
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
This issue aims to centralize the discussion of adding a new action that allows users to play audio from a folder.
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.
¹ Only available when the files selection is "All"
Similar to Windows "App volume device preferences", having an action that would allow for quickly swapping actions would be useful. As a minimum.
Pending info
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.
Using Sound Deck to change audio - Audio Device choice drop down remains empty. Stream Deck 5.1
Using 'Play Audio' or other buttons DOES show Audio Device.
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.
n
files.1..n
in order, looping back to 1..n
, etc.Request from @SunsetsBrew on Twitter - Thank you!
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.
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.
Please add support for the Ogg Audio format, NAudio appears to support it. <3
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.
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.
Add the ability to control the volume of the playback of a sampler; this should be achieved via a slider, similar to the play action playback.
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.
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.
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.
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.
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).
It would be fantastic if we could set audio to fade in/out when button is pressed.
Please add a volume slider. I want to set the volume of the tracks before the audio is sent to the Audio Device.
It would be awesome if there was a way to loop samples captured in the sampler!
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:
For actions like Play All/Stop, Loop All/Stop and Loop All/Stop (Reset), the Stop Audio button just moves on to the next track in the queue rather than ending the audio.
Is this intended functionality?
https://www.reddit.com/r/StreamDeckSDK/comments/mfxf0i/is_there_a_way_for_a_plugin_to_intercept/
It would be useful to have basic logging for the following events;
All events should include a date time stamp.
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!
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.
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.
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?
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.
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?
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.
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.