viewgit/index.php:465 Only variables should be passed by reference [2048]
viewgit/index.php:466 Non-static method GeSHi::get_language_name_from_extension() should not be called statically [2048]
/* * Questa è una semplice libreria per gestire del basilare audio * in C che ho scritto quando ho frequentato il corsi di * Laboratorio sperimentale di Matematica Computazionale * per essere più comodo a maneggiare i file. * * Penso che supporterà solamente file audio raw a 16 bit * con una frequenza di 44100 Hz (quelli dei CD, per intenderci) * perché non abbiamo mai avuto bisogno di altro. * * Leonardo Robol <robol@poisson.phc.unipi.it> */ #ifndef __SIMPLE_AUDIO_H #define __SIMPLE_AUDIO_H #define SA_FREQUENCY 44100 #define SA_BIT 16 /* * Questo tipo definisce una generica serie di fourier * troncata. * In generale sarà intesa come * f(t) = a_0/2 + somma di seni + somma di coseni */ typedef struct { int cos_len; int sin_len; double* cos_values; double* sin_values; int a_0; } sa_fourier_series; typedef struct { // Serie di fourier della forma d'onda sa_fourier_series* fs; // Nome char* name; } sa_instrument; typedef short int sample; // Questa union ci serve per scambiare i byte con comodità typedef union { sample s; unsigned char bytes[2]; } sample_b; // Traccia audio typedef struct { int channels; sample** data; int* len; } sa_track; // Crea una traccia vuota con n canali sa_track* sa_track_new(int n); // Elimina una traccia e tutto il suo contenuto int sa_track_free(sa_track* t); // Aggiunge dati ad una traccia int sa_track_append(sa_track* t, sample* s, int len, int channel); // Genera un singolo sample dello strumento prescelto dopo // un certo tempo sample sa_note_sample(sa_instrument* instrument, double frequency, double time); // Determina la frequenza di una nota double sa_parse_note(char* note); // Converte un double fra 0 e 1 in un sample a 16bit sample sa_double_to_sample(double); // Genera len sample dello strumento scelto che suona la // nota scelta sample* sa_note(sa_instrument instrument, char* note, int len); // Il silenzio :) sample* sa_silence(int len); // Scrive la traccia su file int sa_track_write(sa_track* t, char* filename); // Determina se il computer sta usando la convenzione little // endian o big endian int sa_is_little_endian(); int sa_is_big_endian(); sample sa_swap_bytes(sample s); #endif