haha, entertainment for when i'm bored that's what instigated the development of such a useless program, however it is cool. kernel32 is responsible for most of the beeps you hear on your system even on boot.
No I don't mind, actually appreciative that you did that, i'd forgotten, i'm not so used to using attachments here quite yet lol. Thankyou Laxer
>>Hmmm... I want to check that out if it's alright with you!
Completely fine if you want, Laxer was kind enough to add a download there, requires .NET 4, but I could reduce this if I recompiled and people request better compatibility, down to maybe 3.0 or 3.5 as well. Kernel32.dll is a GREAT resource.
lol, I just realized how geeky this application looks. But it's actually quite simple, (for me anyways), and another idea came to mind. Perhaps I can read Morse Code somehow in this way? I'd need to research it, as I don't know much about Morse Code, but I think it would be possible.
That would be an internal limitation of the kernel32.dll system beep process. I don't think it allows you to make more than one single call to the function that way. I had thought of doing this myself though in the beginning though to for curiosity, so in the beginning I was trying to play chords, and I had several textboxes playing at a single time, on multiple threads, but it seemed to be playing them in sequential order anyways. Perhaps the next thing to try would be parallel processing with CPU cores? Fooling around with affinity. I'd developed a previous application to read the bits to determine which CPU cores to use and how many are available as well, it's basically like a bunch of switches. You may have them turned on in a way something like this 0001, or 1111, or 0101, 1100, etc... This all tells you which cores are being used and which aren't, I would arrange it in a way to be using 0001, 0010, 0100, 1000 for each beep being called from kernel32.dll, and may have better luck!
As threading does have it's limitations as well, I think this would be the best bet, but it means it's a limitation of how many cores are available for your computer to use as well, whether that's 2, 4, 6, or even 8 for example. I have 4 to test with currently.
I had noticed while playing beeps FAST enough, that even at a current speed it would sometimes lag finishing and disposing of the last call to create a beep with a certain frequency, so there must be something in the kernel32.dll which queue's the calls, meaning we may or may not have better luck calling it from different CPU's cores.
As a bunch of frequencies in wav/mp3 format for example? Could increase the filesize quite dramatically, and the range of frequencies for beeps would be limited unless I had a way to increase the pitch myself, but then I'd go with only one embedded sound file.
associate each character with it's beep in the library
There's 1000's of unicode characters, in which case my current application doesn't even have to "know" all of which, just how to convert it to a unicode value. To personally do that could take some time...
For the way my application is now anyways, it's much better, however, if adapted i'm sure I can figure something out, haven't had time to play with anything all day though, and it's about 3AM here now, my week as mentioned someplace else on this forum is swamped with things to do lol, I need to be on a sugar high everyday just so that I don't slow down lol. Otherwise i'll never get done the things I need to do in my personal life, letalone even online. I hate it though, can't stand having a lack of time