Giter VIP home page Giter VIP logo

Comments (13)

handruin avatar handruin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

handruin avatar handruin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

ngreyling avatar ngreyling commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

@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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

handruin avatar handruin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

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.

handruin avatar handruin commented on August 27, 2024

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.

mayerwin avatar mayerwin commented on August 27, 2024

Fixed with #31

from spdif-ka.

Related Issues (20)

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.