New audio switch program for skype and others.

Search This thread

MarceloFB

Member
Oct 8, 2007
30
0
This program is an evolution of the first I made. It will route the audio to the earpiece when an certain program is running.

I put the program here because I have test it in wizard, if people test this in others phones and it works, please post here and maybe move this this thread to an more "generic" forum.

the program MUST be under "\($program files)\audioswitch" folder, you must unzip the contents to this folder.



the configuration file (command.txt) is under this format:

1000
skype
fring
etc

the first line is the delay(in miliseconds) in witch the program will "look" if a program in the list is in the top level window, faster phone, smaller delays, I recommend 1000 ms.

the next 20 lines are the programs you want the audio to be routed to the earpiece(max 20 lines for now).

Again the program is under the "do it on your own risk" and "I am not responsible for anything" licence. And,of course, it is free!! Do not sell it!

It is manly intended for little expert users:), as it is still in "beta" fase, hehehe.

How it works:
the program runs in an eternal loop and look for the title of the current window that is displayed for the user in a time interval.
When the program mach the title window with one of the names user configured it it will switch the audio, when the program is not running anymore, the audio will swich back.

Do not launch two or more instances of the program at the same time, could really mess things up. -- se the forum (thanks tucahara)
To stop the program, u must use a process manager.

it would be good if someone could make a cab to install it. -- done see the forum (thanks tucahara)


this is still a beta, I intend to make ajustments as people give feedback.



Thanks,

hope u like.

-----first update---
now, an file called "audioswitch_error.txt" in the root directory will hold the error messages.

------------ List - Working ------------
wizard - I tested
P3301 or P3300 - I tested
att tilt - I tested
touch 3452 and 3450
touch dual
touch cruise
touch HD
Sony Ericsson Xperia X1
BenQ E72
Titan --> see the forum

------------ List - NOT working ------------
T-Mobile Diamond
HTC Touch by Sprint
Samsung SGH-i780


------------------------------------------------------------------------------------
check the new thread at:
http://forum.xda-developers.com/showthread.php?t=502361
new aproach to do the switch and now open source, even with an class that others can improve and put in other apps...

Some people complain about me not openning the source of the app, I have just made this way because there was proprietary code inside and I had no time to rewrite it without the proprietary code.
I have made the best I could, and now I had some time and rewrite the app in open source, to those who only complain about it, get the code and make it better instead of complaining!

Thanks for all that encourage me to continue the work and helped the development.

will retire this project for while...

thanks u all.
 

Attachments

  • audioswitch.zip
    38.7 KB · Views: 5,464
Last edited:

ejlmd

Senior Member
Jan 11, 2009
238
33
Northern New Jersey
Audioswitch for Skype

On HTC Touch by Sprint (CDMA, also known as Vogue), audioswitch does switch the audio in the Skype 2.5 windows mobile PPC from external speaker to handset. Unfortunately, the microphone is then also disabled. I hope you'll be able to tweak your audioswitch to resolve this.

Thank you so much for developing this wonderful applet. I'm sure you will have the gratitude of many frustrated Skype windows mobile users.
 

MarceloFB

Member
Oct 8, 2007
30
0
What really happens is that when the sound output is switched in some phones, the microphone gain changes too. This happens because the phone thinks it is a "normal call".
Most of the times the mic gain increases, but in your phone it must be decreasing. Try to figure out in registry where the mic gain controls are recorded and chage all of then to the same value. I had this issue with my P3301 and solved this way, but there is quite a time now and I do not remenber where are the reg keys to change, but I have found the information here in the forum.

I will try to figure out for other "hack" to solve this issue... thanks for reply.
 
C

cheyenne

Guest
doesn't work at T-Mobile Compact IV (aka Diamond)
Sound went to loudspeaker....
PS: fring last version working fine with sound at mine phone (without any additional programms). Sound is going to correct destination automatically
 

ejlmd

Senior Member
Jan 11, 2009
238
33
Northern New Jersey
I just tried the latest version of Fring, which automatically switches audio to earpiece when call is connected.

The same issue occurs with the new Fring as I described above with your audioswitch program: I can hear audio through earpiece, but microphone doesn't work (or is inaudible).

I couldn't find a tweak or registry hack to correct this. Any help would be greatly appreciated.
 

JKingDev

Senior Member
Nov 3, 2006
648
16
This program is an evolution of the first I made. It will route the audio to the earpiece when an certain program is running.

I put the program here because I have test it in wizard, if people test this in others phones and it works, please post here and maybe move this this thread to an more "generic" forum.

the program MUST be under "\($program files)\audioswitch" folder, you must unzip the contents to this folder.

the configuration file (command.txt) is under this format:

1000
skype
fring
etc

the first line is the delay(in miliseconds) in witch the program will "look" if a program in the list is in the top level window, faster phone, smaller delays, I recommend 1000 ms.

the next 20 lines are the programs you want the audio to be routed to the earpiece(max 20 lines for now).

Again the program is under the "do it on your own risk" and "I am not responsible for anything" licence. And,of course, it is free!! Do not sell it!

It is manly intended for little expert users:), as it is still in "beta" fase, hehehe.

How it works:
the program runs in an eternal loop and look for the title of the current window that is displayed for the user in a time interval.
When the program mach the title window with one of the names user configured it it will switch the audio, when the program is not running anymore, the audio will swich back.

it would be good if someone could make a cab to install it.


this is still a beta, I intend to make ajustments as people give feedback.


If someone like this program and wants to make an donation... :)
https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4WLQVA6LTKWSL&lc=GB&item_name=marcelofb&item_number=marcelofbxdadonations&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG_global%2egif%3aNonHosted


Thanks,

hope u like.

I have an idea. Rather than regularly polling to see what the current windows is, why not use a windows hook to monitor windows messages. When you see a message indicating a window has come to the foreground test it against your list of windows and enable/disable audio switch as necessary. Use SetWindowsHookEx and hook for WH_CBT messages. If you are unfamiliar with using SetWindowsHookEx I could supply you with the hooking code and all you would need to do is insert the code to check the window names, enable the audio switch, and disable the audio switch. Or you could send me the enable/disable routines.

Another tip, I noticed that skype places an icon in the notification area during a call. If there is someway of detecting the notification icon that could be another great way to trigger the switch.

Great program though. Works beautifully.
 
Last edited:

ottie3

New member
Jan 15, 2009
1
0
OOOH:)

If this program works on the new BenQ E72 I'm getting in a couple of days I'll certainly donate!

THANKYOUTHANKYOUTHANKYOU
 

baal_zebub

Senior Member
Apr 6, 2008
140
2
hello,

it does not work on hermes (tytn).

by the way "troca2" does work on hermes! - maybe you guys want to work together?
 

MarceloFB

Member
Oct 8, 2007
30
0
hello,

it does not work on hermes (tytn).

by the way "troca2" does work on hermes! - maybe you guys want to work together?

hehhehe, I made troca2, I will see if the switch code is the same or if I have made some mistake...
are u sure you have put the program in the correct directory?? I will make some modifications to have an error feedback. So u can see if something is wrong...
 

MarceloFB

Member
Oct 8, 2007
30
0
I have an idea. Rather than regularly polling to see what the current windows is, why not use a windows hook to monitor windows messages. When you see a message indicating a window has come to the foreground test it against your list of windows and enable/disable audio switch as necessary. Use SetWindowsHookEx and hook for WH_CBT messages. If you are unfamiliar with using SetWindowsHookEx I could supply you with the hooking code and all you would need to do is insert the code to check the window names, enable the audio switch, and disable the audio switch. Or you could send me the enable/disable routines.

Another tip, I noticed that skype places an icon in the notification area during a call. If there is someway of detecting the notification icon that could be another great way to trigger the switch.

Great program though. Works beautifully.

It is a good idea to use hook, I have not think of it!
I use a proprietary code included in a lib at the company I work for to make the "switch" but it is not different of what u find here in the forum.
Maybe we can make an effort to re-make it with hooks...
 

madhijs

Member
Dec 2, 2008
48
0
so this program must run all the time? after every softreset you have to start it?

is it not easier with mortscript (for example) to make an shortcut that opens skype as well as the audioswitch program? and closes the audioswithc program when you close skype?

I am using it right now and it seems to work perfect:
i used this script after installing mortscript (http://www.sto-helit.de/):

run( "\Windows\SkypeSoundSwitch.exe" )
runwait( "\Program Files\Skype\Skype.exe" )
close( "troca2" )

(see that in my case i downloaded your original program and renamed it to skypesoundswitch.exe and put it in the windows map)

I renamed it so i could remember what the purpose the file had.. changed nothing but the name!

Thanks for the program by the way! it always worked perfect!!
 
Last edited:

madhijs

Member
Dec 2, 2008
48
0
so to sum up the way i have it now (most files included) on my xperia x1:

1) installed skype
2) installed mortscript
3) add skypesoundswitch to \windows\....
3) add skype.mscr to \.... (root)
4) overwrite skype.lnk with the new skype.lnk in \windows\start menu\programs\..


in the way whenever i open skype(.lnk), it opens skype.mscr, this opens skypesoundswitch.exe and than skype.exe... when you close skype.exe it closes skypesoundswitch.exe...

it seems to work perfect.. but hey maybe i am doing something totally wrong here.. than just shout!

by the way, the .mscr and the .lnk files are offcourse edit-able .. so you can put the files everywhere you like..
 

Attachments

  • skype.zip
    8.3 KB · Views: 307
Last edited:

JKingDev

Senior Member
Nov 3, 2006
648
16
so this program must run all the time? after every softreset you have to start it?

is it not easier with mortscript (for example) to make an shortcut that opens skype as well as the audioswitch program? and closes the audioswithc program when you close skype?

I am using it right now and it seems to work perfect:
i used this script after installing mortscript (http://www.sto-helit.de/):

run( "\Windows\SkypeSoundSwitch.exe" )
runwait( "\Program Files\Skype\Skype.exe" )
close( "troca2" )

(see that in my case i downloaded your original program and renamed it to skypesoundswitch.exe and put it in the windows map)

I renamed it so i could remember what the purpose the file had.. changed nothing but the name!

Thanks for the program by the way! it always worked perfect!!
That works great too. The advantage of this new program is that it will only reroute the audio when skype is in the foreground. You could minimize skype and leave it running, and audioswitch will automatically restore your sound. Get a call and open up skype and your sound goes back to the earpiece.

I will create the code to do it with a windows hook when I get a chance MarceloFB. Please pm me your email address. All you will have to do is insert the code to read the config file, check the window names, and when necessary enable or disable the switch. Or please show me where to find details on how to code this myself. Thanks!
 
Last edited:

jackleung

Inactive Recognized Developer
Apr 10, 2005
2,308
47
USA
Hat off to both of you and really glad that we will have a much improved solution.
 

madhijs

Member
Dec 2, 2008
48
0
That works great too. The advantage of this new program is that it will only reroute the audio when skype is in the foreground. You could minimize skype and leave it running, and audioswitch will automatically restore your sound. Get a call and open up skype and your sound goes back to the earpiece.

I will create the code to do it with a windows hook when I get a chance MarceloFB. Please pm me your email address. All you have to do is insert the code to read the config file, check the window names, and when necessary enable or disable the switch.

okay! I only used skype to make calls and than get offline so this way did the trick for me! but i have to admit it would be much better when i can keep skype online!

this new program does the trick indeed! it changes the output back when i minimize skype!

But still my question above, you have to start this program on every startup isn't it? what does it do with the battery?
 
Last edited:

JKingDev

Senior Member
Nov 3, 2006
648
16
okay! I only used skype to make calls and than get offline so this way did the trick for me! but i have to admit it would be much better when i can keep skype online!

this new program does the trick indeed! it changes the output back when i minimize skype!

But still my question above, you have to start this program on every startup isn't it? what does it do with the battery?

Yes it must be run at startup but placing a link in your startup folder will make everything transparent to the user. I don't think there will be an effect at startup. In it's current form it must check every second (or whatever you set the timeout to), but its only a little bit of code. I am not really sure if that will really have an effect. The more often it checks the faster it will switch when you open skype, but also the more processor use. Check less often and it uses less processor, but there might be a delay in switching the audio. I proposed doing it by hooks though because this would use even less processor. The app will only check when a new window takes focus, rather than just periodically checking. This way it only checks when it needs to and will always switch instantly.
 

MarceloFB

Member
Oct 8, 2007
30
0
I am glad u liked the program.

I will try to answer most of the questions...

1- JKingDev:

I have though in your idea of using hooks, but if I use a hook, the program will have a loop anyway to check for the messages(hidden loop ;-) ), and it would have to have an "fake window" or something to process the messages. This way we have only one loop, in a very simple command line program with high optimization, so we have to think what is really the best way of doing it... I will pm u as soon I have any time to "program" again. hehe

2- people that uses mortscript with the old "troca2"
I will try to make a way to make this program work the same way as troca2, maybe with an "argc argv", wait the next update.

3- the battery life??
if u notice any battery life decreasing with the usage of the program, configure a bigger delay, maybe 5000ms, it is a matter of adjust the "timming" for each processor. Post your results here so others can find the optimum value for the delay in their phones.

4- have to start the program every reset?
yes, just put it in the startup folder.
maybe someone can make an cab that put the program in the right place and a link in the startup, it would be cool! I dont have an easy program to deal with cabs, and the vs projects for cabs.... I really cant make that thing work!!
 

madhijs

Member
Dec 2, 2008
48
0
well it is only the batterylife i was worried about. but i'll try running the phone this weekend with the program running and doing some skype.. lets see how it turns out!
 

weekendli

Member
Sep 28, 2007
17
0
For folks who have issues of mic on using this program, there is a quick solution for this problem. You can try sjphone. It provides a internal mic volume control. However, the major setback is that it's only working in wm5.

my 2 cents
 

MarceloFB

Member
Oct 8, 2007
30
0
For folks who have issues of mic on using this program, there is a quick solution for this problem. You can try sjphone. It provides a internal mic volume control. However, the major setback is that it's only working in wm5.

my 2 cents

will check this, but people reported that worked in xperia... and it is running in my P3301... anyway, will check and post an wm6 build if it is the case... check the error file and see if it tells anything.

Other thing, this program uses low level api`s, so your windows MUST be fully unlocked for it to work in wm6.