/*@@includes:*/
includes
{
  #include "MostDefs.cin"
}
/*@@end*/

/*@@var:*/
variables
{
  int gADPInstance = 0x1;
}
/*@@end*/

/*@@sysvarChange:AC::Button_Play:*/
on sysvar AC::Button_Play
{
  if(@this == 1)
  {
    mostAMSOutput(mostGetChannel(), "AudioDiskPlayer.DeckStatus.Set(Play)", gADPInstance);
  }
}
/*@@end*/

/*@@sysvarChange:AC::Button_Stop:*/
on sysvar AC::Button_Stop
{
  if(@this == 1)
  {
    mostAMSOutput(mostGetChannel(), "AudioDiskPlayer.DeckStatus.Set(Stop)", gADPInstance);
  }
}
/*@@end*/

/*@@sysvarChange:AC::Button_Pause:*/
on sysvar AC::Button_Pause
{
  if(@this == 1)
  {
    mostAMSOutput(mostGetChannel(), "AudioDiskPlayer.DeckStatus.Set(Pause)", gADPInstance);
  }
}
/*@@end*/

/*@@sysvarChange:AC::Button_Inc:*/
on sysvar AC::Button_Inc
{  
  if(@this == 1)
  {
    mostAMSOutput(mostGetChannel(),  "AudioDiskPlayer.TrackPosition.Increment(1)", gADPInstance);
  }
}
/*@@end*/

/*@@sysvarChange:AC::Button_Dec:*/
on sysvar AC::Button_Dec
{
  if(@this == 1)
  {
    mostAMSOutput(mostGetChannel(), "AudioDiskPlayer.TrackPosition.Decrement(1)", gADPInstance); 
  }
}
/*@@end*/

/*@@caplFunc:GetADPInstance():*///function
// returns a instance number of the AudioDiskPlayer (0x31)
int GetADPInstance ()
{
  int i; 
  gADPInstance = 1 ; // default value
  for(i = 0; i < MostAsRgGetSize(kBusRegistry); i++)
  {
    if(MostAsRgGetFBlockID(kBusRegistry, i) == 0x31) 
    {
      return MostAsrgGetInstID(kBusRegistry, i) ;
    }
  }
  return 0;
}
/*@@end*/

/*@@mostAsRegistry:OnMostAsRegistry(long):*/
OnMostAsRegistry(long rgtype)
{
  // determine the instance, as soon as the registry is available
  gADPInstance = GetADPInstance();
}
/*@@end*/

