AudioX II
(Technical) Can you explain the AudioX link format?
|
The main thing you need to understand is that what players see in the chat window isn't ever sent or received in the form that it appears. When a player sends a message containing an AudioX sample link, the link part of the message is encoded. Likewise when a recipient recieves an (encoded) link, it's decoded for display. This encoding is required because sending non-standard hyperlinks via the chat system causes a forced disconnect (to stop scammers sending fake item links).
AudioX II alpha.13 and onwards AudioX currently uses its own format when sending links between players. The format is: Code:
{AudioX2:SOUNDPATH}
This means that links can be sent to other AudioX users and, provided the soundpath is valid for World of Warcraft, the linked sample should playback regardless of it's presences in the SoundLib. In otherwords sender and recipient SoundLib's need not be the same, or even present for the purpose of AudioX2 link playback or re-linking. This allows the seperation of the relatively light-weight business of handling chat links away from the memory intensive business of loading and searching SoundLibs. It also means that the links aren't entirely meaningless to no AudioX players. They can (with a bit of copy and pasting) play the link back using /script PlaySoundFile("SOUNDPATH"). Third party mod developers can also choose to offer support for the format in their own mods. For example, another chat mod might offer playback facilities for inbound AudioX2 links, without ever needing to concern itself with SoundLibs etc. Disadvantages
Obsolete: AudioX alpha.1 to beta.12 encoded format AudioX used its own format when sending links between players. The format is: Code:
{AudioX:NUMBER:CHECKSUM:VERSION}
Why CHECKSUM and VERSION? It's important that sender and recipient have the same version of the SoundLib.lua. If the soundlibs are different then the path for any given index in SoundLib may or (more importantly) may not be the same. That is, the senders Nth sample in the sender's SoundLib might differ from the recipient's Nth sample in the recipient's SoundLib. CHECKSUM is used to check if a received sample is from a player who is using the same SoundLib. If the SoundLibs differ, VERSION is used to guestimate the cause for the difference and advise on suitable action. Code:
CHECKSUM VERSION PROBABLE CAUSE Same Irrelevent No issue Different Sender < Recipient Sender using old version Different Sender > Recipient Recipient using old version Different Sender = Recipient Sender or Recipient using corrupted SoundLib Why this format?
Downsides:
|