|
I'm not sure to understand your question.
The register key "HKCU/AppEvents/Schemes/Apps/<myapp>/<myevent>" makes the connection between the event and the application.
A quoi rêvent les personnes qui nous font vivre ce monde ?
|
|
|
|
|
|
My pleasure
A quoi rêvent les personnes qui nous font vivre ce monde ?
|
|
|
|
|
I think what I meant (!) was how do I identify my application?
If it's the module name 'MSDEV', for instance, that would mean I can't have two apps with the same EXE name that have associated (but different) sounds, if they have events in common.
Steve S
|
|
|
|
|
If you have two apps with the same name, there are not 2 applications but 2 instances of the same application. So, these instances share the same registry values, and share also the sound events.
A quoi rêvent les personnes qui nous font vivre ce monde ?
|
|
|
|
|
KaЯl wrote:
If you have two apps with the same name, there are not 2 applications but 2 instances of the same application.
Not necessarily. The name in the registry is only the module name, not a FQN, so I could have
C:\Program Files\AardvarkSoftware\CTLMGR.EXE
and
C:\Program Files\ZebraSoft\CTLMGR.EXE
which are distinct applications, rather than instances of the application.
However, I take your point, it answers my question, and my suspicion was right.
Thanks
Steve S
|
|
|
|
|
Ok, I get your point. That's true it may be a problem, but I never faced it for the moment. In this case, the events names should be specific enough to avoid confusion.
A quoi rêvent les personnes qui nous font vivre ce monde ?
|
|
|
|
|
a socket generally has a listener and receiver
can a socket be used to communicate with > 1 receiver?
Bryce
---
Publitor, making Pubmed easy.
http://www.sohocode.com/publitor
|
|
|
|
|
Sure it can be done.
This is the concept where the multiple client acces the an single server.
Shanmuga Sundar.V
|
|
|
|
|
As you say, a single socket has only one listener and one receiver. To get multiple receivers you will need to do broadcasts using datagram sockets.
|
|
|
|
|
coolo
one of the blokes here at work says its possible to do a TCP broadcast (as opposed to a UDP multicast which i can do)
to the local subnet, just have the last section of the IP as 255for our clas of network.
eg. 192.168.0.255
What else do i need to set up to get it going?
regards
bryce
---
Publitor, making Pubmed easy.
http://www.sohocode.com/publitor
|
|
|
|
|
bryce wrote:
one of the blokes here at work says its possible to do a TCP broadcast (as opposed to a UDP multicast which i can do)
Sorry for being blunt, but the bloke at work is full of shite. TCP is a point to point protocol. It can't handle anything but exactly two parties.
--
He is the painkiller. This is the painkiller!
|
|
|
|
|
Depends what you're trying to do.
The conventional technique is to 'listen' on a common socket, when a client tries to communicate the 'accept' function returns the handle to a new socket that is used to hold the the conversation with that client. Thus a server can wait for a connection from multiple clients. But the conversation with each client is one-to-one on a dedicated socket.
Broadcasting or multi-casting to multiple clients is somewhat different.
|
|
|
|
|
What is the easiest way to connect to an Access DB from a ISO standard C module?
|
|
|
|
|
|
Hi,
I have a program that uses MFC. I made an install project for my program and I installed it on another computer.
When I tryed to run my program it said that it needed MFC70D.dll. After I copied this file in the program dir the error message said the program needed MSVCP70D.dll and after this it was MSVCR70.dll.
I added this files to the instalation program. But now when I try to install on the other computer there is an warning in the installation process:
"Module C:\...\MFC70D.DLL failed to register. HRESULT -2137024769. Contact your support personnel."
(Exit instalation / Try again / Continue) If I hit Continue all works fine.
Why is this? What is the proper way to also install this files needed by my program?
Thanks
-----
We are what we repeatedly do. Excellence, then, is not an act, but a habit.
|
|
|
|
|
Your installer is set to self-register MFC70D.DLL. It doesn't need to be registered, because it contains no COM classes, and hence it doesn't export the DllRegisterServer entry point.
You shouldn't be shipping a debug version of MFC with your software. Build a Release version of your software, then ship MFC70.DLL, MSVCP70.DLL and MSVCR70.DLL.
If you're using a Windows Installer-derived installation product, use the merge modules supplied with Visual Studio .NET. You need VC_MFC.MSM (MFC70.DLL and MFC70U.DLL), VC_CRT.MSM (MSVCR70.DLL) and VC_STL.MSM (MSVCP70.DLL), which are installed to C:\Program Files\Common Files\Merge Modules. If the tool has an option to check MSMs for DLLs added to an installation, enable the option and point it to this directory.
|
|
|
|
|
i have a main dialog containing 3 child dialogs. I created a COpenglclass in main dialog such that any image visualization will take place in the main dialog. But i do not know how to detect that if any child dialogs are accessed only then will my drawing code in the COpengl class take in data from the child dialog and show the relevant image. need help on this urgently
|
|
|
|
|
Is it possible just to use the child's msg when it receives focus or something along those lines and then react and do whatever you want.
|
|
|
|
|
thanx for replying. i am considering alternative or setting state flags but i not sure how to code that in child dialog and view class's Onpaint().can you illustrate?
|
|
|
|
|
Apparently I am missing the appropriate reference material to solve this problem and my attempts to google an answer has been an exercise in frustration. It doesn't help that there seems to be no strict consensious on if seperate output channels are 'channels', 'voices' or some other thing I can't think of. The only reference I have found is a link to a dll that allows you to use up to 8, but there is no source for the dll itself or explaination of how it works...
Basically, a friend of mine has a program that uses C++ with MFC and currently everytime an event happens in it and a sound is played, it halts whatever previous sound was playing and starts the new one. Now games don't do this and other programs seem to be able to play a wav/mp3, etc. without interrupting something already active. I need to know how to:
a) find out how many real voices/channels are available.
b) figure out which ones are not in use.
c) replay the next sound on an unused channel, instead of interrupting something that may not be finished playing.
I haven't a clue how to do any of this, nor a sufficiently decent explaination of how you can do this, despite most cards now having anything from 8 to 96 seperate outputs for overlapping sound. Most simply ignore this issue in favor of the 'Here is how to play one sound, good luck trying to play more' type of examples. It is quite frustrating and I am now at the point where I don't even know where to continue looking.
As a preference, I would prefer an option that doesn't necessarilly depend on DirectSound or the like, which may in some rare cases not exist on a computer that is normally still able to run the program this feature is to be included in. Please help!! :.(
|
|
|
|
|
|
Hmm.. While your link was more or less the same junk as other pages. A search on "waveOutOpen" and "multiple wav" produced this: http://www.pocketpcdn.com/articles/multiplewaves.html
I swear that Google is bloody brain damaged. I would have thought given the title of the article that my original search of "play wave muliple simultan" would have at least produced this in the top 30 or so links, instead I slogged through 10 or more pages of useless junk and never found it. Thanks for pointing me in the right direction, even if the solution turned out to make no bloody sense from the perspective of common sense. If a card has 96 possible voices, then the API should be able to tell you that. Apparently instead it worls like this (from a brief review of the code):
Is there a output device?
Yes - Is it available?
Yes - Who cares, send the sound file anyway.
Driver/Card - Oops.. Someone needs me to play a
new sound, Voice 16 is free, lets put it there...
Apparently I am the only person that has issues with the logic of this design... lol I guess if the card runs out of available channels it comes back as "Unavailable", but otherwise continues to accept new sounds until it runs out. God forbid something crashes and doesn't release the voice being used. Though come to think of it I have seen this happen a few times and getting the damn card to shut up when it does is inconvenient at the least.
|
|
|
|
|
As long as it works, why should we worry?
Kagehi wrote:
Is there a output device?
Yes - Is it available?
Yes - Who cares, send the sound file anyway.
Driver/Card - Oops.. Someone needs me to play a
new sound, Voice 16 is free, lets put it there...
Yep, that's basically the process, as I understood it. At least, we don't have to care about the managment of the channels, even if we aren't able to predict how many are available.
A quoi rêvent les personnes qui nous font vivre ce monde ?
|
|
|
|
|
Because in certain cases it doesn't. The Dink Smallwood engine for instance, at least on my computer, will if I turn on sound occasionally 'lock' one of the sound channels in an endless loop. I am not sure if this is a stability issue, do to memory issues caused by my badly in need of replacing AGP card, or some issue with the engine, but short of shutting down the game (which releases all the channels), it doesn't go away. The articles I have seen appear to indicate that you can be 'sort of' sure that a sound has at least been sent to the card, but not if it is playing or anything else useful. This means that if something locks up a sound channel, which gets stuck looping the sound and for some reason the card never gets told it is supposed to release it, then nothing short of a reboot of the machine will stop it.
This is like a lot of things with that seems to have MS' fingerprints on it. I could care less how well it works when everything goes right, I want to be able to control and correct problems when something inevitably goes wrong. In this case two things can go wrong, right of the top of my head. 1) a channel can get locked and looped, and since you can't reset the card, you have to reboot instead. 2) You can't even verify how many sounds are possible, so you are forced to either keep a list of every model of every card, so the game knows what the card can do, or design conservatively based on the bare minimum you can reasonably expect to have available. The first option is bloat that provides nothing to the game engine and the second option just flat out sucks.
It's like if they designed a new hard drive that you could continue to add more and more stuff too, but didn't let you check how much space your files had already taken up. Suddenly 'wham!' you are out of space and wondering what moron thought it was a good idea. lol
Anyway... Enough ranting. lol
|
|
|
|