Simulation of PC Speaker in Windows 7? - winapi

I was quite surprised recently to find that the Beep( ) function in the Windows API is, as of Windows 7 (and Visa x64?), rerouted to the sound card. I'm currently working on a 2D video game engine and thought that it would be a cool feature to allow for use of the PC speaker. Is there any way to programmatically call the PC Speaker in Windows 7? If not, are there any resources available that could help with the simulation of the PC Speaker through a sound card? I know DOSBOX is able to do the later...Any help is appreciated.
---Dan

Larry Osterman, the MSFT programmer that worked on the audio sub-system since Vista blogged about the fate of the Beep driver. His post is here.

Related

system Audio Processing Objects (sAPO) and Skype in windows 8.1

I have googled and searched a number of forums and developer websites without any success; I believe it is a specific question that needs direct expertise or knowledge, so please read on!
BACKGROUND:
I have an audio enhancement algorithm that is implemented as a system Audio Processing Object (sAPO) that was developed and tested successfully in Windows 7. As an APO, it applies processing to all audio stream through an end point device, including audio originating from Skype.
QUESTION:
Is it true that this is not applicable to Windows 8.x ( 8.1 or greater)? More specifically, does sAPO processing still work for Skype? Does Skype disable any and all APO processing on its stream?
WHAT HAS BEEN TRIED SO FAR:
(1) I have succeeded in following the standard procedure of loading an unsigned APO from Windows 7 in Windows 8.
(2) I have tested this with Skype audio stream and that works as well.
HOWEVER:
(1) above, fails in Windows 8.1 developer preview. As a result I have not been able to test (2).
Please note that I am specifically asking about Windows 8.1, in a laptop or desktop. This is not for mobile phones or tablets. Any information or links regarding this is much appreciated!
I am also trying to update an APO which have been developed for W7/8 to the new format introduced by W8.1, however it doesn't seem like much documentation has been released yet.
What I have found so far, is that Windows 8.1 requires some new methods for discovery and control of effects to be implemented into the APO. This means that Skype would be able to discover certain APO effects and disable them if it needs to.
The new interface IAudioSystemEffects2:
link
Some updated code can be found in the new SwapAPO example:
link
Not much, but hopefully it can help you get going in the right direction.

Windows Phone - XNA & SIlverlight

I was wondering if it is actually true that Microsoft is discontinuing XNA and Silverlight. If this is the case? What shall I learn to make applications for Windows Phone? What shall I learn to make simple/easy 2D based games (not c++)?
What are the alternatives with Windows 8?
Cheers.
There is no official announcement from Microsoft that says they are discontinuing Silverlight/XNA.
Of course, a lot of us have our own reasons to believe that Silverlight is dying. I would not say the same about XNA. At least not yet :-) Don't forget XBox.
For the next version of Windows Phone (8), application programming model is going to be based on/same as Windows 8 (Win RT). And they have been promoting DirectX as a technology to develop games for Windows 8 (WinRT). XNA is officially not supported in Metro Mode.
To program games in DirectX, C++ is not the only option. Managed DirectX can be used with C#/VB. You can look into that.
And if you know Silverlight, your understanding on XAML would really help you a lot with new Metro Style apps (Phone and Windows). So, you don't have to worry about that part.
It's hard to say something about a rumor, but in this case the best thing that you can do is to stay in contact with Microsoft and its forums or social network.
For example http://channel9.msdn.com/Forums/Coffeehouse/XNA-in-Windows-8
Windows Phone 8 will surely introduce a support for DirectX and C++, XNA is a subset, more or less, of DirectX, if Microsoft will introduce DirectX in its phones i see no point for keeping XNA; Silverlight is a technology that will never succeed at this point, even Flash is dead, you can imagine what is the situation about Silverlight that is a really really really small player in this market and it's not even portable.
For games it's better to use XNA, because eventually you'll start to create 3d games.
Silverlight is more adapted for common applications, like notepad, browser and other stuff.
And again, if you want to create games, learn more Xna.
As there is no official statement yet, it's hard to say what will happen with those platforms. If you want to create games, you might consider using MonoGame.
What is MonoGame?
MonoGame is an Open Source implementation of the Microsoft XNA 4
Framework. Our goal is to allow XNA developers on Xbox 360, Windows &
Windows Phone to port their games to the iOS, Android, Mac OS X, Linux
and Windows 8 Metro. PlayStation Mobile development is currently in
progress.
I had a demo of a few games made in MonoGame on Windows 8 last week and I gotta say I was pretty impressed.

Getting the player audio signal directly and then streaming it out but not get sound over speakers

I am trying to build basic application for windows. I would like to hook the audio signal directly that is playing on player(like media player) and redirect it out so another computer can "listen". The other computer would be Windows or Linux.
Any ideas on how to get the audio signal that is playing on player and stream it out?
What's the most efficient way to achieve this in windows XP and vista without a 3rd party plugin? Are there any windows APIs available? If there is an open-source solution out there, I would be interested.
Thanks!

Windows 7 multitouch

I know this is not a direct programming question (which StackExchange site would fit better?) I just ask it here as I'm not sure where to post it alternatively.
Has the driver for multi-touch on Windows 7 a specific name? Windows 7 has multi-touch support if the hardware sends specific messages and they get translated to their W7 equivalent. How is the driver sub-system named? I think it's in the context of HID devices, but is there something more explicit? I should explain it to someone and I never thought about the name of that software.
I have described it as a driver for windows 7 and not named it specifically. Found out that there is no need to name it exactly. Hearing it is a vendor provided driver was just enough information for the audience.

Smartphone for use with the NXT

Greetings.
I will be getting a new smartphone for work. It needs to work with Telus, so the iPhone, and Android-based phones are out. The available phones appear to be include a number of BlackBerries, HTC phones, Motorola phones, as well as LG, Samsung, and ZTE phones.
I have a LEGO Mindstorms NXT robot, and would like a phone for which I could potentially write a program that would communicate with it over bluetooth. (LEGO does provide a cellphone app but it only works with some Nokia, Sony Ericson, and BenQ-Siemens phones).
From my research thus far, it sounds like many phones support J2ME and that I could install NetBeans to develop for it. (I haven't programmed in Java in years.) Unfortunately, it sounds like even if the phone does have bluetooth capabilities, they aren't necessarily accessible from J2ME.
Lastly, I'd rather like to develop from my Mac. (I could boot into another OS or fire up a VM, but I'd prefer not to.) NetBean's IDE download page says, "Java ME is only available for Windows and Linux." There appear to be workarounds -- is it a pleasant environment to work in?
So, my question is, does anyone know if any of these phones are, um, pleasant to develop a simple bluetooth application for, preferably from the Mac?
- Edit -
It turns out that my contract has not expired, and I've replaced my partially functional phone with a Treo 700 we had around. I appreciate all the answers. I started setting up a J2ME environment (until I learned that I may as well set up a Palm environment, and have started on that.) When I do get a new phone, though, I was sure be looking at the S60 phones -- heck, it might even trump an iPhone or Android phone, at least for ease of creating hobby applications.
You may be interested in this application NXT Director. The author says it has been tested with the following models of Palm based devices, Treo 650, LifeDrive, Zire72, SONY TH55/E and Tungsten series. It may also work with your 700.
Nokia ported python to the S60 smartphone platform. That means you can just write python scripts with your favorite text editor and then run them on any of these phones. The python port includes APIs for the camera, bluetooth, SMS, dialing, sounds, text to speech synthesis, location services...
I found it very easy to install the python interpreter and console on my phone and immediately start running scripts, no other tools required. If you have a strong thumb and like a challenge then you can even write the scripts directly on your phone :-)
If you want to run an S60 phone emulation on your PC then you will need windows and even then it is complicated to set up. For small hobby projects you can live without the emulator though.
You can try following combination for J2ME development on Mac OS X
Eclipse - http://www.eclipse.org/
EclipseME - http://eclipseme.org/
MPowerPlayer - http://mpowerplayer.com/sdk

Resources