|
With this release, TypeScript delivers close ECMAScript spec alignment, wide support for JavaScript libraries and tools, and a language service that powers a first class editing experience in all major editors; all of which come together to provide an even more productive and scalable JavaScript development experience. In case that's your type
|
|
|
|
|
In Windows 10 RTM last year we introduced a new MIDI API, accessible to UWP Apps on virtually all Windows 10 devices, which provides a modern way to access these MIDI interfaces. "By pressing down a special key, it plays a little melody"
|
|
|
|
|
Kent Sharkey wrote: which provides a modern way to access these MIDI interfaces. And, note how mums-the-word on what, exactly, Windows 7 & 8 "provide[d as it pertains to] a way to access MIDI devices".
|
|
|
|
|
They could make it tighter timing wise.
But no. now the ill fated uw get midi - yawn, and the rest of us get a wrapper and it's overhead.
|
|
|
|
|
Hi All
I'm the author of the blog post here. Through the wonders of the web, I've found you all referencing it.
Some clarification for you:
- We've had (and still have) two previous MIDI APIs: DirectMusic and MME. Both of those are still available, but only work on desktop PCs. They're also not flexible enough to easily handle new transports like Bluetooth in a way we were happy with.
- We did fix some minor MIDI Jitter and timing in Windows 10 RTM when we created this API. In the end, however, you're at the mercy of USB which, given how it routes, is going to add a very small amount of jitter and latency. Those amounts are still less than the DIN MIDI wire speed, though. Of course, Bluetooth has higher latency and jitter and depends on quality of space in the room. We're competitive with what Apple does there (and compatible with them), but it's not as tight as USB. For that reason, many people tend to use Bluetooth MIDI for secondary controls, not for banging our riffs on a keyboard. You can, but IMO, it's not the best experience.
- The way DAWs typically deal with latency and jitter is to schedule MIDI messages. We don't have that yet, but it's on the backlog for consideration.
- In our own testing, the wrapper doesn't add any meaningful latency; it's working at function call speeds. The UWP MIDI APIs were always accessible to desktop applications (not true of all UWP APIs) but some companies felt the ceremony required to call from a Win32 app was a bit ... opaque. I agree, so had this work done by a colleague on the team. Feel free to take a look at the code on GitHub and try it out. We're happy to consider pull requests if you have suggestions.
void winrt_midi_out_port_send(WinRTMidiOutPortPtr port, const unsigned char* message, unsigned int nBytes)
{
MidiOutPortWrapper* wrapper = (MidiOutPortWrapper*)port;
wrapper->getPort()->Send(message, nBytes);
}
...
void WinRTMidiOutPort::Send(const unsigned char* message, unsigned int nBytes)
{
if (nBytes > mBuffer->Capacity)
{
mBuffer = ref new Buffer(nBytes);
mBufferData = getIBufferDataPtr(mBuffer);
}
memcpy_s(mBufferData, nBytes, message, nBytes);
mBuffer->Length = nBytes;
mMidiOutPort->SendBuffer(mBuffer);
}
Beyond that, it's worth pointing out that many have been using MIDI wrapper libraries since the dawn of time. It's never really been a problem.
The C# helper library I wrote is for people more familiar with that language. In that, I'm trying to make it simple to implement MIDI functionality in apps, including somewhat esoteric stuff like NRPN and RPN.
If performance is a primary concern, I'd use the C version. If it's an enormous concern, the source is available so that you can incorporate the calls directly in your app and do things like reuse buffers if you want. In practice, this hasn't been necessary, but we don't want to force the final word there.
Hope that helps.
Pete
|
|
|
|
|
You've only waited 11 years to come back to Code Project Welcome back Pete.
This space for rent
|
|
|
|
|
Heh, thanks Pete. Yes, it has been quit a while.
CodeProject thinks it was 1999 when I was last on, but my message history says it hasn't been quite that long.
Pete
|
|
|
|
|
Pass the word around the office, Pete - a bigger Microsoft dev (or even evangelist) presence on CodeProject would, I think, not be unwelcome.
|
|
|
|
|
Thanks Mick
I'm in Windows now, no longer in evangelism. In DX/DPE, most of the evangelists are doing Azure these days. I would need to look back around here to see if that's a fit.
I feel like there used to be many communities we were all involved with but have since lost touch with. I'm active in some music communities, but not so much in places like Code Project these days.
Pete
|
|
|
|
|
The ambiguity and variance of the architect role, combined with the fact that architect is nominally ‘above’ developers, creates a breeding ground for interpersonal friction. Bonus #0: Isn't it obvious that they other guy is an idiot?
|
|
|
|
|
|
I'd say #0 is, which they do touch on, "Nobody knows what an architect is, even the architects."
|
|
|
|
|
architect: a person who looks at the inside of their foot and, with a detectiving voice, proclaims, "Yep, that's an arch...."
|
|
|
|
|
My 5 reasons:
- Developer has a few silly GitHub projects under his belt and thinks he now knows how to develop an app.
- Developer wants to feed his ego and prove himself by doing it his way.
- Developer wants to use the latest newfangled language/framework for no other reason than "it must be better."
- Developer embraces Agile and starts coding right away with no consideration of the long term issues such as code maintenance, documentation, design, etc.
- Developer knows tool X and language Y and that's what he'll be using. End of discussion.
Such has been my experience.
Marc
|
|
|
|
|
Scene: Two developer arguing vehemently in hallway about algorithm.
Manager: Well, it's code... who can really say. It's all the same just mixed around a bit, right?
First Developer (pauses arugment): "Yes, you are right. So, we'll use Fred's code..."
Second Developer (Fred): Smiling....
First Developer : Uh, you're on call when your W#$%&*! hits the fan -- erm... your code goes into production.
Who can really say?
Edit This little dramatization has been in support of your list of items.
|
|
|
|
|
article wrote: nominally
If s/he were SERIOUSLY / EXTREMELY / ABSOLUTELY above developers then there'd be no argument.
|
|
|
|
|
Allo, the standalone messaging app that Google announced back in May, is now available to the masses — and probably smarter than any messaging app you’ve ever used. Just in case you were looking for a messaging app. They're pretty rare.
|
|
|
|
|
I want a counter bot messaging app. It will do nothing extra when a human written message comes in. But when it detects a sunshine is trying to use a bot to fake interacting with me, it'll send a reply using its own bot. It will then put the original offending message and its reply into my trash folder so I never see either of them.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
The Chan Zuckerberg Initiative, a company created by Mark Zuckerberg and Priscilla Chan to “unlock human potential and promote equality,” today announced “Chan Zuckerberg Science,” a $3 billion project that aims to cure, prevent, or manage “all diseases in our children’s lifetime.” Yeah, that should just about cover the cost
|
|
|
|
|
Oh, I thought it was $3 is what they're giving each diseased kid, all billion of them.
|
|
|
|
|
|
Kent Sharkey wrote: The Chan Zuckerberg Initiative, a company created by Mark Zuckerberg and Priscilla Chan to “unlock human potential and promote equality,” today announced “Chan Zuckerberg Science,” a $3 billion project that aims to cure, prevent, or manage “all diseases in our children’s lifetime.” dodge taxes Yeah, that should just about cover the cost FTFY
|
|
|
|
|
A Cisco bug report addressing “partial data traffic loss” on the company’s ASR 9000 Series routers contends that a “possible trigger is cosmic radiation causing SEU soft errors.” I now have an explanation for all future bugs
It definitely beats, "My dog ate my data"
|
|
|
|
|
Reminds me of Don Lemon on CNN postulating whether black holes were responsible for that Malaysian plane.
|
|
|
|
|
"Could be network issues due to cosmic radiation" sure beats troubleshooting your servers. This is irresponsible to post on a forum with server admins.
|
|
|
|
|