User Ratings
Rate This Project
Login To Rate This Project
            User Reviews
- 
    
    
    Nice project. Some patches dont match. Some games dont compile glib need manual modification and a local libtool. Navit work, but need modifications on 32Mbyte devices like tt one XL I activated swap in Kernel, Busybox and on sdcard. Also i use verry "small" settings: cache_size="6000000" route_depth="4:15%,6:1%,8:10000,18:4000" To enable navit ti speak this simple espeak wrapper help: ----espeakdsp.c------ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/soundcard.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #define IBUFFERLEN 1024 #define MAXARGC 30 int main(int argc, char *argv[],char *envp[]) { int pipefd[2]; pid_t cpid; char buf; int co,wp,l,fh; short bufi[IBUFFERLEN],bufo[IBUFFERLEN*2]; int rate=22050; char *newargv[MAXARGC+2]; for(co=0;co<argc;co++) { if(co>=MAXARGC)break; newargv[co]=argv[co]; } newargv[co++]="--stdout"; newargv[co++]=NULL; if (pipe(pipefd) == -1) { perror("pipe"); exit(EXIT_FAILURE); } if(setpriority(PRIO_PROCESS,0,-10)) perror ("setpriority"); cpid = fork(); if (cpid == -1) { perror("fork"); exit(EXIT_FAILURE); } if (cpid == 0) { /* Child writes to pipe */ close(pipefd[0]); /* Close unused read end */ dup2(pipefd[1],1); execve("/mnt/sdcard/opentom/bin/espeak",newargv,envp); perror("exec /mnt/sdcard/opentom/bin/espeak"); close(pipefd[1]); /* Reader will see EOF */ wait(NULL); /* Wait for child */ exit(EXIT_SUCCESS); } else { /* Parent read from pipe */ close(pipefd[1]); /* Close unused write end */ l=read(pipefd[0],bufi,64); if(memcmp(bufi,"RIFF",4)) { while(l>0) { write(1,bufi,l); l=read(pipefd[0],bufi,IBUFFERLEN); } exit(EXIT_SUCCESS); } l=read(pipefd[0],bufi,IBUFFERLEN); if(l<500) { printf("espeakdsp: avoid noise speaking a empty string\n"); exit(EXIT_SUCCESS); } usleep (50000); fh=open("/dev/dsp",O_WRONLY); if(fh<0) { perror("open /dev/dsp"); exit(EXIT_FAILURE); } ioctl(fh, SNDCTL_DSP_SPEED , &rate); ioctl(fh, SNDCTL_DSP_SYNC, 0); while(l) { for(co=0,wp=0;co<IBUFFERLEN;co++) { bufo[wp++]=bufi[co]; /* mono->stereo */ bufo[wp++]=bufi[co]; } write (fh,bufo,wp); l=read(pipefd[0],bufi,IBUFFERLEN); } ioctl(fh, SNDCTL_DSP_SYNC, 0); close(pipefd[0]); exit(EXIT_SUCCESS); } }
 
- Previous
 - You're on page 1
 - Next