| ECS-L Home Automation and Security Archives |
| Subject: From: Date: | RE: [ECS] ECS -> ACE Dan Hoehnen Sun, 8 Aug 1999 12:30:16 -0400 |
Scott, That's right. If you want to send a command to the ace server, it must start with "aces:". A little more info... The headers aces:, acec: and aceb: tell the receiving ace module what to do with the command. If you send a command to the ace server that starts with aces: then the server says "Ah, this is for me, I''ll process it". If you send a command to the ace server that starts with acec: then the server says "Ah, this is a client command, I won;t process it, but I'll send it to all clients". If you send a command to the ace client that starts with acec: then the client says "Ah, this is for me, I''ll process it". If you send a command to the ace client that starts with aces: then the client says "Ah, this is a server command, I won't process it, but I'll send it to the server". The server treats the aces: and aceb: headers identically. The client treats the acec: and aceb: headers identically. The doc's do say that you can use the aceb: header in the way you did. So, I have changed the new 32-bit server, now in beta, to accept either aces: or aceb: from ecs. Thanks for helping me clear that up. But, the 16 bit server, which you are using, will continue to only accept aces:. Just to provide one more example, because I know this can be confusing. If you want to send a command from ecs to press a button on a client, you would send a command that looked something like this: acec:1:press:0,0,4 The command would be received by the ace server, but forwarded on to all clients. Only the client with an ID of 1 would process it and push button 4 on Page 0, Group 0. OK, now the ace32wa: header... This is a special case where you don't have an ace client running on the winamp pc, but only have ace-32 running on the winamp pc. The ace32wa: header tells the ace server to not process it (doesn;t start with aces: or aceb:) and to forward it on to ace-32 on the winamp pc. The server uses its winamp config settings to get the ip address of the winamp pc so it can forward the command to the right place. To determine what header to use for a given API command, look in api.txt (or api32.txt) or the help file's API section. Above each section of commands there will be a sentence saying what ace module(s) support the following commands. For example, you will see this heading above all winamp commands: "WinAMP commands supported by the client and server:" Since it says supported by client an server, you only need the aces: or acec: header. This heading appears above the ace-32 commands: "Commands supported by ACE-32:" These commands are only supported by ace-32. Thus, the header needs to have 2 parts. If you are sending the command to the ace-32 module running on the same pc as the ace server, then the header needs to look like this: aces:ace32: This tells the ace server to process the command. The ace server then gets the next header which tells it that the command needs to go to ace-32 and so the server send it along. If sending to ace-32 running on client id 3, use this: acec:3:ace32: This tells the ace server to NOT process the command, but forward to all clients. When the client with ID 3 gets the command, it processes it and sees the ace32:, which tells it that the command needs to go to ace-32 and so the client send it along. This header scheme allows you send any command to any ace module on any pc on the network. I'm sorry for the long winded message. But, if you are confused, then there are probably others in the same boat. Hopefully, this helps to clear things up. Happy ACEing/ECSing! > ok. using aces: worked... it seems the command will _only_ work > if you send aces: as the header. the command doesn't seem to get > passed on if the command > starts with the acec: header. i found the instructions for using > aceb: in the api section of the help file on the server. i get > the impression from the instructions that > i should be able to use aceb: or acec: as well, but i might be > misunderstanding the instructions... > > i also got the impression that the command should read: "aces: > ace32wa: waplay: " so that the server knows to forward the > message over to the winamp > machine, specifically... but that doesn't seem to work... > > thanks for the quick reply... > scott reston > > > > >