# Ringtone

GSM_Error PHONE_RTTLPlayOneNote(GSM_StateMachine *s, GSM_RingNote note, gboolean first)

  Play one note using state machine interface.

GSM_Error PHONE_Beep(GSM_StateMachine *s)

  Makes phone beek using state machine interface.

GSM_Error GSM_GetRingtone(GSM_StateMachine *s, GSM_Ringtone *Ringtone, gboolean PhoneRingtone)

  Gets ringtone from phone.

GSM_Error GSM_SetRingtone(GSM_StateMachine *s, GSM_Ringtone *Ringtone, int *maxlength)

  Sets ringtone in phone.

GSM_Error GSM_GetRingtonesInfo(GSM_StateMachine *s, GSM_AllRingtonesInfo *Info)

  Acquires ringtone informaiton.

GSM_Error GSM_DeleteUserRingtones(GSM_StateMachine *s)

  Deletes user defined ringtones from phone.

GSM_Error GSM_PlayTone(GSM_StateMachine *s, int Herz, unsigned char Volume, gboolean start)

  Plays tone.

GSM_Error GSM_RingtoneConvert(GSM_Ringtone *dest, GSM_Ringtone *src, GSM_RingtoneFormat Format)

GSM_Error GSM_ReadRingtoneFile(char *FileName, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneFile(char *FileName, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneOtt(FILE *file, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneMidi(FILE *file, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneIMelody(FILE *file, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneWav(FILE *file, GSM_Ringtone *ringtone)

GSM_Error GSM_SaveRingtoneRttl(FILE *file, GSM_Ringtone *ringtone)

const unsigned char *GSM_GetRingtoneName(const GSM_AllRingtonesInfo *Info, const int ID)

  Returns ringtone name, NULL if not found.

int GSM_RTTLGetTempo(int Beats)

enum GSM_RingNoteStyle

  Values:

  enumerator NaturalStyle

    Natural style (rest between notes)

  enumerator ContinuousStyle

    Continuous style (no rest between notes)

  enumerator StaccatoStyle

    Staccato style (shorter notes and longer rest period)

  enumerator INVALIDStyle

enum GSM_RingNoteNote

  Values:

  enumerator Note_Pause
  enumerator Note_C
  enumerator Note_Cis
  enumerator Note_D
  enumerator Note_Dis
  enumerator Note_E
  enumerator Note_F
  enumerator Note_Fis
  enumerator Note_G
  enumerator Note_Gis
  enumerator Note_A
  enumerator Note_Ais
  enumerator Note_H
  enumerator Note_INVALID

enum GSM_RingNoteDuration

  Values:

  enumerator Duration_Full
  enumerator Duration_1_2
  enumerator Duration_1_4
  enumerator Duration_1_8
  enumerator Duration_1_16
  enumerator Duration_1_32
  enumerator Duration_INVALID

enum GSM_RingNoteDurationSpec

  Values:

  enumerator NoSpecialDuration
  enumerator DottedNote
  enumerator DoubleDottedNote
  enumerator Length_2_3
  enumerator DurationSpec_INVALID

enum GSM_RingNoteScale

  Values:

  enumerator Scale_55

    55 Hz for note A

  enumerator Scale_110

    110 Hz for note A

  enumerator Scale_220
  enumerator Scale_440

    first scale for Nokia

  enumerator Scale_880
  enumerator Scale_1760
  enumerator Scale_3520

    last scale for Nokia

  enumerator Scale_7040
  enumerator Scale_14080

struct GSM_RingNote

enum GSM_RingCommandType

  Values:

  enumerator RING_Note
  enumerator RING_EnableVibra
  enumerator RING_DisableVibra
  enumerator RING_EnableLight
  enumerator RING_DisableLight
  enumerator RING_EnableLED
  enumerator RING_DisableLED
  enumerator RING_Repeat

struct GSM_RingCommand

struct GSM_NoteRingtone

struct GSM_NokiaBinaryRingtone

struct GSM_BinaryTone

enum GSM_RingtoneFormat

  Values:

  enumerator RING_NOTETONE
  enumerator RING_NOKIABINARY
  enumerator RING_MIDI
  enumerator RING_MMF

struct GSM_Ringtone

  Structure for saving various ringtones formats

  Public Members

  GSM_NokiaBinaryRingtone NokiaBinary

    Ringtone saved in one of three formats

  GSM_RingtoneFormat Format

    Ringtone format

  unsigned char Name[(GSM_MAX_RINGTONE_NAME_LENGTH + 1) * 2]

    Ringtone name

  int Location

    Ringtone location

struct GSM_RingtoneInfo

  Public Members

  int Group

    Nokia specific

struct GSM_AllRingtonesInfo