Mercurial > pidgin
view plugins/crazychat/filter.c @ 14059:2d1b41e3cf0d
[gaim-migrate @ 16674]
Add a way to change some preferences (the preferences for the
conversations do not do anything yet). I used the request-api
for this, which I think is cool. But too many preferences will
make the dialog long, which may not fit in the screen. It looks
alright for now though. You can pop the dialog up with "/prefs"
command in a converastion.
And some other minor fixes.
committer: Tailor Script <tailor@pidgin.im>
| author | Sadrul Habib Chowdhury <imadil@gmail.com> |
|---|---|
| date | Wed, 09 Aug 2006 03:41:45 +0000 |
| parents | ed017b9c532d |
| children |
line wrap: on
line source
#include "cc_interface.h" #include "filter.h" #include "stdio.h" #define coef_0 .0022 #define coef_1 .0174 #define coef_2 .0737 #define coef_3 .1662 #define coef_4 .2405 filter_bank* Filter_Initialize (void) { filter_bank* new_filter; new_filter=(filter_bank*)malloc(sizeof(filter_bank)); memset(new_filter,0,sizeof(filter_bank)); // fprintf(stderr,"RESETTING FILTER BANK *******************\n"); return new_filter; } void Filter_Destroy (filter_bank *f) { free(f); } void filter(struct cc_features *features, filter_bank *f) { f->head_size[9]=f->head_size[8]; f->head_size[8]=f->head_size[7]; f->head_size[7]=f->head_size[6]; f->head_size[6]=f->head_size[5]; f->head_size[5]=f->head_size[4]; f->head_size[4]=f->head_size[3]; f->head_size[3]=f->head_size[2]; f->head_size[2]=f->head_size[1]; f->head_size[1]=f->head_size[0]; f->head_size[0]=features->head_size; features->head_size=(guint8) ( (coef_0*(f->head_size[0]+f->head_size[9]))+(coef_1*(f->head_size[1]+f->head_size[8])) + (coef_2*(f->head_size[2]+f->head_size[7])) + (coef_3*(f->head_size[3]+f->head_size[6])) + (coef_4*(f->head_size[4]+f->head_size[5]))); f->head_z_rot[9]=f->head_z_rot[8]; f->head_z_rot[8]=f->head_z_rot[7]; f->head_z_rot[7]=f->head_z_rot[6]; f->head_z_rot[6]=f->head_z_rot[5]; f->head_z_rot[5]=f->head_z_rot[4]; f->head_z_rot[4]=f->head_z_rot[3]; f->head_z_rot[3]=f->head_z_rot[2]; f->head_z_rot[2]=f->head_z_rot[1]; f->head_z_rot[1]=f->head_z_rot[0]; f->head_z_rot[0]=features->head_z_rot; features->head_z_rot=(guint8) ( (coef_0*(f->head_z_rot[0]+f->head_z_rot[9]))+(coef_1*(f->head_z_rot[1]+f->head_z_rot[8])) + (coef_2*(f->head_z_rot[2]+f->head_z_rot[7])) + (coef_3*(f->head_z_rot[3]+f->head_z_rot[6])) + (coef_4*(f->head_z_rot[4]+f->head_z_rot[5]))); f->head_y_rot[9]=f->head_y_rot[8]; f->head_y_rot[8]=f->head_y_rot[7]; f->head_y_rot[7]=f->head_y_rot[6]; f->head_y_rot[6]=f->head_y_rot[5]; f->head_y_rot[5]=f->head_y_rot[4]; f->head_y_rot[4]=f->head_y_rot[3]; f->head_y_rot[3]=f->head_y_rot[2]; f->head_y_rot[2]=f->head_y_rot[1]; f->head_y_rot[1]=f->head_y_rot[0]; f->head_y_rot[0]=features->head_y_rot; features->head_y_rot=(guint8) ( (coef_0*(f->head_y_rot[0]+f->head_y_rot[9]))+(coef_1*(f->head_y_rot[1]+f->head_y_rot[8])) + (coef_2*(f->head_y_rot[2]+f->head_y_rot[7])) + (coef_3*(f->head_y_rot[3]+f->head_y_rot[6])) + (coef_4*(f->head_y_rot[4]+f->head_y_rot[5]))); f->xfilt[9]=f->xfilt[8]; f->xfilt[8]=f->xfilt[7]; f->xfilt[7]=f->xfilt[6]; f->xfilt[6]=f->xfilt[5]; f->xfilt[5]=f->xfilt[4]; f->xfilt[4]=f->xfilt[3]; f->xfilt[3]=f->xfilt[2]; f->xfilt[2]=f->xfilt[1]; f->xfilt[1]=f->xfilt[0]; f->xfilt[0]=features->x; features->x=(guint8) ( (coef_0*(f->xfilt[0]+f->xfilt[9]))+(coef_1*(f->xfilt[1]+f->xfilt[8])) + (coef_2*(f->xfilt[2]+f->xfilt[7])) + (coef_3*(f->xfilt[3]+f->xfilt[6])) + (coef_4*(f->xfilt[4]+f->xfilt[5]))); f->yfilt[9]=f->yfilt[8]; f->yfilt[8]=f->yfilt[7]; f->yfilt[7]=f->yfilt[6]; f->yfilt[6]=f->yfilt[5]; f->yfilt[5]=f->yfilt[4]; f->yfilt[4]=f->yfilt[3]; f->yfilt[3]=f->yfilt[2]; f->yfilt[2]=f->yfilt[1]; f->yfilt[1]=f->yfilt[0]; f->yfilt[0]=features->y; features->y=(guint8) ( (coef_0*(f->yfilt[0]+f->yfilt[9]))+(coef_1*(f->yfilt[1]+f->yfilt[8])) + (coef_2*(f->yfilt[2]+f->yfilt[7])) + (coef_3*(f->yfilt[3]+f->yfilt[6])) + (coef_4*(f->yfilt[4]+f->yfilt[5]))); f->mouth_open[9]=f->mouth_open[8]; f->mouth_open[8]=f->mouth_open[7]; f->mouth_open[7]=f->mouth_open[6]; f->mouth_open[6]=f->mouth_open[5]; f->mouth_open[5]=f->mouth_open[4]; f->mouth_open[4]=f->mouth_open[3]; f->mouth_open[3]=f->mouth_open[2]; f->mouth_open[2]=f->mouth_open[1]; f->mouth_open[1]=f->mouth_open[0]; f->mouth_open[0]=features->mouth_open; features->mouth_open=(guint8) ( (coef_0*(f->mouth_open[0]+f->mouth_open[9]))+(coef_1*(f->mouth_open[1]+f->mouth_open[8])) + (coef_2*(f->mouth_open[2]+f->mouth_open[7])) + (coef_3*(f->mouth_open[3]+f->mouth_open[6])) + (coef_4*(f->mouth_open[4]+f->mouth_open[5]))); }
