Oppure

Loading
06/01/16 13:26
AldoBaldo
Buongiorno a chi mi legge. Ho un quesitino per gli esperti...

Ho scaricato AV Linux e ho preparato uno stick usb in modalità "persistent". Funziona tutto a dovere, non ho rimostranze di sorta. Il motivo per il quale scrivo è che ho notato un comportamento strano con Wine: lanciando alcuni miei programmi per Windows funziona tutto a dovere, ma le trasparenze e l'antialiasing ottenuti tramite GdiPlus vanno completamente persi, con risultati grafici deludenti o, in qualche caso in cui le trasparenze servono a garantire "leggibilità", incomprensibili. C'è qualche impostazione "magica" di Wine della quale sono all'oscuro o è normale che sia così, e pace?

P.S. Un esempio di programma "incriminato" può essere questo:

dhost.info/spifferiamo/html/…
Ultima modifica effettuata da AldoBaldo 06/01/16 13:31
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
08/01/16 14:30
lumo
Uhm, l'ho provato ma non ho ben capito il problema, puoi mettere uno screen di come dovrebbe vedersi?
La cosa che ho notato è che non sento l'audio.
aaa
08/01/16 17:50
AldoBaldo
Ecco lo screenshot con la finestra nelle dimensioni alle quali si apre il programma. Se il difetto che ho notato io si replica anche sul tuo PC, mentre nello screenshot la chiave e le note sono belle arrotondate per via dell'antialiasing, aprendo il programma in Wine appaiono vistose "scalettature" e perfino alcune deformazioni.

La tracciatura tanto della chiave quanto delle note avviene con la funzione di GdiPlus Graphics::FillPath(), dopo avere attivato l'antialiasing con Graphics::SetSmoothingMode( SmoothingModeHighQuality ).

Non ho notato l'assenza dell'audio perché... non m'è venuto in mente di provarlo in Wine! In questo momento sto usando Windows, quindi non ho la possibilità di verificare nell'immediato. Però posso dirti che l'audio è ottenuto tramite MIDI, lasciando intatte le impostazioni di default (dunque Windows usa il driver e il sintetizzatore MIDI impostati come default nel pannello di controllo).

L'inizializzazione del MIDI avviene con midiOutOpen( &g.handleMIDIOut, (UINT)0, 0, 0, CALLBACK_NULL ), mentre l'esecuzione delle singole note avviene con midiOutShortMsg( g.handleMIDIOut, midi.n ), dove midi.n è un unsigned long che "riassume" il contenuto dell'evento MIDI richiesto, altrimenti "esploso" sui classici quattro bytes.

typedef union midiAux{
    unsigned long n;
    char byte[4];
};


Insomma, niente di rivoluzionario, direi che sono chiamate ad API piuttosto comuni. Potrebbe essere che Wine ha dei "buchi"?
Ultima modifica effettuata da AldoBaldo 08/01/16 17:58
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
06/02/16 20:35
lumo
Purtroppo linux mi si è autodistrutto (a volte mi capita), però appena posso riproverò.
È molto facile che wine abbia dei buchi per quanto riguarda gdi ma penso sia meno probabile una mancanza sul fronte audio, lì è stato fatto un sacco di lavoro. Probabilmente dovevo impostare qualcosa, chissà.
aaa