messagingapp/smartmessaging/ringbc/inc/nsmringtone.h
changeset 23 238255e8b033
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/smartmessaging/ringbc/inc/nsmringtone.h	Fri Apr 16 14:56:15 2010 +0300
@@ -0,0 +1,206 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  	This file contains enums for Nokia Smart Messaging
+*				Ringing Tone file format.
+*
+*/
+
+
+
+#ifndef __NSMRINGTONE_H
+#define __NSMRINGTONE_H
+
+enum // Song Pattern Header
+{
+	EPatternIdA = 0x00,
+	EPatternIdB = 0x01,
+	EPatternIdC = 0x02,
+	EPatternIdD = 0x03
+};
+
+enum // Instruction Id
+{
+	EPatternHeaderId = 0x00,
+	ENoteInstructionId = 0x01,
+	EScaleInstructionId = 0x02,
+	EStyleInstructionId = 0x03,
+	ETempoInstructionId = 0x04, 
+	EVolumeInstructionId = 0x05
+};
+
+enum //Note Value
+{
+	ENotePause = 0x00,
+	ENoteC = 0x01,
+	ENoteCis = 0x02,
+	ENoteD = 0x03,
+	ENoteDis = 0x04,
+	ENoteE = 0x05,
+	ENoteF = 0x06,
+	ENoteFis = 0x07,
+	ENoteG = 0x08,
+	ENoteGis = 0x09,
+	ENoteA = 0x0a,
+	ENoteAis = 0x0b,
+	ENoteB = 0x0c
+};
+
+enum // Note Duration
+{
+	EDurationFull = 0x00,
+	EDurationHalf = 0x01,
+	EDurationQuarter = 0x02,
+	EDurationEighth = 0x03,
+	EDurationSixteenth = 0x04,
+	EDurationThirtysecond = 0x05
+};
+
+enum // Duration Specifier
+{
+	EDurSpecifierNone = 0x00,
+	EDurSpecifierDotted = 0x01,
+	EDurSpecifireDoubleDotted =0x02, // not supported in composer
+	EDurSpecifierTriplet = 0x03
+};
+
+enum // Scale
+{
+	EScale1 = 0x00,
+	EScale2 = 0x01,
+	EScale3 = 0x02,
+	EScale4 = 0x03
+};
+
+enum // Style
+{
+	EStyleNatural = 0x00,
+	EStyleLegato = 0x01,
+	EStyleStaccato = 0x02,
+    EStyleReserved = 0x03
+};
+
+enum // Tempo index
+{
+	ETempo25 = 0x00,
+	ETempo28 = 0x01,
+	ETempo31 = 0x02,
+	ETempo35 = 0x03,
+	ETempo40 = 0x04,
+	ETempo45 = 0x05,
+	ETempo50 = 0x06,
+	ETempo56 = 0x07,
+	ETempo63 = 0x08,
+	ETempo70 = 0x09,
+	ETempo80 = 0x0a,
+	ETempo90 = 0x0b,
+	ETempo100 = 0x0c,
+	ETempo112 = 0x0d,
+	ETempo125 = 0x0e,
+	ETempo140 = 0x0f,
+	ETempo160 = 0x10,
+	ETempo180 = 0x11,
+	ETempo200 = 0x12,
+	ETempo225 = 0x13,
+	ETempo250 = 0x14,
+	ETempo285 = 0x15,
+	ETempo320 = 0x16,
+	ETempo355 = 0x17,
+	ETempo400 = 0x18,
+	ETempo450 = 0x19,
+	ETempo500 = 0x1a,
+	ETempo565 = 0x1b,
+	ETempo635 = 0x1c,
+	ETempo715 = 0x1d,
+	ETempo800 = 0x1e,
+	ETempo900 = 0x1f 
+};
+
+enum // Volume levels
+{
+	EVolumeToneOff = 0x00,
+	EVolumeLevel1 = 0x01,
+	EVolumeLevel2 = 0x02,
+	EVolumeLevel3 = 0x03,
+	EVolumeLevel4 = 0x04,
+	EVolumeLevel5 = 0x05,
+	EVolumeLevel6 = 0x06,
+	EVolumeLevel7 = 0x07,
+	EVolumeLevel8 = 0x08,
+	EVolumeLevel9 = 0x09,
+	EVolumeLevel10 = 0x0a,
+	EVolumeLevel11 = 0x0b,
+	EVolumeLevel12 = 0x0c,
+	EVolumeLevel13 = 0x0d,
+	EVolumeLevel14 = 0x0e,
+	EVolumeLevel15 = 0x0f
+};
+
+// Ringing Tones Command
+const TInt KrtCommandLengthBits = 8;
+const TInt KrtCommandEnd = 0x00;
+const TInt KrtCommandEndBits = 8;
+const TInt KrtCommandFillerBits = 0;
+const TInt KrtCommandPartBits = 7;
+const TInt KrtCommandCancelCommand = 0x05;
+const TInt KrtCommandRTProgramming = 0x25;
+const TInt KrtCommandSound = 0x1d;
+const TInt KrtCommandUnicode = 0x22;
+
+// Ringing Tones Song Type
+const TInt KrtSongTypeBits = 3;
+const TInt KrtSongTypeBasic = 0x01;
+const TInt KrtSongTypeTemporary = 0x02;
+const TInt KrtSongTitleTextLengthBits = 4;
+const TInt KrtSongTitleTextLength = 1<<KrtSongTitleTextLengthBits;
+const TInt KrtSongTitleMaxLength = 0x0f;
+const TInt KrtDefaultCharBits = 8;
+const TInt KrtUnicodeCharBits = 16;
+const TInt KrtSongsequenceLengthBits = 8;
+
+// Ringing Tones Pattern
+const TInt KrtPatternIdLengthBit = 2;
+const TInt KrtPatternLoopValueBits = 4;
+const TInt KrtPatternSpecBits = 8;
+const TInt KrtPatternDefined = 0x00;
+const TInt KrtPatternRepeatInfinite = 0x0f;
+
+// Ringing Tones Instruction
+const TInt KrtInstructionIdLengthBit = 3;
+const TInt KrtNoteValueBits = 4;
+const TInt KrtNoteDurationBits = 3;
+const TInt KrtNoteDurSpecifierBits = 2;
+const TInt KrtNoteScaleBits = 2;
+const TInt KrtNoteStyleBits = 2;
+const TInt KrtTempoBits = 5;
+const TInt KrtVolumebits = 4;
+
+// Default values 
+const TInt KrtVolumeDefault = EVolumeLevel7;
+const TInt KrtBpmDefault = ETempo160;
+
+const TInt KRingingToneBmpTable[] =
+{
+	25, 28, 31, 35, 40, 45, 50, 56, 63, 70, 80, 90, 100, 112, 125,
+	140, 160, 180, 200, 225, 250, 258, 320, 355, 400, 450, 500, 
+	565, 635, 715, 800, 900
+};
+
+const TInt KrtFlagRTProgramming = 1;
+const TInt KrtFlagUnicode = 2;
+const TInt KrtFiller = 0;
+
+const TInt KrtMaxNotesInPattern = 80;
+
+#endif
+