Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Linux - Wine e Gdiplus
Forum - Linux - Wine e Gdiplus

Avatar
AldoBaldo (Member)
Expert


Messaggi: 347
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 14:26
Mercoledì, 06/01/2016
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:

http://dhost.info/spifferiamo/html/scale_x.htm

Ultima modifica effettuata da AldoBaldo il 06/01/2016 alle 14:31


Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 416
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 15:30
Venerdì, 08/01/2016
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.

PM Quote
Avatar
AldoBaldo (Member)
Expert


Messaggi: 347
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 18:50
Venerdì, 08/01/2016
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.

Codice sorgente - presumibilmente C++

  1. typedef union midiAux{
  2.     unsigned long n;
  3.     char byte[4];
  4. };



Insomma, niente di rivoluzionario, direi che sono chiamate ad API piuttosto comuni. Potrebbe essere che Wine ha dei "buchi"?


AldoBaldo ha allegato un file: screenshot.png (16523 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da AldoBaldo il 08/01/2016 alle 18:58


Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 416
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 21:35
Sabato, 06/02/2016
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à.

PM Quote