Hi David,@Edmond
Much better.
If I press the monitor button all other buttons are greys out except for the about button. The only way I can get out of the monitor is clicking the about button.
Cheers,
Weird! I have no explanation for this strange behavior other than the file is damaged. Maybe it's gone when you reload the file from my website (and note the password for unzipping). If it's still there, I'm afraid you have to wait until the major update is ready.
Cheers, E.
DiAna crashes WINE (a Windows "emulator" on Mac/Linux) as soon some menu item is selected.
E.g. ARTA or Audiotester run fine with WINE.
E.g. ARTA or Audiotester run fine with WINE.
WINE
I'm sorry to hear it doesn't work under WINE. On the other hand I'm not really surprised, as I have never tested the program under this particular environment. It's already a hell of job to make it work under the many MS operating systems and many different sound cards and registries polluted with rubbish. Not to mention those stupid virus scanners that start wining about so called viruses (reed: false positives). So it's very unlikely I will have time to make it also compatible with WINE. Sorry.
Cheers, E.
Hi zfe,DiAna crashes WINE (a Windows "emulator" on Mac/Linux) as soon some menu item is selected.
E.g. ARTA or Audiotester run fine with WINE.
I'm sorry to hear it doesn't work under WINE. On the other hand I'm not really surprised, as I have never tested the program under this particular environment. It's already a hell of job to make it work under the many MS operating systems and many different sound cards and registries polluted with rubbish. Not to mention those stupid virus scanners that start wining about so called viruses (reed: false positives). So it's very unlikely I will have time to make it also compatible with WINE. Sorry.
Cheers, E.
Hi zfe,
I'm sorry to hear it doesn't work under WINE. On the other hand I'm not really surprised, as I have never tested the program under this particular environment. It's already a hell of job to make it work under the many MS operating systems and many different sound cards and registries polluted with rubbish. Not to mention those stupid virus scanners that start wining about so called viruses (reed: false positives). So it's very unlikely I will have time to make it also compatible with WINE. Sorry.
Cheers, E.
Please don't take this the wrong way, but I would highly suggest porting your code and writing this in a modern framework to avoid all these troubles at some point in the future. You can be far more productive also in a modern framework. Debugging is also going to be easier.
DiAna crashes WINE (a Windows "emulator" on Mac/Linux) as soon some menu item is selected.
E.g. ARTA or Audiotester run fine with WINE.
Hi zfe,
I'm sorry to hear it doesn't work under WINE. On the other hand I'm not really surprised, as I have never tested the program under this particular environment. It's already a hell of job to make it work under the many MS operating systems and many different sound cards and registries polluted with rubbish. Not to mention those stupid virus scanners that start wining about so called viruses (reed: false positives). So it's very unlikely I will have time to make it also compatible with WINE. Sorry.
Cheers, E.
Just, I tried the DiAna under Wine in Linux Mint, it works normally with the only message popup that there is no any ASIO driver found.
No crash, no hangs!
I run Wine 3.0 on Mac. I also first get ASIO driver not found, but then if I try to do something by selecting something from the menu it crashes. I attached the crash report.
Code:
Unhandled exception: page fault on read access to 0xffffffff in 32-bit code (0x90211afa).
Register dump:
CS:001b SS:0023 DS:0023 ES:0023 FS:1007 GS:000f
EIP:90211afa ESP:0032eaa4 EBP:0032eb2c EFLAGS:00010206( R- -- I - -P- )
EAX:00003d88 EBX:a028be88 ECX:a0520148 EDX:00000000
ESI:00003d88 EDI:90211aef
Stack dump:
0x0032eaa4: 00000000 00000000 00000000 00000000
0x0032eab4: 0093797c 57828a46 00000000 00030040
0x0032eac4: 00934310 0032eafc 42dd43c3 00030040
0x0032ead4: 08000000 00000000 00000000 00110000
0x0032eae4: 00000000 00937970 0000130c 42c68e73
0x0032eaf4: 00000006 00030040 0032eb2c 42c68f44
0200: sel=1007 base=7ffc0000 limit=00000fff 32-bit rw-
Backtrace:
=>0 0x90211afa __stack_chk_fail+0x19() in libsystem_c.dylib (0x0032eb2c)
1 0x42c68300 in comctl32 (+0x582ff) (0x0032ee58)
2 0x42ddfe8a WINPROC_wrapper+0x19() in user32 (0x0032ee88)
3 0x42de2981 call_dialog_proc+0xa0() in user32 (0x0032eec8)
4 0x42de1b05 WINPROC_CallProcWtoA+0x614() in user32 (0x0032f378)
5 0x42de2ad5 WINPROC_CallDlgProcW+0xb4() in user32 (0x0032f3a8)
6 0x42d6b973 DefDlgProcW+0x152() in user32 (0x0032f3e8)
7 0x42ddfe8a WINPROC_wrapper+0x19() in user32 (0x0032f418)
8 0x42de1221 call_window_proc+0xa0() in user32 (0x0032f458)
9 0x42de1494 WINPROC_call_window+0x1f3() in user32 (0x0032f498)
10 0x42dab44e call_window_proc+0x8d() in user32 (0x0032f4f8)
11 0x42da28de send_message+0xfd() in user32 (0x0032f558)
12 0x42da2bca SendMessageW+0x59() in user32 (0x0032f5b8)
13 0x42d707d7 in user32 (+0x307d6) (0x0032f8a8)
14 0x42d6eb4a CreateDialogIndirectParamA+0x39() in user32 (0x0032f8dc)
15 0x42c64618 PROPSHEET_PropertySheet+0x237() in comctl32 (0x0032f938)
16 0x42c63a3a PropertySheetA+0x319() in comctl32 (0x0032f9a8)
17 0x0040b858 in diana-demo (+0xb857) (0x0032f9f8)
18 0x0040b76d in diana-demo (+0xb76c) (0x0032fa10)
19 0x0040b694 in diana-demo (+0xb693) (0x0032fa24)
20 0x0040b64e in diana-demo (+0xb64d) (0x0032fa30)
21 0x004046cc in diana-demo (+0x46cb) (0x0032fa58)
22 0x0040537e in diana-demo (+0x537d) (0x0032fa7c)
23 0x0040466d in diana-demo (+0x466c) (0x0032fa9c)
24 0x00404630 in diana-demo (+0x462f) (0x0032fab8)
25 0x42ddfe8a WINPROC_wrapper+0x19() in user32 (0x0032fae8)
26 0x42de1221 call_window_proc+0xa0() in user32 (0x0032fb28)
27 0x42de1494 WINPROC_call_window+0x1f3() in user32 (0x0032fb68)
28 0x42dab44e call_window_proc+0x8d() in user32 (0x0032fbc8)
29 0x42da28de send_message+0xfd() in user32 (0x0032fc28)
30 0x42da2c42 SendMessageA+0x61() in user32 (0x0032fc84)
31 0x00405791 in diana-demo (+0x5790) (0x0032fcc4)
32 0x0040a061 in diana-demo (+0xa060) (0x0032fcdc)
33 0x0040466d in diana-demo (+0x466c) (0x0032fcfc)
34 0x00404630 in diana-demo (+0x462f) (0x0032fd18)
35 0x42ddfe8a WINPROC_wrapper+0x19() in user32 (0x0032fd48)
36 0x42de1221 call_window_proc+0xa0() in user32 (0x0032fd88)
37 0x42de1494 WINPROC_call_window+0x1f3() in user32 (0x0032fdc8)
38 0x42da9c43 DispatchMessageA+0xd2() in user32 (0x0032fe6c)
39 0x00403215 in diana-demo (+0x3214) (0x0032fee0)
40 0x0043ade6 in diana-demo (+0x3ade5) (0x0032ff20)
41 0x7b45177c call_process_entry+0xb() in kernel32 (0x0032ff38)
42 0x7b451903 start_process+0x152() in kernel32 (0x0032ffdc)
43 0x7b45178a start_process_wrapper+0x9() in kernel32 (0x0032ffec)
0x90211afa __stack_chk_fail+0x19 in libsystem_c.dylib:
Modules:
Module Address Debug info Name (222 modules)
PE 400000- 475000 CodeView diana-demo
PE 40001000-401b6000 Deferred libwine.1.0.dylib
ELF 42a9c000-42ab6000 Deferred version<elf>
\-PE 42aa0000-42ab4000 \ version
ELF 42ab6000-42afb000 Deferred winspool<elf>
\-PE 42ac0000-42af2000 \ winspool
ELF 42c00000-42d39000 Stabs comctl32<elf>
\-PE 42c10000-42d17000 \ comctl32
ELF 42d39000-42f1e000 Stabs user32<elf>
\-PE 42d40000-42ed7000 \ user32
ELF 42f1e000-42f9a000 Deferred advapi32<elf>
\-PE 42f20000-42f82000 \ advapi32
ELF 42f9a000-42fc5000 Deferred msacm32<elf>
\-PE 42fa0000-42fc1000 \ msacm32
ELF 42fc5000-42fea000 Deferred imm32<elf>
\-PE 42fd0000-42fe5000 \ imm32
ELF 43800000-43933000 Deferred gdi32<elf>
\-PE 43810000-438c9000 \ gdi32
ELF 43933000-43a37000 Deferred comdlg32<elf>
\-PE 43940000-43a17000 \ comdlg32
ELF 43a37000-43c95000 Deferred shell32<elf>
\-PE 43a40000-43c57000 \ shell32
ELF 43c95000-43d1c000 Deferred shlwapi<elf>
\-PE 43ca0000-43cf7000 \ shlwapi
ELF 43d1c000-43e7a000 Deferred ole32<elf>
\-PE 43d20000-43e3c000 \ ole32
ELF 43e7a000-43f0a000 Deferred rpcrt4<elf>
\-PE 43e80000-43ee8000 \ rpcrt4
ELF 43f0a000-43fca000 Deferred winmm<elf>
\-PE 43f10000-43fbb000 \ winmm
PE 43fca000-44053000 Deferred libfreetype.6.dylib
ELF 44053000-44103000 Deferred winemac<elf>
\-PE 44060000-440d7000 \ winemac
PE 441e7000-441fc000 Deferred commercecore
ELF 45b82000-45bbb000 Deferred uxtheme<elf>
\-PE 45b90000-45bb4000 \ uxtheme
PE 45bbb000-45bf5000 Deferred familycontrols
ELF 4b371000-4b3b8000 Deferred usp10<elf>
\-PE 4b380000-4b3b3000 \ usp10
ELF 7b400000-7b7fc000 Stabs kernel32<elf>
\-PE 7b410000-7b7bf000 \ kernel32
ELF 7bc00000-7bcf1000 Deferred ntdll<elf>
\-PE 7bc10000-7bcb7000 \ ntdll
ELF 7bf00000-7bf03000 Deferred <wine-loader>
PE 90008000-9000e000 Deferred libcompiler_rt.dylib
PE 9000e000-90013000 Deferred libcorevmclient.dylib
PE 90013000-90056000 Deferred libglu.dylib
PE 9005d000-901b4000 Deferred libblas.dylib
PE 901b4000-90247000 Stabs libsystem_c.dylib
PE 90249000-90577000 Deferred foundation
PE 90577000-90585000 Deferred applefscompression
PE 90585000-911a4000 Deferred appkit
PE 911a4000-911b1000 Deferred libbz2.1.0.dylib
PE 911b1000-91296000 Deferred libcrypto.0.9.8.dylib
PE 91342000-91380000 Deferred libauto.dylib
PE 91380000-91390000 Deferred libgl.dylib
PE 91390000-9153d000 Deferred quartzcore
PE 9153d000-91545000 Deferred libsystem_pthread.dylib
PE 91545000-91631000 Deferred diskimages
PE 918ae000-918bc000 Deferred librarian
PE 918bc000-919f4000 Deferred desktopservicespriv
PE 919f4000-91ad0000 Deferred launchservices
PE 91ad0000-91b98000 Deferred discrecording
PE 91b98000-91ba4000 Deferred libcommoncrypto.dylib
PE 91ba4000-91bad000 Deferred libgfxshared.dylib
PE 91e1a000-91e9b000 Deferred osservices
PE 91e9b000-91ea1000 Deferred print
PE 91ea1000-91ebf000 Deferred libsystem_kernel.dylib
PE 91f78000-91f83000 Deferred speechsynthesis
PE 91ff4000-9205e000 Deferred systemconfiguration
PE 9205e000-9206a000 Deferred crashreportersupport
PE 92097000-92130000 Deferred metadata
PE 92196000-922a4000 Deferred imageio
PE 922a4000-922fb000 Deferred scalableuserinterface
PE 922fb000-92489000 Deferred cfnetwork
PE 92489000-9248c000 Deferred libradiance.dylib
PE 9248c000-9248d000 Deferred coreservices
PE 9248d000-9257e000 Deferred libiconv.2.dylib
PE 9257e000-92581000 Deferred securityhi
PE 92a2c000-92a51000 Deferred libjpeg.dylib
PE 93399000-9339d000 Deferred libutil.dylib
PE 933b3000-933e5000 Deferred gss
PE 933e5000-933ea000 Deferred libmacho.dylib
PE 933ea000-9343b000 Deferred opencl
PE 93444000-93455000 Deferred libsasl2.2.dylib
PE 93455000-9345c000 Deferred libunwind.dylib
PE 934b2000-934c1000 Deferred sharing
PE 934c1000-93500000 Deferred navigationservices
PE 93500000-93511000 Deferred langanalysis
PE 9353b000-9393b000 Deferred coregraphics
PE 9393b000-9394a000 Deferred opengl
PE 939c5000-939e3000 Deferred libresolv.9.dylib
PE 939e3000-93c48000 Deferred coredata
PE 93c48000-93c49000 Deferred libopenscriptingutil.dylib
PE 93c89000-93cae000 Deferred libxpc.dylib
PE 93cae000-93cb8000 Deferred speechrecognition
PE 93cb8000-93dcb000 Deferred libsqlite3.dylib
PE 93dcb000-93dd6000 Deferred servicemanagement
PE 93ded000-93df6000 Deferred liblaunch.dylib
PE 93df6000-93e00000 Deferred commonauth
PE 93e00000-940eb000 Deferred vimage
PE 940eb000-94105000 Deferred kerberos
PE 94105000-94179000 Deferred searchkit
PE 94179000-941c9000 Deferred hiservices
PE 949dc000-949e5000 Deferred libcgcms.a.dylib
PE 949e5000-949fe000 Deferred cfopendirectory
PE 94d00000-94d04000 Deferred tcc
PE 94d04000-94d41000 Deferred remoteviewservices
PE 94d41000-94e10000 Deferred backup
PE 9519f000-95286000 Deferred coreui
PE 95286000-9550d000 Deferred security
PE 9550d000-9580f000 Deferred carboncore
PE 959a1000-95a72000 Deferred libvdsp.dylib
PE 95a72000-95a86000 Deferred imagecapture
PE 95b32000-95b94000 Deferred symbolication
PE 95b94000-95bcb000 Deferred iconservices
PE 95bcb000-96000000 Deferred facecore
PE 96000000-96051000 Deferred libcorecrypto.dylib
PE 961c2000-961df000 Deferred libcrfsuite.dylib
PE 961df000-961e9000 Deferred diskarbitration
PE 9621a000-96292000 Deferred iokit
PE 962ef000-963ee000 Deferred libjp2.dylib
PE 963ee000-96462000 Deferred ats
PE 96462000-96463000 Deferred audiounit
PE 9667d000-9667f000 Deferred trustevaluationagent
PE 966e7000-966e8000 Deferred cocoa
PE 9673e000-96799000 Deferred libtiff.dylib
PE 96799000-967e0000 Deferred libcurl.4.dylib
PE 967e0000-96880000 Deferred libcorestorage.dylib
PE 96880000-96883000 Deferred libcvmspluginsupport.dylib
PE 96883000-96884000 Deferred libodfde.dylib
PE 96884000-96a4b000 Deferred libicucore.a.dylib
PE 96a4b000-96a98000 Deferred libcups.2.dylib
PE 96a98000-96a9a000 Deferred liblangid.dylib
PE 96a9a000-96ab6000 Deferred libpng.dylib
PE 96ae2000-96b7f000 Deferred qd
PE 96b7f000-96baa000 Deferred libxslt.1.dylib
PE 96bd5000-96c0c000 Deferred libssl.0.9.8.dylib
PE 96c0c000-96c76000 Deferred datadetectorscore
PE 97b18000-97b1a000 Deferred libdiagnosticmessagesclient.dyli
PE 97b1a000-97b1b000 Deferred carbon
PE 97b1b000-97b1e000 Deferred libquarantine.dylib
PE 97b1e000-97b57000 Deferred ldap
PE 98318000-9831c000 Deferred loginuicore
PE 9831c000-98335000 Deferred libsystem_malloc.dylib
PE 98335000-983ac000 Deferred securityfoundation
PE 983ac000-98470000 Deferred coretext
PE 98470000-98475000 Deferred libgif.dylib
PE 984d4000-984e7000 Deferred libsystem_asl.dylib
PE 98768000-9876a000 Deferred libsystem.b.dylib
PE 9876a000-987d6000 Deferred heimdal
PE 987d6000-987da000 Deferred libdyld.dylib
PE 9881a000-9881f000 Deferred libheimdal-asn1.dylib
PE 9881f000-98829000 Deferred libsystem_notify.dylib
PE 98829000-98834000 Deferred directoryservice
PE 98853000-98858000 Deferred iosurface
PE 98861000-9888d000 Deferred libsystem_network.dylib
PE 9888d000-98893000 Deferred libsystem_platform.dylib
PE 98934000-98940000 Deferred libcsfde.dylib
PE 99645000-9967e000 Deferred mediakit
PE 9967f000-99688000 Deferred libcopyfile.dylib
PE 99688000-996b7000 Deferred debugsymbols
PE 996b7000-996f5000 Deferred libglimage.dylib
PE 996f5000-9971a000 Deferred libc++abi.dylib
PE 9971a000-99a90000 Deferred hitoolbox
PE 99a90000-99a9d000 Deferred libkxld.dylib
PE 99a9d000-99aa6000 Deferred libsystem_dnssd.dylib
PE 99aa6000-99abb000 Deferred multitouchsupport
PE 99b5a000-99b5f000 Deferred libcache.dylib
PE 99b5f000-99bb5000 Deferred libc++.1.dylib
PE 99bb5000-99bba000 Deferred libpam.2.dylib
PE 99bbc000-99bfd000 Deferred bom
PE 99bfd000-99bff000 Deferred libremovefile.dylib
PE 99bff000-99c07000 Deferred netfs
PE 99c0f000-99c19000 Deferred carbonsound
PE 99ca0000-99ca1000 Deferred applicationservices
PE 99cc7000-99db4000 Deferred libxml2.2.dylib
PE 99db4000-99de6000 Deferred libsystem_m.dylib
PE 99de6000-99fe9000 Deferred corefoundation
PE 9a01a000-9a061000 Deferred libfontregistry.dylib
PE 9a487000-9a4b7000 Deferred systemadministration
PE 9a4ba000-9a4bb000 Deferred libkeymgr.dylib
PE 9a5cc000-9a5d0000 Deferred help
PE 9a5d0000-9a65c000 Deferred coresymbolication
PE 9a65c000-9a689000 Deferred dictionaryservices
PE 9a6f0000-9a6f1000 Deferred accelerate
PE 9a6f1000-9a7ef000 Deferred libfontparser.dylib
PE 9a7ef000-9a89c000 Deferred libvmisc.dylib
PE 9a89c000-9a8e5000 Deferred performanceanalysis
PE 9a8e5000-9a944000 Deferred ae
PE 9a9ab000-9a9be000 Deferred libbsm.0.dylib
PE 9a9c5000-9a9c9000 Deferred libcgxtype.a.dylib
PE 9a9c9000-9a9e4000 Deferred openscripting
PE 9a9e4000-9aa3a000 Deferred coreaudio
PE 9aa52000-9aa7e000 Deferred chunkinglibrary
PE 9aa7e000-9aa8a000 Deferred netauth
PE 9aa8a000-9ad80000 Deferred coreimage
PE 9ad80000-9af29000 Deferred libobjc.a.dylib
PE 9af99000-9af9b000 Deferred libsystem_blocks.dylib
PE 9af9e000-9afa1000 Deferred libsystem_configuration.dylib
PE 9afa1000-9afca000 Deferred libsystem_info.dylib
PE 9afca000-9afd9000 Deferred libz.1.dylib
PE 9afd9000-9afe6000 Deferred opendirectory
PE 9aff0000-9aff1000 Deferred veclib
PE 9b046000-9b049000 Deferred efilogin
PE 9b3de000-9b552000 Deferred audiotoolbox
PE 9b6d2000-9ba98000 Deferred liblapack.dylib
PE 9ba98000-9ba9a000 Deferred libunc.dylib
PE 9ba9a000-9baee000 Deferred htmlrendering
PE 9bb21000-9bb28000 Deferred aosnotification
PE 9bb28000-9bb37000 Deferred libxar.1.dylib
PE 9bb43000-9bbdb000 Deferred ink
PE 9bbdb000-9bc03000 Deferred corevideo
PE 9c061000-9c066000 Deferred commonpanels
PE 9c066000-9c068000 Deferred libsystem_sandbox.dylib
PE 9c068000-9c091000 Deferred librip.a.dylib
PE 9c091000-9c0c2000 Deferred coreservicesinternal
PE 9c0c2000-9c11f000 Deferred printcore
PE 9c11f000-9c13c000 Deferred ubiquity
PE 9c15f000-9c1f1000 Deferred colorsync
PE 9c1f1000-9c20c000 Deferred generationalstorage
PE 9c262000-9c27b000 Deferred libdispatch.dylib
Threads:
process tid prio (all id:s are in hex)
00000008 (D) H:\Audio Hifi\Audio Software\DiAna\Diana\Diana-demo.exe
00000044 2
00000043 2
00000042 2
00000041 2
0000003f 0
0000003e -2
0000003d 2
0000003c -2
0000003b -2
0000003a -2
00000009 0 <==
0000000e services.exe
00000032 0
0000002a 0
00000025 0
0000001d 0
00000018 0
00000013 0
00000010 0
0000000f 0
00000011 winedevice.exe
00000017 0
00000016 0
00000012 0
0000001b winedevice.exe
00000024 0
0000001f 0
0000001e 0
0000001c 0
00000022 plugplay.exe
00000027 0
00000026 0
00000023 0
00000028 winedevice.exe
00000036 0
00000035 0
00000034 0
00000033 0
00000031 0
0000002c 0
0000002b 0
00000029 0
0000002f explorer.exe
00000039 0
00000038 0
00000037 0
00000030 0
System information:
Wine build: wine-3.0
Platform: i386
Version: Windows XP
Host system: Darwin
Host version: 13.4.0
On Linux you have to install a 3rd-party program called wineasio I believe. I found it but you have to compile it yourself and I wasn't able to figure out how to do it. I would really appreciate it if someone else could figure it out:
wineasio / Discussion /
Help:Installing issues
wineasio / Discussion /
Help:Installing issues
@ zfe = I hadn't done a long running of DiAna on Linux Mint.
I have no any ASIO driver either on it, it is a general home PC not for my lab.
Just for curiosity, I downloaded the DiAna on mint...I run it...make some clicks on menu and close it.
That's it!
Perhaps, if I run it to the real life with asio driver, it will be hanged and to Linux Mint.
I have no any ASIO driver either on it, it is a general home PC not for my lab.
Just for curiosity, I downloaded the DiAna on mint...I run it...make some clicks on menu and close it.
That's it!
Perhaps, if I run it to the real life with asio driver, it will be hanged and to Linux Mint.
Please don't take this the wrong way, but I would highly suggest porting your code and writing this in a modern framework to avoid all these troubles at some point in the future. You can be far more productive also in a modern framework. Debugging is also going to be easier.
Hi Chris,
I don't see how I could avoid these problems by using a "modern framework". Almost all problems were not caused by bugs of DiAna itself, rather by corrupted or pseudo ASIO drivers residing in the registry. As I keep own PC as clean as possible, I simply did not take into account that other PC's where not that clean.
The problem was that during startup all ASIO drivers found in the registry, including fake or corrupted ones, were examined in order to assess samplings rates, buffer size etc. That went wrong sometimes, resulting in a hang.
Now I've followed a different route: Only all driver names are scanned and it is up to the user which of them will be further interrogated to retrieve samplings rates, buffer size etc. In case it went wrong, now the user knows which driver is culprit and he can avoid a next hang.
BTW, not all has been written in plain C. The ASIO interface has been wirtten in C++. Doing this also in plain C would be a PITA.
Regarding graphics, how advantageous it is to switch to WPF? Does it solve the jitter problem under W10? Have a look post 167 (and further) to see what I mean by that.
Cheers, E.
edit: The new version (1.48.1) not yet uploaded on my website. I hope Manolis will test it first.
Last edited:
Hi Chris,
I don't see how I could avoid these problems by using a "modern framework". Almost all problems were not caused by bugs of DiAna itself, rather by corrupted or pseudo ASIO drivers residing in the registry. As I keep own PC as clean as possible, I simply did not take into account that other PC's where not that clean.
The problem was that during startup all ASIO drivers found in the registry, including fake or corrupted ones, were examined in order to assess samplings rates, buffer size etc. That went wrong sometimes, resulting in a hang.
Now I've followed a different route: Only all driver names are scanned and it is up to the user which of them will be further interrogated to retrieve samplings rates, buffer size etc. In case it went wrong, now the user knows which driver is culprit and he can avoid a next hang.
BTW, not all has been written in plain C. The ASIO interface has been wirtten in C++. Doing this also in plain C would be a PITA.
Regarding graphics, how advantageous it is to switch to WPF? Does it solve the jitter problem under W10? Have a look post 167 (and further) to see what I mean by that.
Cheers, E.
edit: The new version (1.48.1) not yet uploaded on my website. I hope Manolis will test it first.
Yeah, I know it's not directly related to the issue people experienced. In general it will make it easier to update, maintain, and add new features. With modern exception handling there's no reason for it to crash the app either. There are no new commercial GUI applications developed using Win32 alone for very good reasons.
WPF will probably fix the issue you reference in post 167 because the problem stems from trying to use legacy drawing methods. To be fair, it will probably introduce a host of other new issues because it's a total paradigm shift from what you're doing now.
At least do yourself a favor and get a copy of Visual Studio 2017 and play around with it. It has to be light years ahead of Digital Mars, especially the IDE and profiler.
And C# is.... well like C.
Yep and you can use all kinds of Win32 stuff directly as needed still in .NET.
pinvoke.net: the interop wiki!
I like C# the most of any language I have used.
Jittery W10
Hi Chris,
Dou you know of an existing application using WPF, that does not jitter under W10?
BTW, last year there was a build of W10 that didn't suffer from jitter. So this proves it can be made jitter-free. Regrettably, all subsequent versions jitter again.
BTW2: I don't like W10, a crippled mule as a result of cross-pollination between a desktop OS and cell-phone OS (I do have W10, but still prefer W7).
Cheers, E.
[...]I
WPF will probably fix the issue you reference in post 167 because the problem stems from trying to use legacy drawing methods. To be fair, it will probably introduce a host of other new issues because it's a total paradigm shift from what you're doing now.
[...]
Hi Chris,
Dou you know of an existing application using WPF, that does not jitter under W10?
BTW, last year there was a build of W10 that didn't suffer from jitter. So this proves it can be made jitter-free. Regrettably, all subsequent versions jitter again.
BTW2: I don't like W10, a crippled mule as a result of cross-pollination between a desktop OS and cell-phone OS (I do have W10, but still prefer W7).
Cheers, E.
False positive
Out of 67 AV scanners, only Bitdefender thinks my website contains malicious stuff, see below. You better throw away that POC.
Cheers, E.
Getting a web side alert ... mira
BB
Out of 67 AV scanners, only Bitdefender thinks my website contains malicious stuff, see below. You better throw away that POC.
Cheers, E.
Attachments
Hi Chris,
Dou you know of an existing application using WPF, that does not jitter under W10?
BTW, last year there was a build of W10 that didn't suffer from jitter. So this proves it can be made jitter-free. Regrettably, all subsequent versions jitter again.
BTW2: I don't like W10, a crippled mule as a result of cross-pollination between a desktop OS and cell-phone OS (I do have W10, but still prefer W7).
Cheers, E.
I'll have to try to find something, but I don't know of one off the top of my head. I'll try an empty WPF project tonight if I can. The rendering performance while resizing the window is also going to heavily depend on what you're drawing also.
I wouldn't even call this an issue really. A lot of applications are choppy while being resized. I think Windows by default disables that on a lot of machines. Microsoft Outlook, for example, does not resize all that smoothly on a Core i7-7820X OC to 4.7GHz with 32GB of RAM and an AMD RX580 8GB graphics card...
I mean, I certainly wouldn't rewrite parts of my application to solve some minor jitter when resizing the window dynamically.
Update
To all,
A new version of DiAna is available: V1.48.2 As I've compiled it with another tool (a Symantec C++ compiler) it triggers far less false positive, only two AV scanners are wining about a PUP (potentially unwanted program). Even Bitdefender shuts its mouth. On the other hand, that program has still issues with my website, that is, with the directory which contains DiAna. Even after I've deleted all the content, that stupid program still thinks it's unsafe. 🙄
V1.48.2 differs in the way the ASIO drivers are scanned. In previous versions all of them were scanned during startup in a single run. If the registry contains rubbish (fake and/or corrupted drivers) this could cause serious problems or even a hang.
With the new version this won't happen, as it is up to the user which driver will be loaded and leaving the wrong ones out of consideration.
It is also possible to select no driver at all. This might be useful in case of "read from file" or "simulate data" mode.
Cheers, E.
To all,
A new version of DiAna is available: V1.48.2 As I've compiled it with another tool (a Symantec C++ compiler) it triggers far less false positive, only two AV scanners are wining about a PUP (potentially unwanted program). Even Bitdefender shuts its mouth. On the other hand, that program has still issues with my website, that is, with the directory which contains DiAna. Even after I've deleted all the content, that stupid program still thinks it's unsafe. 🙄
V1.48.2 differs in the way the ASIO drivers are scanned. In previous versions all of them were scanned during startup in a single run. If the registry contains rubbish (fake and/or corrupted drivers) this could cause serious problems or even a hang.
With the new version this won't happen, as it is up to the user which driver will be loaded and leaving the wrong ones out of consideration.
It is also possible to select no driver at all. This might be useful in case of "read from file" or "simulate data" mode.
Cheers, E.
I finally had a little time to play with Diana on the RTX. It seems to work OK except for some problem rendering the fonts for the frequency in the plot. That and the scaling are not too clear in either the screen or the PDF attached. A few more reference lines at log spacing for frequency would be helpful.
I used exactly the same setup with Praxis (the other plot) and I think there are no major deviations in the distortion levels.
I used exactly the same setup with Praxis (the other plot) and I think there are no major deviations in the distortion levels.
Attachments
@Edmond = Nice work. Have you in mind that the control panel of driver doesn't work inside from DiAna. The same was and at the previous version 1.48.1
@Martin = For statistics window seems that you had 20-20K range (20K LPF), Fs_192K, gen_997Hz. Do you keep the rest of the DiAna setup? DAC/ADC calibration for specific knobs settings and the output level?
@Martin = For statistics window seems that you had 20-20K range (20K LPF), Fs_192K, gen_997Hz. Do you keep the rest of the DiAna setup? DAC/ADC calibration for specific knobs settings and the output level?
All I changed from the default was the bandwidth. I have not even looked into how the calibration process works. I'll try to show the RTX + Diana compared to the Shibasoku and the analog FFT on its output from a low distortion and a high distortion source in the next few days. They are really similar in how they present the data.
Hi Demian,I finally had a little time to play with Diana on the RTX. It seems to work OK except for some problem rendering the fonts for the frequency in the plot. That and the scaling are not too clear in either the screen or the PDF attached. A few more reference lines at log spacing for frequency would be helpful.
I used exactly the same setup with Praxis (the other plot) and I think there are no major deviations in the distortion levels.
First, thank you for spending some time to review the new version of DiAna.
Indeed, there is a problem with the font and number of reference lines. Thx for pointing this out. It's a new bug and probably the result of recompiling the program with Symantec C++. I'll try to fix it as soon as possible. See pic below how it should look (and did look before recompiling).
>the scaling is not too clear...
Without calibration, scaling is 1.0V referenced to the peak amplitude (full scale) of the ADC and DAC respectively, i.e. V(FS), as the calibration factors are set per default to 1.0. These factors can be adjusted in the preferences->sound card menu. Please, see also post 55, 116 and 122.
Cheers, E.
Attachments
- Home
- Design & Build
- Equipment & Tools
- DiAna, a software Distortion Analyzer