cheap sound module: what version is this?

Here you have a sample from the PAM8803 library:

Pam8803.h:

/*
 Pam8803.h - Library to control a PAM8803 amplifier module.
 Created by Diego J. Arevalo, November 18, 2012.
 Released into the public domain.
 */

#ifndef Pam8803_h
#define Pam8803_h

class Pam8803
{
public:
  Pam8803(int resetPin, int volumeUpPin, int volumeDownPin);
  void reset();
  int volumeUp();
  int volumeDown();
  int setVolumeInHalf();
private:
  int _gainSetting;
  int _resetPin;
  int _volumeUpPin;
  int _volumeDownPin;
  void setGainSetting(int volumePin);
};

#endif

Pam8803.cpp:

/*
 Pam8803.cpp - Library to control a PAM8803 amplifier module.
 Created by Diego J. Arevalo, November 18, 2012.
 Released into the public domain.
 */

#include "Arduino.h"
#include "Pam8803.h"

const int MIN_GAIN_SETTING = 1;
const int POWER_ON_GAIN_SETTING = 13;
const int MAX_GAIN_SETTING = 64;

Pam8803::Pam8803(int resetPin, int volumeUpPin, int volumeDownPin){
  _gainSetting=POWER_ON_GAIN_SETTING;
  _resetPin=resetPin;
  _volumeUpPin=volumeUpPin;
  _volumeDownPin=volumeDownPin;
  pinMode(_resetPin, OUTPUT);
  pinMode(_volumeUpPin, OUTPUT);
  pinMode(_volumeDownPin, OUTPUT);
  digitalWrite(_resetPin, LOW);
  digitalWrite(_volumeUpPin, HIGH);
  digitalWrite(_volumeDownPin, HIGH);
}

void Pam8803::reset(){
  digitalWrite(_resetPin, LOW);
  digitalWrite(_resetPin, HIGH);
}

int Pam8803::volumeUp(){
  if (_gainSetting<MAX_GAIN_SETTING){
    setGainSetting(_volumeUpPin);
    _gainSetting++;
  }
  return _gainSetting;
}

int Pam8803::volumeDown(){
  if (_gainSetting>MIN_GAIN_SETTING){
    setGainSetting(_volumeDownPin);
    _gainSetting--;
  }
  return _gainSetting;
}

int Pam8803::setVolumeInHalf(){
  if (_gainSetting <= MAX_GAIN_SETTING/2) {
    while (_gainSetting <= MAX_GAIN_SETTING/2) {
      volumeUp();
    }
  }
  else{
    while (_gainSetting >= MAX_GAIN_SETTING/2) {
      volumeDown();
    }
  }
  return _gainSetting;
}

void Pam8803::setGainSetting(int volumePin){
  digitalWrite(volumePin, LOW);
  delay(30*3.5);
  digitalWrite(volumePin, HIGH);
};

and It is working. void setVolumeInHalf is quite useful. Actually using my 8,9 and 10 pin for the amp.

Final library posted here:
http://arduino.cc/forum/index.php/topic,133013.new.html#new