audiorouterdev / audio-router

Routes audio from programs to different audio devices.
GNU General Public License v3.0
3.54k stars 418 forks source link

Compiling fixes, code cleanups, right clicking tray icon shows menu (started where fretelweb's PR left off) #53

Closed wolfreak99 closed 7 years ago

wolfreak99 commented 7 years ago

I wanted to be able to use the tray icon PR posted but had some issues compiling it, so I originally just updated the solution and fixed a couple of compiling issues. However, as I used the tray icon version for a while, I wanted to be able to exit the app via right clicking the tray icon. So I added that, along with cleaning up the code in an attempt to find where the tray functionality was located. (because i was too stupid to actually just look at fretelweb's code changes in the first place, and would have found the commented out section forever ago.)

ezekiel commented 7 years ago

This PR is awesome, any plans to merge, @audiorouterdev ?

@wolfreak99 whether this gets merged or not, do you have a build you'd be willing to distribute?

wolfreak99 commented 7 years ago

It's still a work in progress, but hell yeah i'd be willing to distribute!

I have decided to go ahead and split this PR up into multiple pull requests. This PR will contain the core essentials:

I will still be going through the code and cleaning it up a bit (in fact i have all the now-missing commits from this pull request stored in another pr for this reason), but i will be doing that in another pull request or two. I am still situating this all out, as i posted this thinking i'd be done with it but i figured afterward i'd stick around and crank some clean code out too.

My main concern is an event where the dev has a lot of stuff saved locally, and I'm hoping that branching these off will allow him to rebase his work. I am not sure if he will be coming back though, this could have been abandoned. If he does not respond for a month or so, i'll look into what i can do.

Once i get this planned out and organized more, i will send you a build, @ezekiel . If I don't get this stuff worked out by tonight, I will post a build of this pr as it is now. (You won't lose much, aside from a clean source code and maybe very small performance boosts that you probably wouldn't even see)

rijvirajib commented 7 years ago

@wolfreak99 From comments and Reddit, this project is no longer maintained.

wolfreak99 commented 7 years ago

@rijvirajib Are you for real? Was there any reason why it was abandoned? I can see through the code theres some bits here and there that were actually commented out such as "tab support" (not sure what it means), and even the ability to save routing info, they may have had some bugs, but i don't get why he would have quit (unless assuming the code formatting eventually caught up with the dev. bad coding styles lead to headaches down the future from what i've learned over the years)

rijvirajib commented 7 years ago

@wolfreak99 Can't find a reason. Even has a Paypal link that seems valid. The project is too useful and I wish Windows had this built in. Whenever you get a binary up, please do post it. Maybe you can become the new maintainer?

wolfreak99 commented 7 years ago

Release_Win32.zip Release_x64.zip

Here are the builds of from my fork based on the develop branch. I plan to have the develop branch have all of the commits on it. I'm hoping to find a auto-formatter, right now i'm looking at uncrustify. I'm planning to use a tool to automate formatting and whatnot instead of me manually doing it because I am worried i may switch up styles too much or break something.

Once this gets done, I will be able to start working on some new features, along with testing some of the commented code out and seeing what all it does, the dude used to have a automatic routing functionality that sounds useful, but is commented out so I would like to see if I can take it and fix it if possible.

A couple of other things i would like to do would be to move the mute outside of the triangle dropdown box, show the process title name inside the second view layout, make the window (optionally) resize itself appropriately, and most importantly create some form of options interface.

Considering I'm pretty much shooting for the stars here considering I don't know much CPP, I've also had a thought of exporting the core functionality through cpp, and just writing the interface in c#, that way i won't disturb or break any of the core components needed.

fretelweb commented 6 years ago

screenshot_3