Comments (13)
Thanks for the feedback. Yes, the name is similar but the codebase is not a fork from that utility. There may be similarities mainly because each of these tools are trying to achieve a similar goal but my intent was not to take the code from that project. I mentioned in a different issue discussion that at the time when I built the first release, I don't recall the other keepalive tool being open source.
I have not looked into having this utility target specific playback devices. As of right now this utility makes use of the Microsoft SoundPlayer class which I made an assumption which could entirely be wrong in that this makes use of the Windows sound mixer and therefor sits a level above playing directly to a specific sound card/device.
I'm also not familiar with managing individual sound devices but this could be an interesting feature to add. If there is an option for the user to target one or more (or all) sound devices, this could help your setup and situation. I can try it on the feature branch and see what happens but I may need your help in testing to make sure it works as you might expect.
from spdif-ka.
Yes, the guy from spdif-keepalive actually just released the source code (so there's nothing bad in using it if it helps, but I don't think it has more functionality, except maybe the running on Windows login (I didn't find an option for that in Spdif-KA)?).
Very happy to help you test the sound device selection. Just let me know when you have something ready. I have Visual Studio 2017 so I can compile your feature branch myself for testing to make things easier.
from spdif-ka.
For a more suitable audio library, check out:
https://github.com/naudio/NAudio
http://stackoverflow.com/questions/5868966/play-a-sound-in-a-specific-device-with-c-sharp
Among the features:
- Work with soundcards
- Enumerate devices
- Access sound card controls and metering information
There is a nuget package.
from spdif-ka.
I have not coded anything for running at Windows login. I'll take a look at the other tool and see what that is and how it works and I can add an issue to track adding it.
I need to upgrade to VS 2017 and then I'll test this project to make sure everything is working so that I don't add any extra work on your end of things. Thank you for the links and suggestions for managing individual audio devices. I'll read through and start working on some changes in a feature branch. I'll let you know when I have something to try.
I have a couple other sound devices I can test with but only one of them actually has an SPDIF connection to my receiver. My hope is that if I can enumerate them and customize playback then it should work regardless.
from spdif-ka.
Don't bother upgrading to VS 2017 now if not needed on your end, your project should already be loadable as is.
I don't have any SPDIF connection myself (my problem is through DisplayPort USB-C Intel HD Audio), but as long as a test song is played through the device, it should work for our purpose.
from spdif-ka.
except maybe the running on Windows login (I didn't find an option for that in Spdif-KA)
In my opinion, for portable applications such as this, it's OK (and arguably preferable) for them not to make system changes such as adding things to Windows startup. In cases like this, where you just have a single executable, it's easy to put that executable wherever you want it to be, right-click it and choose 'Create shortcut', and then place that shortcut into the 'Startup' folder in your Start Menu. (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp)
from spdif-ka.
@ngreyling True, I also don't like unwanted autoruns or programs that leave dust on the PC. But adding this feature would just be a matter of writing a registry key pointing to the current executable, or a scheduled task, or a shortcut to the StartupPrograms menu, which could be enabled or disabled with a single checkbox as with the other SPDIFKeepAlive implementation, which could be enabled optionally for added convenience.
from spdif-ka.
It would also be possible to set it up as a service, but not sure if this would provide any special benefit.
from spdif-ka.
To the point @ngreyling made, I copy the executable to my C:\Program Files and and then create a shortcut in the StartUp folder to start it on boot. I can research other ways to have this utility started on windows logon. I actually like the idea you suggested @mayerwin regarding another checkbox that can add in the shortcut into the StartUp programs folder. This seems very simple and unobtrusive.
I would like to keep this as light-weight as possible unless there are solid benefits that can be identified. The idea of making a service is a little less appealing but that could be due to my ignorance with the benefits of going that route. In any case, many of the users of this utility are already in a niche area like us so creating the shortcut as a manual task isn't a burden for the short term.
from spdif-ka.
I have implemented in my fork all the features and bugfixes related to the issues I raised, and will push a PR soon, however could you tell me how you create a standalone exe?
I also could not use the file to sign the assembly as it asks for a password (but I guess this is not essential on my end).
from spdif-ka.
OK, it seems you just used the standard exe file since you did not have any dll in the output directory anyway. I have added an ILMerge task to the project to automate creating a standalone exe including dll dependencies (just NAudio.dll).
from spdif-ka.
Thanks a bunch for working on all the new features and changes.
When I create the .exe I just do this from the vVisual Studio menu by doing a clean, then a build. I don't do anything special. Thanks for creating the task for creating the standalone exe. I admit I'm not familiar enough with building windows applications so I'm not familiar with this. I'll read up on it.
from spdif-ka.
Fixed with #31
from spdif-ka.
Related Issues (20)
- Provide option to use 'Silence' to keep audio channel open HOT 7
- Digital Signature on the release executable HOT 8
- Restored window made active HOT 1
- Sync title bar icon with notification tray.
- Minimize to task bar and close causes minimize HOT 2
- Missing red icon. HOT 1
- Incorrect version number displayed.
- Not working on computer waking up from sleep HOT 2
- Notification area icon initializes with the old icon
- Inconsistent capitalization of text on StartStop button
- Add ability to have this application start at Windows Logon HOT 1
- Remember window position between sessions
- Restore and activate existing instance if it's already running HOT 1
- After S3 Sleep restart the tool HOT 4
- Choose audio device HOT 2
- Doesn't stay active in Windows 10 r1803 HOT 8
- Permanent startup errors in Windows Events HOT 1
- Doesn't work on W10 20H2...tried all settings HOT 1
- Not an issue but a thank you
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spdif-ka.