Is there a new Midi API for Windows Vista/7/8? - windows

I know the midiXxx API, but I saw it is currently listed under 'legacy' in msdn.
http://msdn.microsoft.com/en-us/library/windows/desktop/dd743619(v=vs.85).aspx
Is there some other API i should use to target the newer Windows versions?
Will the old API still work on Windows 7 and 8?
Thanx,
Marc

Last Friday Microsoft released a preview Windows Runtime API for MIDI. Check out the //build/ session here:
http://channel9.msdn.com/Events/Build/2014/3-548
MSDN: http://msdn.microsoft.com/en-us/library/windows/apps/dn643522.aspx
Although a preview, apps can go live and be deployed to the Windows Store. Please let us know what you like or don't like. Happy app building!

For dektop applications (non metro) you can still use the legacy API safely.
Sadly for WinRT/Metro, there is no midi support at all (see this discussion on msdn).
Hope they will change that.

Catflier is correct that there is no direct support (at the API level) for MIDI in WinRT. However, if you are wanting to have MIDI-like capabilities in your app, there are workarounds. A protocol growing in popularity is the network-based OSC (Open Sound Control). Since it is network-based, you can use that.
For example, one can use external hardware like The Missing Link which translates from MIDI to OSC. You hook up your MIDI device to The Missing Link, which then translates to OSC messages that are sent to the computer. Your app can then receive OSC messages and talk to the MIDI device. I don't have any code to show here, but I've seen demos of this working in-action.
You can see OSC in use on iOS as well with popular apps like TouchOSC.

Related

Sending a file from windows via a USB NFC device to NFC enabled phone

I would like to create a windows app that sends a URL or a small file via NFC (preferably) From windows to android and from windows to ios. Has anyone any info or code examples in C# (or other language) in windows that demonstrates how to do this.
Any help would be greatly appreciated.
I did look at something related, I investigated Sending small files from Android to Android via NFC but decided against it.
This is because in Android as of Android 10 that "Android Beam" has been deprecated this means that Android's ability to receive files has been removed. From experience on early version of Android I can see why they removed it as it was too reliable.
Update:
Additional info Android did use LLCP sockets to do peer to peer NFC transfer. the source code for how Android did one end of this is available at https://android.googlesource.com/platform/packages/apps/Nfc/+/refs/heads/master/src/com/android/nfc/ndefpush/NdefPushServer.java
I'm not sure if there was anything similar in iOS.
This leaves you the option of writing code on Windows that does Host Card Emulation(HCE) to emulate a card that carries a Standard NDEF message which can contain things like URL's or data of certain mime types.
Update:
I can say for Android that if the NDEF message contains a URL in the right form that the OS will Launch a Browser to load that URL automatically (If you have multiple Web browsers install it might ask the user which Web browser to use to do this). For iOS I don't know but expect the same behaviur
While I believe that HCE is possible to emulate an card with NDEF message on it I've not seen any code to do it.

Is there an official Apple API for streaming from a Mac app to Apple TV?

I have been searching high and low, but have so far been ineffable. I am now turning for the stackoverflow community for advice.
My goal is to build a Mac app in XCode, that will allow me to send MP4 content from my Mac (or from a public URL on the web) to my Apple TV.
I have located numerous classes within the framework for iOS that enables this (quite easily it seems), but the trail ends there. It just seems like there is no API to do the same from OSX, but I am hoping that I have overlooked something :-) There seems to be well established methods for sending audio to AirPlay enabled devices, but not video?
I am aware of the 3rd party specification of the protocol at http://nto.github.io/AirPlay.html, and it looks a tangible plan B for my needs, but I would appreciate any pointers if anyone knows of a more official way.

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 7 External Communication

From what I've read online in forums and blogs, Windows Phone 7 has no support for bluetooth serial. There also does not seem to be any support for communication with accessories through USB. Can someone give me a definitive answer as to whether or not Windows Phone 7 can do any sort of command and control for external accessories? I've used bluetooth serial on Android as well as the iOS external accessory framework. I would imagine there would be some level of support for external accessory communication in the Windows Phone 7 platform.
I can confirm that there is no Bluetooth/External Accessory API exposed as part of the SDK. There may be a private API available to select parties (though I'm not familiar with any apps that do so), so it might be worth contacting Microsoft.
Keep in mind that, even if you find a private/internal API you won't be able to call it (even via reflection) and it would be caught during the certification process anyway.
If it's not possible to communicate with the accessory via Sockets/HTTP then I'm afraid you're out of luck for now.

How to scan Wifi access point on Windows Mobile?

I need to scan Wifi access point on Windows Mobile and connect the one of scanned results.
Currently I am using C# language, Windows Mobile 6.5 device, also to scan I am using the below code.
[DllImport(wlanapi.dll", SetLastError=true)]
I am using wlanapi.dll, but it seems that not possible to use on Mobile.
Does anyone know about the belows.
Could I use the dll in Windows Mobile 6.5 to scan and connect?
If the 1 is not possible, please let me know the different methods..
Please give me the clues.
wlanapi.dll doesn't exist in WinMo/WinCE. You have to use an API that is supported.
Most WinMo WiFi drivers (though probably not all) support the Wireless Zero Config (WZC) set of APIs. The native versions of these APIs, like WZCQueryInterface, are outlined in MSDN.
Microsoft does not provide any managed interface for these APIs, in fact the native documentation for them is pretty bad too. The definitive "example" of it's use is in the NETUI component source of Platform Builder. Gettign the eval version just for the source is very worthwhile if you plan to do much WinCE/WinMo development.
From a managed perspective I wrote an MSDN article back in '06 that talks about using the SDF for getting network info. The SDF has been reworked a lot since then, especially in the WZC area, but it's still pretty similar.
I did an updated blog post in '07 about custom-drawn ListBoxes, and while that's not what you're after, the data being displayed is wireless network info, which is in line with what you're after.

Resources