Newsgroup: it.comp.lang.visual-basic
Titolo: Grafica avanzata in VB, MP3, masterizzare. Chi vuole aiutarmi?

salve a tutti. Sono uno studente universitario e sto lavorando da molto
tempo (due anni) a un programma apparentemente semplice ma tecnicamente
complesso. Un programma che permetta di creare e mostrare album fotografici
anche su cd, che sia di facile e immediato utilizzo. Ho gia' ottenuto un bel
risultato, ma ho ancora diverse problematiche da risolvere. E in particolar
modo:
* la riproduzione di file mp3 senza l'uso del Media Player
* visualizzazione a tumbnail (miniature come nell'AcdSee) di piu' di 100foto
di qualsiasi dimensione
* masterizzazione su cd (preferib. multisessione) degli album
Al momento, il "programma" si divide in due programmi: un'editor e un
viewer. Il primo permette di creare gli album e il secondo di riprodurli.
Gli album sono dei semplici file da 60kb che contengono la miniatura,
titolo, descrizione dell'album e l'elenco delle immagini e dei brani audio
da riprodurre. Pre ogni foto e' specificata una descrizione, un tempo di
permanenza e il tipo di effetto visivo da applicare. Ho passato il 90% del
tempo a sviluppare la dissolvenza incrociata delle foto in tempo reale, che
e' al momento l'unico effetto visivo. Ho sviluppato un'algoritmo che
permette di fare la dissolvenza incrociata parametrizzandone la qualita' e
la velocita', che viene precalcolata all'inizio della riproduzione per
adattarsi al computer in riproduzione. Cosi' facendo l'effetto e'
riproducibile su moltissime tipologie di macchine, anche se la qualita'
dipendera' dalle stesse. Ho dovuto appoggiarmi alle API di Windows e in
particolar modo alle GDI, in quanto l'uso delle DirectDraw non migliorava
sostanzialmente le prestazioni, limitandone l'uso solo a certe tipologie di
Window e versioni delle DirectX installate. Il programma deve invece girare
da CD sul numero maggiore di macchine e Windows possibili. Il risultato e'
andato al di la' delle mie aspettative e ne sono molto soddisfatto.
    Al momento il viewer e' perfettamente funzionante e credo necessiti di
poche migliorie sotto l'aspetto grafico. Rimane da risolvere il problema
delle tracce audio, in particolar modo gli MP3 che al momento vengono
riprodotti usando il Media Player 6.4.10 che ad esempio sul mio computer non
mi permette piu' di riprodurre tutti i tipi di mp3 (cosa che all'inizio
invece faceva). Ho controllato i codec, regedit e system.ini ma non sono
riuscito ancora a capire dove stia il problema. Vorrei quindi togliermi da
questa limitazione, incorporando il codec all'interno del programma
(possibilmente) o appoggiandomi a dll di sistema, in quanto le API non
supportano questo tipo di compressione (da quello che ho capito).
    Per quanto riguarda l'editor, ho adottato una visualizzazione stile
AcdSee, sviluppando un controllo sempre all'interno di VB che mi ha
agevolato la programmazione ma appesantito terribilmente il sistema,
limitando l'utilizzo a circa 100fotografie. Sto quindi cercando di
sopprimere il sistema (a dire il vero assai comodo). Vi sono anche grossi
problemi durante il caricamento delle immagini che devono essere scalate per
essere adattate al tumb. Sia l'uso delle BitBlt che StretcBit che il metodo
PaintPicture hanno grosse limitazioni sulla scala (forse dovuto a un
overflow durante il calcolo della media dei pixel) che costringe a fare lo
scaling a piu' passi. (il problema e' stabilire proprio il numero di
passi!!!) Ma sto lavorandoci sopra, e credo di aver risolto, utilizzando
l'algoritmo Lanczos assai rapido e di facile realizzazione. A tal proposito
consiglio questo sito:
http://www25.brinkster.com/mferris/html/vbip_tute8.html
 nel caso in cui
qualcuno di voi avesse lo stesso problema. Superato questo problema, vi e'
da risolvere il tempo di caricamento delle foto. L'AcdSee stesso, salva i
tumb in un database e ricarica solo le foto modificate. Penso sia necessario
aggiungere la stessa funzione all'interno del mio programma, salvando i
tumbs in un file simile all'interno della cartella delle foto. File che
verra' usato solo dall'editor e non dal viewer, in modo tale che
quest'ultimo funzioni comunque. Inoltre occorre rivedere l'interfaccia,
aggiungendo la possibilita' di aggiungere foto, duplicarle (solo
virtualmente all'interno dell'album), cambiare la velocita' delle
dissolvenza audio e video.
Rimane l'ultima cosa, anche la meno importante, che e' la masterizzazione
dell'album. Ho scaricato qualche documentazione sull'ASPI e un paio di
programmi di esempio, rendendomi cosi' conto che e' fuori dalla mia portata
lo sviluppo di un simile supporto. Se ci fosse qualcuno in grado di aiutarmi
ne sarei veramente grato. Si potrebbe anche fare una funzione di
esportazione che crei un file da usare con i noti programmi di
masterizzazione o copi almeno tutti i file...non so, qui' mi piacerebbe
aprire una discussione.
Con questo conlcudo il lungo messaggio, ringrazio coloro che hanno avuto la
pazienza di leggermi. A breve mettero' sul mio sito il programmino con i
sorgenti. Se qualcuno ne volesse avere una copia, posso inviargliela per
email.
Ciao,
       ALessio.

email.
Se di tuo gradimento, potresti inviarli anche al sito comune
all'indirizzo indicato, in ogni caso facci sapere il link quando
sarai a tiro :-)
-- 
ciao, hal

 sarai a tiro :-)
;-)) perfetto....appena il sorgente dell'editor gira un pochino, lo posto.
Mi piacerebbe avere un parere anche da qualche programmatore :-)
Ciao,
       ALessio.