20.3.2 Oggetti Parser

Gli oggetti di tipo ``parser'' (restituiti da createparser()) hanno i seguenti metodi:

addcallback( tipo, func, arg)
Aggiunge una funzione di chiamata per l'oggetto parser. Gli oggetti di tipo parser hanno chiamate corrispondenti ad otto tipi diversi di dati che possono essere letti in un flusso dati di audio digitale. Nel modulo cd (vedere i paragrafi precedenti) vengono definite delle costanti che identificano questi tipi di dati. Una funzione callback viene chiamata come segue: func(arg, tipo, data), dove arg è l'argomento specificato dal codice utente, tipo è il particolare tipo di callback chiamata e data sono i dati passati a quel tipo di callback. Il tipo di dati dipende dal tipo di callback, nel modo che segue:

Tipo  Valore 
audio Una stringa che può essere passata immutata ad al.writesamps().
pnum Un numero intero corrispondente al numero di traccia (programma).
index Un numero intero corrispondente al numero di indice.
ptime Una tupla che esprime il tempo del programma in minuti, secondi e numero di frame.
atime Una tupla che esprime il tempo assoluto in minuti, secondi e numero di frame.
catalog Una stringa di 13 caratteri, corrispondente al numero di catalogo del CD.
ident Una stringa di dodici caratteri corrispondente al numero di registrazione IRSC della registrazione. La stringa si compone di due caratteri per il codice della nazione, tre caratteri per il codice del proprietario, due caratteri per l'anno e cinque caratteri corrispondenti ad un numero seriale di identificazione.
control Un numero intero corrispondente ai bit di controllo dei dati dei sotto-codici del CD.

deleteparser( )
Elimina l'oggetto parser e libera la memoria che questo stava usando. L'oggetto non dovrebbe più esser usato dopo questa chiamata. Questa chiamata viene effettuata automaticamente quando l'ultimo riferimento all'oggetto viene rimosso.

parseframe( frame)
Analizza uno o più frame di dati audio digitali letti da un CD, quali quelli restituiti da readda(). Stabilisce quali sotto-codici sono presenti nei dati. Se tali sotto-codici sono cambiati rispetto all'ultimo frame, allora parseframe() esegue la funzione di chiamata del tipo appropriato, passandogli i dati del sotto-codice trovati nel frame. A differenza della funzione C, è possibile passare a questo metodo più di un frame di dati audio digitali.

removecallback( tipo)
Rimuove la funzione callback per il tipo specificato.

resetparser( )
Re-inizializza i campi dell'oggetto parser usati per tener traccia dei sotto-codici, riportandoli ai valori iniziali. Il metodo resetparser() dovrebbe essere chiamato quando viene cambiato il CD.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.