summaryrefslogtreecommitdiffabout
authorzautrix <zautrix>2004-08-30 20:21:20 (UTC)
committer zautrix <zautrix>2004-08-30 20:21:20 (UTC)
commit109a23b70f67552a9ce27f682bb2b1bdbb2bb4f3 (patch) (side-by-side diff)
tree30407f1548315b403f1ad7c55c81744413fcd14c
parent5f4867356dc4b34da20b66e9ede71e22899e4a4b (diff)
downloadkdepimpi-109a23b70f67552a9ce27f682bb2b1bdbb2bb4f3.zip
kdepimpi-109a23b70f67552a9ce27f682bb2b1bdbb2bb4f3.tar.gz
kdepimpi-109a23b70f67552a9ce27f682bb2b1bdbb2bb4f3.tar.bz2
sine fix
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--gammu/emb/common/common.pro1
-rw-r--r--gammu/emb/common/service/gsmring.c6
2 files changed, 6 insertions, 1 deletions
diff --git a/gammu/emb/common/common.pro b/gammu/emb/common/common.pro
index 9342cb7..0e719ee 100644
--- a/gammu/emb/common/common.pro
+++ b/gammu/emb/common/common.pro
@@ -143,44 +143,45 @@ device/bluetoth/affix.c \
device/bluetoth/bluez.c \
device/bluetoth/blue_w32.c \
device/bluetoth/bluetoth.c \
device/serial/ser_djg.c \
device/irda/irda.c \
device/devfunc.c \
protocol/at/at.c \
protocol/alcatel/alcabus.c \
protocol/nokia/mbus2.c \
protocol/nokia/fbus2.c \
protocol/nokia/phonet.c \
protocol/obex/obex.c \
protocol/symbian/mrouter.c \
phone/pfunc.c \
phone/at/atgen.c \
phone/at/siemens.c \
phone/at/sonyeric.c \
phone/alcatel/alcatel.c \
phone/nokia/dct3/n6110.c \
phone/nokia/dct3/n7110.c \
phone/nokia/dct3/n9210.c \
phone/nokia/dct3/dct3func.c \
phone/nokia/dct4/n3320.c \
phone/nokia/dct4/n3650.c \
phone/nokia/dct4/n6510.c \
phone/nokia/dct4/dct4func.c \
phone/nokia/nauto.c \
phone/nokia/nfunc.c \
phone/nokia/nfuncold.c \
phone/obex/obexgen.c \
phone/symbian/mroutgen.c
+DEFINES += DESKTOP_VERSION
TARGET = microgammu
CONFIG = warn_off release console
DESTDIR = ../../../bin
OBJECTS_DIR = obj/unix
MOC_DIR = moc/unix
unix: {
SOURCES += device/serial/ser_unx.c
}
win32:{
SOURCES += device/serial/ser_w32.c
}
diff --git a/gammu/emb/common/service/gsmring.c b/gammu/emb/common/service/gsmring.c
index f7f7082..7df46f1 100644
--- a/gammu/emb/common/service/gsmring.c
+++ b/gammu/emb/common/service/gsmring.c
@@ -75,66 +75,70 @@ int GSM_RingNoteGetFullDuration(GSM_RingNote Note)
# define PI 3.141592654
#endif
#define WAV_SAMPLE_RATE 44100
GSM_Error savewav(FILE *file, GSM_Ringtone *ringtone)
{
unsigned char WAV_Header[] = {
'R','I','F','F',
0x00,0x00,0x00,0x00, /* Length */
'W','A','V','E'};
unsigned char FMT_Header[] = {'f','m','t',' ',
0x10,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x44,0xac,
0x00,0x00,0x88,0x58,0x01,0x00,0x02,0x00,0x10,0x00};
unsigned char DATA_Header[] = {
'd','a','t','a',
0x00,0x00,0x00,0x00}; /* Length */
short DATA_Buffer[60000];
long wavfilesize;
GSM_RingNote *Note;
long i,j,length=0;
double phase=0,phase_step;
fwrite(&WAV_Header, 1, sizeof(WAV_Header), file);
fwrite(&FMT_Header, 1, sizeof(FMT_Header), file);
fwrite(&DATA_Header, 1, sizeof(DATA_Header), file);
for (i=0;i<ringtone->NoteTone.NrCommands;i++) {
if (ringtone->NoteTone.Commands[i].Type == RING_Note) {
Note = &ringtone->NoteTone.Commands[i].Note;
phase_step = GSM_RingNoteGetFrequency(*Note)*WAV_SAMPLE_RATE*1.5;
for (j=0;j<((long)(GSM_RingNoteGetFullDuration(*Note)*WAV_SAMPLE_RATE/70));j++) {
- /*DATA_Buffer[j] = ((int)(sin(phase*PI)*50000));*/
+#ifdef DESKTOP_VERSION
+ DATA_Buffer[j] = ((int)(sin(phase*PI)*50000));
+#else
+ // we have no sin on Zaurus
DATA_Buffer[j] = ((int)(0.5*50000));
+#endif
phase = phase + phase_step;
length++;
}
fwrite(&DATA_Buffer,sizeof(short),j,file);
}
}
wavfilesize = sizeof(WAV_Header) + sizeof(FMT_Header) + sizeof(DATA_Header) + length*2;
WAV_Header[4] = ((unsigned char)wavfilesize % 256);
WAV_Header[5] = ((unsigned char)wavfilesize / 256);
WAV_Header[6] = ((unsigned char)wavfilesize / (256*256));
WAV_Header[7] = ((unsigned char)wavfilesize / (256*256*256));
wavfilesize = wavfilesize - 54;
DATA_Header[4] = ((unsigned char)wavfilesize % 256);
DATA_Header[5] = ((unsigned char)wavfilesize / 256);
DATA_Header[6] = ((unsigned char)wavfilesize / (256*256));
DATA_Header[7] = ((unsigned char)wavfilesize / (256*256*256));
fseek( file, 0, SEEK_SET);
fwrite(&WAV_Header, 1, sizeof(WAV_Header), file);
fwrite(&FMT_Header, 1, sizeof(FMT_Header), file);
fwrite(&DATA_Header, 1, sizeof(DATA_Header), file);
return ERR_NONE;
}
static GSM_Error savebin(FILE *file, GSM_Ringtone *ringtone)
{
char nullchar=0x00;
fwrite(&nullchar,1,1,file);
fwrite(&nullchar,1,1,file);