
These are some general scribblings made during the writing of AMPlay - they made sense to me at the time. Their accuracy is not guaranteed, but you may find them useful.

General notes;

Variable naming;

Vars with '_'s in them are global. Otherwise they should be local. Some exceptions to this are the global variables that control aspects of DrWimp.

a_    = general amplay global variable
opt_  = configurable option
c_    = constant
o_t   = track db offset constants
o_a   = album/artist db offset constants
o_m   = menu db offset constants
o_h   = history menu offset constants
o_srch= search block offset constants
api_  = api constants
o_n   = offsets for name blocks
nf_   = extended name block flag constants
tf_   = track flag constants
af_   = album/artist flag constants
nm_   = namecache masks and shifts
data_ = masks and shifts for data word.
ab_   = flags constants for abstore
amp_  = amplayer constants
act_  = main window action constants
n_    = option numbers
bs_   = button states
om_   = ordermethod constants
w_    = window handle
w_X_  = icon handles on window X
m_    = menu handle
m_X_  = menu entry constant on menu X



a_playingtrack%  = currently playing track (0 if none) (number in a_tracks%)
a_playingartist% = pointer to artist from which track comes
a_playingalbum%  = pointer to album from which track comes
a_listtrack%     = currently playing track (number in a_tracklist)
a_listalbum%     = currently playing album (number in a_albumlist)
a_listartist%    = currently playing artist (number in a_artistlist)


a_tags$();
0 = trackname
1 = artist
2 = album
3 = year
4 = comment
5 = genre
6 = idtag 1.1 track number
(of currently playing track)



LanMan98 character mapping;
PC  RISC OS
.   /
$   <
^   >
#   ?
@   ;=
&   ;+
%   ;~ unless at end of filename, in which case /

The end of filename case isn't dealt with by amplay as the function that
does the conversion doesn't know whether an extension has been trimmed.
This may get fixed in a future version, but it's a rare case anyway, and the effect of getting it wrong will be purely cosmetic.

Sunfish mapping;

?XX, where XX is hex indicating ascii code of the character on the remote filesystem.


Registered filetypes

AMPlay=&1b3 (AMPlay responds to double-click)
AMPlayCF=&1b2 (AMPlayCFG responds to double-click)

Registered Message Block: &563c0 - &563ff 

________________________________________________________________________
Copyright  2008 Mike Sandells, mike@mikejs.com
Last Modified: 30.05.2008
