From: wittend99 Date: Sun, 15 Jul 2012 20:44:30 +0000 (+0000) Subject: git-svn-id: https://svn.code.sf.net/p/freetel/code@588 01035d8c-6547-0410-b346-abe4f9... X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=7f79ceb566f442b60ae3251951eaaf0da15e1e2c;p=freetel-svn-tracking.git git-svn-id: https://svn.code.sf.net/p/freetel/code@588 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/fdmdv2/pa_enum/Debug/pa_enum.exe b/fdmdv2/pa_enum/Debug/pa_enum.exe new file mode 100644 index 00000000..f796ee48 Binary files /dev/null and b/fdmdv2/pa_enum/Debug/pa_enum.exe differ diff --git a/fdmdv2/pa_enum/Release/.d b/fdmdv2/pa_enum/Release/.d new file mode 100644 index 00000000..950b4681 --- /dev/null +++ b/fdmdv2/pa_enum/Release/.d @@ -0,0 +1 @@ +"" diff --git a/fdmdv2/pa_enum/Release/libportaudio-2.dll b/fdmdv2/pa_enum/Release/libportaudio-2.dll new file mode 100644 index 00000000..302e6635 Binary files /dev/null and b/fdmdv2/pa_enum/Release/libportaudio-2.dll differ diff --git a/fdmdv2/pa_enum/Release/libportaudiocpp-0.dll b/fdmdv2/pa_enum/Release/libportaudiocpp-0.dll new file mode 100644 index 00000000..eae7e694 Binary files /dev/null and b/fdmdv2/pa_enum/Release/libportaudiocpp-0.dll differ diff --git a/fdmdv2/pa_enum/Release/pa_enum.exe b/fdmdv2/pa_enum/Release/pa_enum.exe new file mode 100644 index 00000000..358271d6 Binary files /dev/null and b/fdmdv2/pa_enum/Release/pa_enum.exe differ diff --git a/fdmdv2/pa_enum/bitmaps/blank.ico b/fdmdv2/pa_enum/bitmaps/blank.ico new file mode 100644 index 00000000..accc4cc8 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/blank.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/inArrow.ICO b/fdmdv2/pa_enum/bitmaps/inArrow.ICO new file mode 100644 index 00000000..cc7c9176 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/inArrow.ICO differ diff --git a/fdmdv2/pa_enum/bitmaps/inArrow16x16.ico b/fdmdv2/pa_enum/bitmaps/inArrow16x16.ico new file mode 100644 index 00000000..6ed297b4 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/inArrow16x16.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/inArrow32x32.ico b/fdmdv2/pa_enum/bitmaps/inArrow32x32.ico new file mode 100644 index 00000000..ffc748e9 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/inArrow32x32.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/outArrow.ICO b/fdmdv2/pa_enum/bitmaps/outArrow.ICO new file mode 100644 index 00000000..b8b46ea5 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/outArrow.ICO differ diff --git a/fdmdv2/pa_enum/bitmaps/outArrow16x16.ico b/fdmdv2/pa_enum/bitmaps/outArrow16x16.ico new file mode 100644 index 00000000..dffb649e Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/outArrow16x16.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/outArrow16x16.xpm b/fdmdv2/pa_enum/bitmaps/outArrow16x16.xpm new file mode 100644 index 00000000..9a33ea53 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/outArrow16x16.xpm @@ -0,0 +1,23 @@ +/* XPM */ +static char * outArrow16x16_xpm[] = { +"16 16 4 1", +" c None", +". c #C0C0C0", +"+ c #808080", +"@ c #000000", +" ", +" ", +" . ", +" .. ", +" ... ", +" .... ", +".............. ", +"+.............. ", +"+++.............", +"++++@@@@@@@@@@@@", +"+++@@@@@@@@@@@@@", +"++@@@@@@@@@@@@@ ", +" @@@@ ", +" @@@ ", +" @@ ", +" @ "}; diff --git a/fdmdv2/pa_enum/bitmaps/outArrow32x32.ico b/fdmdv2/pa_enum/bitmaps/outArrow32x32.ico new file mode 100644 index 00000000..42f8e3a2 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/outArrow32x32.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/sample.ico b/fdmdv2/pa_enum/bitmaps/sample.ico new file mode 100644 index 00000000..435cca24 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/sample.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/small1.ico b/fdmdv2/pa_enum/bitmaps/small1.ico new file mode 100644 index 00000000..4cac633c Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/small1.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/small1.xpm b/fdmdv2/pa_enum/bitmaps/small1.xpm new file mode 100644 index 00000000..650f1b1e --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/small1.xpm @@ -0,0 +1,28 @@ +/* XPM */ +static const char *const small1_xpm[] = { +/* columns rows colors chars-per-pixel */ +"16 16 6 1", +". c Black", +"o c #FFFFFF", +"X c #000080", +"O c #FFFF00", +" c None", +"+ c #FF0000", +/* pixels */ +" ", +" ", +" ", +" ....... ", +" .XXXXX. ", +" .oXXXX. ", +" .oXXX.......", +".....oXXX.OOOOO.", +".+++.XXXX.oOOOO.", +".o++......oOOOO.", +".o++++. .oOOOO.", +".o++++. .OOOOO.", +".+++++. .......", +"....... ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/toolbrai.ico b/fdmdv2/pa_enum/bitmaps/toolbrai.ico new file mode 100644 index 00000000..99069f7c Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolbrai.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolbrai.xpm b/fdmdv2/pa_enum/bitmaps/toolbrai.xpm new file mode 100644 index 00000000..7dc20afc --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolbrai.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const toolbrai_xpm[] = { +/* width height ncolors chars_per_pixel */ +"32 32 4 1", +/* colors */ +" s None c None", +". c #000080", +"+ c #ff0000", +"@ c #00ffff", +/* pixels */ +" ", +" ", +" ..... ", +" ..... .+++++. ", +" .+++++. .+++++. ", +" .+++++++. .+++++. ", +" .+++++. ..... ", +" ..... @ ", +" @ @ ", +" @ @ ", +" @ @ ", +" @ ..... ", +" ..+++++.. ", +" .+++++++++. ", +" .+++++++++. ", +" .+++++++++. ", +" @..+++++.. ", +" @ .....@ ", +" @ @ @ ", +" @ @ @ ...... ", +" @ @ @.++++++. ", +" @ @ .++++++. ", +" @ @ .++++++. ", +" ...... @ .++++++. ", +" .++++++. @ ...... ", +" .++++++. .... ", +" .++++++. .++++. ", +" .++++++. .++++. ", +" ...... .++++. ", +" .++++. ", +" .... ", +" "}; diff --git a/fdmdv2/pa_enum/bitmaps/toolchar.ico b/fdmdv2/pa_enum/bitmaps/toolchar.ico new file mode 100644 index 00000000..cec94e6b Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolchar.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolchar.xpm b/fdmdv2/pa_enum/bitmaps/toolchar.xpm new file mode 100644 index 00000000..0f1ac793 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolchar.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const toolchar_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 4 1", +". c Black", +"X c #FFFF00", +" c None", +"o c #C00000", +/* pixels */ +" ", +" ..... ", +" ...XXXXX... ", +" ..XXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXX.XXXXXXX.XXXXXX. ", +" .XXXXXX.X.XXXXX.X.XXXXXX. ", +" .XXXXX.XXX.XXX.XXX.XXXXXX. ", +" .XXXXX.XXXXXXXXXXXXX.XXXXX. ", +" .XXXXXXXX.XXXXXXX.XXXXXXXX. ", +" .XXXXXXXX.XXXXXXX.XXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXXXXXXXXX. ", +" .XXXXXXX.XXXXXXXXXXX.XXXXXXX. ", +" .XXXXXX...XXXXXXX...XXXXXX. ", +" .XXXXXX.oo..XXX..oo.XXXXXX. ", +" .XXXXXXX.ooo...ooo.XXXXXXX. ", +" .XXXXXXX.ooooooo.XXXXXXXX. ", +" .XXXXXXXX..ooo..XXXXXXXX. ", +" .XXXXXXXXX...XXXXXXXXX. ", +" .XXXXXXXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXXXXXXXX.. ", +" .XXXXXXXXXXXXXXX. ", +" ..XXXXXXXXXXX.. ", +" ...XXXXX... ", +" ..... ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/toolchec.ico b/fdmdv2/pa_enum/bitmaps/toolchec.ico new file mode 100644 index 00000000..1989d57e Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolchec.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolchec.xpm b/fdmdv2/pa_enum/bitmaps/toolchec.xpm new file mode 100644 index 00000000..90951a72 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolchec.xpm @@ -0,0 +1,54 @@ +/* XPM */ +static const char *const toolchec_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 16 1", +"X c Black", +". c #4B4B4B", +"% c #696969", +": c #353535", +"o c #181818", +"O c #CCCCCC", +"@ c #0B0B0B", +" c None", +"+ c #292929", +"= c #383838", +"; c #747474", +"# c #8B8B8B", +"& c #A9A9A9", +"- c #575757", +"* c #B2B2B2", +"$ c #959595", +/* pixels */ +" ", +" ", +" .XX ", +" oXXO ", +" .XX+ ", +" oXX@# ", +" oXX@ ", +" oXX# ", +" @XX$ ", +" oXX$ ", +" oXX. ", +" +XXX ", +" %XXX ", +" &XXX* ", +" .XXX= ", +" XXXo ", +" . @XXX ", +" -XXo +XXX. ", +" XXXXX; $XXXX ", +" .+XXXXX XXXX. ", +" +XXXX= XXXX= ", +" @XXXX *XXXX ", +" XXXX$XXXX$ ", +" +XXXXXXXX ", +" XXXXXXX. ", +" oXXXXX: ", +" ;XXXXX. ", +" XXXX# ", +" @XX ", +" = ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/tooldata.ico b/fdmdv2/pa_enum/bitmaps/tooldata.ico new file mode 100644 index 00000000..ed7ebbe5 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/tooldata.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/tooldata.xpm b/fdmdv2/pa_enum/bitmaps/tooldata.xpm new file mode 100644 index 00000000..d8f7d4c8 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/tooldata.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const tooldata_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 3 1", +" c Black", +"X c #FFFFFF", +". c #C0C0C0", +/* pixels */ +" ", +" ", +" ............................ ", +" ............................ ", +" .. .. .. .. ", +" .. .. .. .. ", +" ............................ ", +" ............................ ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XX XX XX XX ", +" XX XX XX XX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" XXXXXXXXXXXXXXXXXXXXXXXXXXXX ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/toolgame.ico b/fdmdv2/pa_enum/bitmaps/toolgame.ico new file mode 100644 index 00000000..b3d6190b Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolgame.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolgame.xpm b/fdmdv2/pa_enum/bitmaps/toolgame.xpm new file mode 100644 index 00000000..7488bd8c --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolgame.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const toolgame_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 3 1", +"X c #808080", +" c None", +". c #FF0000", +/* pixels */ +" ", +" ", +" ", +" ", +" .. ", +" .... ", +" ...... ", +" ........ ", +" .......... ", +" ............ ", +" .............. ", +" ................ ", +" .................. ", +" .................... ", +" ...................... ", +" ........................ ", +" .......................... ", +" ........................X ", +" ......................X ", +" ....................X ", +" ..................X ", +" ................X ", +" ..............X ", +" ............X ", +" ..........X ", +" ........X ", +" ......X ", +" ....X ", +" ..X ", +" ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/toolnote.ico b/fdmdv2/pa_enum/bitmaps/toolnote.ico new file mode 100644 index 00000000..ff0ec28b Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolnote.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolnote.xpm b/fdmdv2/pa_enum/bitmaps/toolnote.xpm new file mode 100644 index 00000000..e86035cb --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolnote.xpm @@ -0,0 +1,43 @@ +/* XPM */ +static const char *const toolnote_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 5 1", +"O c Black", +"o c #FFFFFF", +". c #808080", +" c None", +"X c #C0C0C0", +/* pixels */ +" ", +" ", +" ", +" . . . . . ", +" XXX.XX.XX.XX.XX.XXX ", +" Xoo.oo.oo.oo.oo.ooX ", +" XoooooooooooooooooX. ", +" XooOOO..OOOO.OOOooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOOOOOoooooooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOO.OOOOOOOooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOOOOO.OOOoooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOO.OOOO.OOOOOooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XooOOO.OOOOO.OOOOoX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XoooooooooooooooooX. ", +" XXXXXXXXXXXXXXXXXXX. ", +" .................. ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/tooltime.ico b/fdmdv2/pa_enum/bitmaps/tooltime.ico new file mode 100644 index 00000000..141bcaa5 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/tooltime.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/tooltime.xpm b/fdmdv2/pa_enum/bitmaps/tooltime.xpm new file mode 100644 index 00000000..f75477d9 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/tooltime.xpm @@ -0,0 +1,42 @@ +/* XPM */ +static const char *const tooltime_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 4 1", +". c Black", +"o c #FFFFFF", +" c None", +"X c #C0C0C0", +/* pixels */ +" ", +" ", +" ", +" ", +" ..... ", +" ...XX.oo... ", +" .XXXoo.ooooo. ", +" ..Xoooooooooooo.. ", +" .Xoooooo.ooooooo. ", +" .Xooooooo.Xooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xoooooooo.Xoooooooo. ", +" .Xooooooooo.Xooooooooo. ", +" .Xooooooooo.Xooooooooo.X ", +" ...oo.......Xooooooo...X ", +" .oooooXXXXXXXooooooooo.X ", +" .ooooooooooooooooooooo.X ", +" .ooooooooooooooooooo.XX ", +" .ooooooooooooooooooo.XX ", +" .ooooooooooooooooooo.X ", +" .ooooooooooooooooo.XX ", +" .ooooooooooooooo.XX ", +" ..ooooooooooooo..X ", +" .ooooo.ooooo.XX ", +" ...oo.oo...XX ", +" XX.....XXXX ", +" XXXXXXX ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/tooltodo.ico b/fdmdv2/pa_enum/bitmaps/tooltodo.ico new file mode 100644 index 00000000..6b93a945 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/tooltodo.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/tooltodo.xpm b/fdmdv2/pa_enum/bitmaps/tooltodo.xpm new file mode 100644 index 00000000..9ba1e31a --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/tooltodo.xpm @@ -0,0 +1,194 @@ +/* XPM */ +static const char *const tooltodo_xpm[] = { +/* columns rows colors chars-per-pixel */ +"32 32 156 2", +"0 c #A08020", +"+. c #D0C066", +"q c #A08022", +"T c #98752D", +"6. c #D0C072", +"w c #A88B28", +"@. c #987540", +"l c #A08037", +"~ c #A0803F", +"4. c #A08048", +"7 c #808080", +"m c #704012", +"P c #704013", +"] c #704014", +"B c #704016", +"{ c #704017", +":. c #704019", +"k c #70401B", +"A c #70401C", +"W c #70401D", +".. c #70401E", +"F c #70401F", +"1. c #704020", +"H c #704022", +"s c #EFEA37", +") c #704024", +"5. c #704025", +"} c #784B1E", +"z c #784B22", +"2. c #784B26", +"/ c #784B28", +"Y c #EFEA55", +"N c #E0D547", +"D c #EFEA6C", +"X. c #EFEA70", +"o. c #EFEA74", +"R c #E0D554", +"| c #E0D558", +"#. c #EFEA83", +"y c #E8E05D", +"3. c #E0D570", +"x c #E8E069", +"G c #BFAA57", +"J c #BFAA5D", +">. c #B0953D", +" c None", +"<. c #B8A04D", +"^ c #B8A052", +"X c #FFFF30", +"o c #FFFF34", +"O c #FFFF38", +"+ c #FFFF3C", +"b c #FFFF40", +"@ c #FFFF41", +"' c #FFFF43", +"n c #FFFF44", +"# c #FFFF45", +"*. c #FFFF47", +"L c #FFFF48", +"$ c #FFFF49", +"8. c #FFFF4B", +"M c #FFFF4C", +"V c #906B27", +"% c #FFFF4D", +"p. c #FFFF4F", +"I c #FFFF50", +"& c #FFFF51", +"a. c #FFFF53", +"U c #FFFF54", +"e c #FFFF55", +"* c #FFFF56", +"g. c #FFFF57", +"[ c #FFFF58", +"r c #FFFF59", +"= c #FFFF5A", +"l. c #FFFF5B", +". c #C0C0C0", +"-. c #FFFF5C", +"j c #FFFF5D", +"- c #FFFF5E", +"b. c #FFFF5F", +"9. c #FFFF60", +"C c #FFFF61", +"; c #FFFF62", +"n. c #FFFF63", +"0. c #FFFF64", +": c #FFFF66", +"N. c #FFFF67", +"s. c #FFFF68", +"E c #FFFF69", +"Z c #FFFF6A", +"> c #FFFF6B", +"h. c #FFFF6C", +" . c #FFFF6D", +"u c #FFFF6E", +", c #FFFF6F", +"z. c #FFFF70", +",. c #FFFF71", +"S c #FFFF72", +"< c #FFFF73", +"x. c #FFFF74", +"q. c #FFFF75", +"Q c #FFFF76", +"f c #602B0B", +"1 c #FFFF77", +"m. c #FFFF78", +"w. c #FFFF79", +"! c #FFFF7A", +"2 c #FFFF7B", +"B. c #FFFF7C", +"d. c #FFFF7D", +"e. c #FFFF7E", +"i c #FFFF7F", +"3 c #FFFF80", +"j. c #FFFF81", +"r. c #FFFF82", +"p c #FFFF83", +"4 c #FFFF84", +"c. c #FFFF85", +"k. c #FFFF86", +"c c #FFFF87", +"5 c #FFFF88", +"v. c #FFFF89", +"y. c #FFFF8A", +"( c #FFFF8B", +"6 c #FFFF8C", +"t. c #FFFF8D", +"u. c #FFFF8E", +"O. c #68361C", +"a c #FFFF90", +"V. c #FFFF91", +"f. c #FFFF92", +"$. c #68361F", +"_ c #FFFF93", +"v c #FFFF94", +"Z. c #FFFF95", +"M. c #FFFF96", +"%. c #FFFF97", +"K c #FFFF98", +"A. c #FFFF99", +"C. c #FFFF9A", +"7. c #FFFF9B", +"` c #FFFF9C", +"D. c #FFFF9D", +"S. c #FFFF9E", +"i. c #FFFF9F", +"&. c #FFFFA0", +"F. c #FFFFA1", +"8 c #D0C02A", +"d c #D0C030", +"g c #D0C036", +"h c #D0C03A", +";. c #C8B545", +"t c #C8B548", +"=. c #987527", +"9 c #A0801E", +/* pixels */ +" ", +" ", +" ", +" ", +" ", +" ", +" . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . X o O + @ # $ % & * = - ; : > , < 1 2 3 4 5 6 . 7 ", +" . o 8 9 0 q w % & e r - ; t y u < 1 2 i p 5 6 a . 7 ", +" . O s d f g h & e r j ; : k l z x 2 i p c 6 a v . 7 ", +" . + b n m M & N B V C : Z A S D F i G H J a v K . 7 ", +" . b n L P I U B Y T R E u W Q ! ~ ^ / ( ) _ K ` . 7 ", +" . ' L M ] U [ { C } | .S ..X.o.O.+.@.#.$.%.` &.. 7 ", +" . *.M I =.[ -.;.:.>. .,.Q <.1.2.3.( 4.5.6.7.&.. . 7 ", +" . 8.I U [ -.9.0.E .,.q.w.e.r.t.y.u._ %.7.i.. . . 7 ", +" . p.a.[ -.9.0.s. .,.q.w.d.r.t.t.u.f.%.7.. . . o . 7 ", +" . a.g.-.9.0.s.h.,.q.w.d.j.k.y.t.. . . . . o o . 7 ", +" . g.l.9.0.s.h.z.x.w.d.j.c.v.u.f.. o o o o o . 7 ", +" . l.b.n.s.h.z.x.m.d.j.c.v.t.f.M.. o o o o . 7 ", +" . b.n.N.h.z.x.m.B.j.c.v.t.V.M.C.. o o o . 7 ", +" . n.N.> z.x.m.B.3 4 v.t.V.Z.A.S.. o o . 7 ", +" . N.> , < m.B.3 4 5 t.V.Z.A.D.. o o . 7 ", +" . > , < 1 B.3 4 5 6 V.Z.A.D.. . o . 7 ", +" . , < 1 2 3 4 5 6 a v A.D.F.. o . 7 ", +" . < 1 2 i p 5 6 a v K D.F.. o . 7 ", +" . . . . . . . . . . . . . . . 7 ", +" 7 7 7 7 7 7 7 7 7 7 7 7 7 7 ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/fdmdv2/pa_enum/bitmaps/toolword.ico b/fdmdv2/pa_enum/bitmaps/toolword.ico new file mode 100644 index 00000000..a1a8838c Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/toolword.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/toolword.xpm b/fdmdv2/pa_enum/bitmaps/toolword.xpm new file mode 100644 index 00000000..b2e96a12 --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/toolword.xpm @@ -0,0 +1,41 @@ +/* XPM */ +static const char *const toolword_xpm[] = { +/* width height ncolors chars_per_pixel */ +"32 32 3 1", +/* colors */ +" s None c None", +". c #000000", +"+ c #ffffff", +/* pixels */ +" ", +" ", +" ........ ........ ", +" .++++++. ...........++++++. ", +" .++++++. .++++++++..++++++. ", +" ........ .++++++++......... ", +" .++++++++. ", +" .......... ", +" ", +" ", +" ", +" ..... ", +"...... ......... .+++. .........", +".++++. .+++++++. .+++. .+++++++.", +".++++. .+++++++. .+++. .+++++++.", +".++++. .+++++++. ..... .+++++++.", +"...... ......... .........", +" ", +" ", +" ", +" ", +" .......... ", +" .. .++++++++. ", +" .++. .++++++++. ", +" .++++. .++++++++. ", +" .++++. .......... ", +" ...........+++. ", +" .++++++++. .+. ", +" .++++++++. . ", +" .......... ", +" ", +" "}; diff --git a/fdmdv2/pa_enum/bitmaps/transparent.ico b/fdmdv2/pa_enum/bitmaps/transparent.ico new file mode 100644 index 00000000..eeba3067 Binary files /dev/null and b/fdmdv2/pa_enum/bitmaps/transparent.ico differ diff --git a/fdmdv2/pa_enum/bitmaps/transparent.xpm b/fdmdv2/pa_enum/bitmaps/transparent.xpm new file mode 100644 index 00000000..01f4737d --- /dev/null +++ b/fdmdv2/pa_enum/bitmaps/transparent.xpm @@ -0,0 +1,36 @@ +/* XPM */ +static char * transparent_xpm[] = { +"32 32 1 1", +" c None", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/fdmdv2/pa_enum/gui.cpp b/fdmdv2/pa_enum/gui.cpp new file mode 100644 index 00000000..9d72359f --- /dev/null +++ b/fdmdv2/pa_enum/gui.cpp @@ -0,0 +1,333 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Mar 17 2012) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#include "gui.h" + +/////////////////////////////////////////////////////////////////////////// + +MainFrameBase::MainFrameBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) +{ + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + + m_menuBar = new wxMenuBar( 0 ); + m_menuFile = new wxMenu(); + wxMenuItem* menuFileExit; + menuFileExit = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("E&xit") ) + wxT('\t') + wxT("Alt+X"), wxEmptyString, wxITEM_NORMAL ); + m_menuFile->Append( menuFileExit ); + + m_menuBar->Append( m_menuFile, _("&File") ); + + this->SetMenuBar( m_menuBar ); + + wxBoxSizer* mainSizer; + mainSizer = new wxBoxSizer( wxVERTICAL ); + + m_panel1 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer4; + bSizer4 = new wxBoxSizer( wxVERTICAL ); + + m_notebook1 = new wxNotebook( m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_BOTTOM ); + m_panelRx = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer20; + bSizer20 = new wxBoxSizer( wxVERTICAL ); + + wxGridSizer* gSizer4; + gSizer4 = new wxGridSizer( 2, 1, 0, 0 ); + + wxStaticBoxSizer* sbSizer2; + sbSizer2 = new wxStaticBoxSizer( new wxStaticBox( m_panelRx, wxID_ANY, _("Rx Radio Device") ), wxVERTICAL ); + + m_listCtrlRxInDevices = new wxListCtrl( m_panelRx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES ); + sbSizer2->Add( m_listCtrlRxInDevices, 1, wxALL|wxEXPAND, 2 ); + + wxBoxSizer* bSizer811; + bSizer811 = new wxBoxSizer( wxHORIZONTAL ); + + m_staticText51 = new wxStaticText( m_panelRx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText51->Wrap( -1 ); + bSizer811->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_textCtrlRxIn = new wxTextCtrl( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer811->Add( m_textCtrlRxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + + m_staticText6 = new wxStaticText( m_panelRx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText6->Wrap( -1 ); + bSizer811->Add( m_staticText6, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_cbSampleRateRxIn = new wxComboBox( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); + bSizer811->Add( m_cbSampleRateRxIn, 0, wxALL, 5 ); + + + sbSizer2->Add( bSizer811, 0, wxEXPAND, 5 ); + + + gSizer4->Add( sbSizer2, 1, wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizer3; + sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelRx, wxID_ANY, _("Rx Speaker Stream") ), wxVERTICAL ); + + m_listCtrlRxOutDevices = new wxListCtrl( m_panelRx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES ); + sbSizer3->Add( m_listCtrlRxOutDevices, 1, wxALL|wxEXPAND, 2 ); + + wxBoxSizer* bSizer81; + bSizer81 = new wxBoxSizer( wxHORIZONTAL ); + + m_staticText9 = new wxStaticText( m_panelRx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText9->Wrap( -1 ); + bSizer81->Add( m_staticText9, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + + m_textRxOut = new wxTextCtrl( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer81->Add( m_textRxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + + m_staticText10 = new wxStaticText( m_panelRx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText10->Wrap( -1 ); + bSizer81->Add( m_staticText10, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_cbSampleRateRxOut = new wxComboBox( m_panelRx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); + bSizer81->Add( m_cbSampleRateRxOut, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + + + sbSizer3->Add( bSizer81, 0, wxEXPAND, 2 ); + + + gSizer4->Add( sbSizer3, 1, wxEXPAND, 2 ); + + + bSizer20->Add( gSizer4, 1, wxEXPAND, 1 ); + + + m_panelRx->SetSizer( bSizer20 ); + m_panelRx->Layout(); + bSizer20->Fit( m_panelRx ); + m_notebook1->AddPage( m_panelRx, _("Receive"), true ); + m_panelTx = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer18; + bSizer18 = new wxBoxSizer( wxVERTICAL ); + + wxGridSizer* gSizer2; + gSizer2 = new wxGridSizer( 2, 1, 0, 0 ); + + wxStaticBoxSizer* sbSizer22; + sbSizer22 = new wxStaticBoxSizer( new wxStaticBox( m_panelTx, wxID_ANY, _("Tx Microphone Stream") ), wxVERTICAL ); + + m_listCtrlTxInDevices = new wxListCtrl( m_panelTx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES ); + sbSizer22->Add( m_listCtrlTxInDevices, 1, wxALL|wxEXPAND, 2 ); + + wxBoxSizer* bSizer83; + bSizer83 = new wxBoxSizer( wxHORIZONTAL ); + + m_staticText12 = new wxStaticText( m_panelTx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText12->Wrap( -1 ); + bSizer83->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_textCtrlTxIn = new wxTextCtrl( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer83->Add( m_textCtrlTxIn, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + + m_staticText11 = new wxStaticText( m_panelTx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText11->Wrap( -1 ); + bSizer83->Add( m_staticText11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_cbSampleRateTxIn = new wxComboBox( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); + bSizer83->Add( m_cbSampleRateTxIn, 0, wxALL, 5 ); + + + sbSizer22->Add( bSizer83, 0, wxEXPAND, 2 ); + + + gSizer2->Add( sbSizer22, 1, wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizer21; + sbSizer21 = new wxStaticBoxSizer( new wxStaticBox( m_panelTx, wxID_ANY, _("Tx Radio Stream") ), wxVERTICAL ); + + m_listCtrlTxOutDevices = new wxListCtrl( m_panelTx, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_REPORT|wxLC_VRULES ); + sbSizer21->Add( m_listCtrlTxOutDevices, 1, wxALL|wxEXPAND, 2 ); + + wxBoxSizer* bSizer82; + bSizer82 = new wxBoxSizer( wxHORIZONTAL ); + + m_staticText81 = new wxStaticText( m_panelTx, wxID_ANY, _("Device:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText81->Wrap( -1 ); + bSizer82->Add( m_staticText81, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); + + m_textCtrTxOut = new wxTextCtrl( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + bSizer82->Add( m_textCtrTxOut, 1, wxALIGN_CENTER_VERTICAL|wxALL, 2 ); + + m_staticText71 = new wxStaticText( m_panelTx, wxID_ANY, _("Sample Rate:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText71->Wrap( -1 ); + bSizer82->Add( m_staticText71, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 ); + + m_cbSampleRateTxOut = new wxComboBox( m_panelTx, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_DROPDOWN ); + bSizer82->Add( m_cbSampleRateTxOut, 0, wxALL, 5 ); + + + sbSizer21->Add( bSizer82, 0, wxEXPAND, 2 ); + + + gSizer2->Add( sbSizer21, 1, wxEXPAND, 5 ); + + + bSizer18->Add( gSizer2, 1, wxEXPAND, 1 ); + + + m_panelTx->SetSizer( bSizer18 ); + m_panelTx->Layout(); + bSizer18->Fit( m_panelTx ); + m_notebook1->AddPage( m_panelTx, _("Transmit"), false ); + m_panelAPI = new wxPanel( m_notebook1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bSizer12; + bSizer12 = new wxBoxSizer( wxHORIZONTAL ); + + wxGridSizer* gSizer31; + gSizer31 = new wxGridSizer( 2, 1, 0, 0 ); + + wxStaticBoxSizer* sbSizer1; + sbSizer1 = new wxStaticBoxSizer( new wxStaticBox( m_panelAPI, wxID_ANY, _("PortAudio") ), wxVERTICAL ); + + wxGridSizer* gSizer3; + gSizer3 = new wxGridSizer( 4, 2, 0, 0 ); + + m_staticText7 = new wxStaticText( m_panelAPI, wxID_ANY, _("PortAudio Version String:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText7->Wrap( -1 ); + gSizer3->Add( m_staticText7, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 1 ); + + wxBoxSizer* bSizer151; + bSizer151 = new wxBoxSizer( wxVERTICAL ); + + m_textStringVer = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + bSizer151->Add( m_textStringVer, 0, wxALL|wxEXPAND, 1 ); + + + gSizer3->Add( bSizer151, 1, wxEXPAND, 2 ); + + m_staticText8 = new wxStaticText( m_panelAPI, wxID_ANY, _("PortAudio Int Version:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText8->Wrap( -1 ); + gSizer3->Add( m_staticText8, 0, wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 1 ); + + wxBoxSizer* bSizer13; + bSizer13 = new wxBoxSizer( wxVERTICAL ); + + m_textIntVer = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + bSizer13->Add( m_textIntVer, 0, wxALL|wxALIGN_CENTER_VERTICAL, 1 ); + + + gSizer3->Add( bSizer13, 1, wxEXPAND, 5 ); + + m_staticText5 = new wxStaticText( m_panelAPI, wxID_ANY, _("Device Count:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText5->Wrap( -1 ); + gSizer3->Add( m_staticText5, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 1 ); + + wxBoxSizer* bSizer14; + bSizer14 = new wxBoxSizer( wxVERTICAL ); + + m_textCDevCount = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY ); + m_textCDevCount->SetMaxSize( wxSize( 45,-1 ) ); + + bSizer14->Add( m_textCDevCount, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + + + gSizer3->Add( bSizer14, 1, wxEXPAND, 5 ); + + m_staticText4 = new wxStaticText( m_panelAPI, wxID_ANY, _("API Count:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText4->Wrap( -1 ); + gSizer3->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 1 ); + + wxBoxSizer* bSizer15; + bSizer15 = new wxBoxSizer( wxVERTICAL ); + + m_textAPICount = new wxTextCtrl( m_panelAPI, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 45,-1 ), wxTE_READONLY ); + m_textAPICount->SetMaxSize( wxSize( 45,-1 ) ); + + bSizer15->Add( m_textAPICount, 0, wxALIGN_CENTER_VERTICAL|wxALL, 1 ); + + + gSizer3->Add( bSizer15, 1, wxEXPAND, 5 ); + + + sbSizer1->Add( gSizer3, 1, wxEXPAND, 2 ); + + + gSizer31->Add( sbSizer1, 1, wxEXPAND, 2 ); + + wxStaticBoxSizer* sbSizer6; + sbSizer6 = new wxStaticBoxSizer( new wxStaticBox( m_panelAPI, wxID_ANY, _("Other") ), wxVERTICAL ); + + + gSizer31->Add( sbSizer6, 1, wxEXPAND, 5 ); + + + bSizer12->Add( gSizer31, 1, wxEXPAND, 5 ); + + + m_panelAPI->SetSizer( bSizer12 ); + m_panelAPI->Layout(); + bSizer12->Fit( m_panelAPI ); + m_notebook1->AddPage( m_panelAPI, _("API Info"), false ); + + bSizer4->Add( m_notebook1, 1, wxEXPAND | wxALL, 0 ); + + + m_panel1->SetSizer( bSizer4 ); + m_panel1->Layout(); + bSizer4->Fit( m_panel1 ); + mainSizer->Add( m_panel1, 1, wxEXPAND | wxALL, 1 ); + + wxBoxSizer* bSizer6; + bSizer6 = new wxBoxSizer( wxHORIZONTAL ); + + m_btnRefresh = new wxButton( this, wxID_ANY, _("Refresh"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer6->Add( m_btnRefresh, 0, wxALIGN_CENTER|wxALL, 2 ); + + m_sdbSizer1 = new wxStdDialogButtonSizer(); + m_sdbSizer1OK = new wxButton( this, wxID_OK ); + m_sdbSizer1->AddButton( m_sdbSizer1OK ); + m_sdbSizer1Apply = new wxButton( this, wxID_APPLY ); + m_sdbSizer1->AddButton( m_sdbSizer1Apply ); + m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL ); + m_sdbSizer1->AddButton( m_sdbSizer1Cancel ); + m_sdbSizer1->Realize(); + + bSizer6->Add( m_sdbSizer1, 1, wxALIGN_CENTER_VERTICAL, 2 ); + + + mainSizer->Add( bSizer6, 0, wxEXPAND, 2 ); + + + this->SetSizer( mainSizer ); + this->Layout(); + + this->Centre( wxBOTH ); + + // Connect Events + this->Connect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) ); + this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) ); + this->Connect( menuFileExit->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) ); + m_listCtrlRxInDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxInDeviceSelect ), NULL, this ); + m_listCtrlRxOutDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxOutDeviceSelect ), NULL, this ); + m_listCtrlTxInDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxInDeviceSelect ), NULL, this ); + m_listCtrlTxOutDevices->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxOutDeviceSelect ), NULL, this ); + m_btnRefresh->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnRefreshClick ), NULL, this ); + m_sdbSizer1Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnApplyAudioParameters ), NULL, this ); + m_sdbSizer1Cancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCancelAudioParameters ), NULL, this ); + m_sdbSizer1OK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnOkAudioParameters ), NULL, this ); +} + +MainFrameBase::~MainFrameBase() +{ + // Disconnect Events + this->Disconnect( wxEVT_ACTIVATE_APP, wxActivateEventHandler( MainFrameBase::OnActivateApp ) ); + this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainFrameBase::OnCloseFrame ) ); + this->Disconnect( wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainFrameBase::OnExitClick ) ); + m_listCtrlRxInDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxInDeviceSelect ), NULL, this ); + m_listCtrlRxOutDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnRxOutDeviceSelect ), NULL, this ); + m_listCtrlTxInDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxInDeviceSelect ), NULL, this ); + m_listCtrlTxOutDevices->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( MainFrameBase::OnTxOutDeviceSelect ), NULL, this ); + m_btnRefresh->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnRefreshClick ), NULL, this ); + m_sdbSizer1Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnApplyAudioParameters ), NULL, this ); + m_sdbSizer1Cancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnCancelAudioParameters ), NULL, this ); + m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainFrameBase::OnOkAudioParameters ), NULL, this ); + +} diff --git a/fdmdv2/pa_enum/gui.fbp b/fdmdv2/pa_enum/gui.fbp new file mode 100644 index 00000000..6bcfd736 --- /dev/null +++ b/fdmdv2/pa_enum/gui.fbp @@ -0,0 +1,3589 @@ + + + + + + C++|Python|XRC + 1 + source_name + 0 + 0 + res + UTF-8 + connect + gui + 1000 + none + 1 + PA_Enum + + . + + 1 + 1 + 1 + 0 + 0 + + 1 + 1 + 1 + 1 + + 0 + + + + + + + 1 + wxBOTH + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + impl_virtual + + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + MainFrameBase + 1 + + + 1 + + Resizable + 1 + 869,417 + wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER + + PortAudio Device Enumeration + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + wxTAB_TRAVERSAL + 1 + + OnActivateApp + + + + + + + + OnCloseFrame + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + MainMenu + + 0 + + + 0 + + 1 + m_menuBar + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + &File + m_menuFile + protected + + + 0 + 1 + + wxID_EXIT + wxITEM_NORMAL + E&xit + menuFileExit + none + Alt+X + + OnExitClick + + + + + + + mainSizer + wxVERTICAL + none + + 1 + wxEXPAND | wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panel1 + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer4 + wxVERTICAL + none + + 0 + wxEXPAND | wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_notebook1 + 1 + + + protected + 1 + + Resizable + 1 + + wxNB_BOTTOM + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Receive + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelRx + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer20 + wxVERTICAL + none + + 1 + wxEXPAND + 1 + + 1 + 0 + + gSizer4 + none + 2 + 0 + + 5 + wxEXPAND + 1 + + wxID_ANY + Rx Radio Device + + sbSizer2 + wxVERTICAL + none + + + 2 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_listCtrlRxInDevices + 1 + + + protected + 1 + + Resizable + 1 + + wxLC_HRULES|wxLC_REPORT|wxLC_VRULES + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnRxInDeviceSelect + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 0 + + + bSizer811 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Device: + + 0 + + + 0 + + 1 + m_staticText51 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textCtrlRxIn + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Sample Rate: + + 0 + + + 0 + + 1 + m_staticText6 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_cbSampleRateRxIn + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_DROPDOWN + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxEXPAND + 1 + + wxID_ANY + Rx Speaker Stream + + sbSizer3 + wxVERTICAL + none + + + 2 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_listCtrlRxOutDevices + 1 + + + protected + 1 + + Resizable + 1 + + wxLC_HRULES|wxLC_REPORT|wxLC_VRULES + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnRxOutDeviceSelect + + + + + + + + + + + + + + + + + + 2 + wxEXPAND + 0 + + + bSizer81 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Device: + + 0 + + + 0 + + 1 + m_staticText9 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textRxOut + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Sample Rate: + + 0 + + + 0 + + 1 + m_staticText10 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_cbSampleRateRxOut + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_DROPDOWN + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Transmit + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelTx + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer18 + wxVERTICAL + none + + 1 + wxEXPAND + 1 + + 1 + 0 + + gSizer2 + none + 2 + 0 + + 5 + wxEXPAND + 1 + + wxID_ANY + Tx Microphone Stream + + sbSizer22 + wxVERTICAL + none + + + 2 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_listCtrlTxInDevices + 1 + + + protected + 1 + + Resizable + 1 + + wxLC_HRULES|wxLC_REPORT|wxLC_VRULES + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnTxInDeviceSelect + + + + + + + + + + + + + + + + + + 2 + wxEXPAND + 0 + + + bSizer83 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Device: + + 0 + + + 0 + + 1 + m_staticText12 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textCtrlTxIn + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Sample Rate: + + 0 + + + 0 + + 1 + m_staticText11 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_cbSampleRateTxIn + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_DROPDOWN + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + wxID_ANY + Tx Radio Stream + + sbSizer21 + wxVERTICAL + none + + + 2 + wxALL|wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_listCtrlTxOutDevices + 1 + + + protected + 1 + + Resizable + 1 + + wxLC_HRULES|wxLC_REPORT|wxLC_VRULES + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OnTxOutDeviceSelect + + + + + + + + + + + + + + + + + + 2 + wxEXPAND + 0 + + + bSizer82 + wxHORIZONTAL + none + + 5 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Device: + + 0 + + + 0 + + 1 + m_staticText81 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textCtrTxOut + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Sample Rate: + + 0 + + + 0 + + 1 + m_staticText71 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_cbSampleRateTxOut + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_DROPDOWN + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + API Info + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_panelAPI + 1 + + + protected + 1 + + Resizable + 1 + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizer12 + wxHORIZONTAL + none + + 5 + wxEXPAND + 1 + + 1 + 0 + + gSizer31 + none + 2 + 0 + + 2 + wxEXPAND + 1 + + wxID_ANY + PortAudio + + sbSizer1 + wxVERTICAL + none + + + 2 + wxEXPAND + 1 + + 2 + 0 + + gSizer3 + none + 4 + 0 + + 1 + wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + PortAudio Version String: + + 0 + + + 0 + + 1 + m_staticText7 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxEXPAND + 1 + + + bSizer151 + wxVERTICAL + none + + 1 + wxALL|wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textStringVer + 1 + + + protected + 1 + + Resizable + 1 + + wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + PortAudio Int Version: + + 0 + + + 0 + + 1 + m_staticText8 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + bSizer13 + wxVERTICAL + none + + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_textIntVer + 1 + + + protected + 1 + + Resizable + 1 + + wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Device Count: + + 0 + + + 0 + + 1 + m_staticText5 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + bSizer14 + wxVERTICAL + none + + 1 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + 45,-1 + 0 + + 0 + + 1 + m_textCDevCount + 1 + + + protected + 1 + + Resizable + 1 + 45,-1 + wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + API Count: + + 0 + + + 0 + + 1 + m_staticText4 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + bSizer15 + wxVERTICAL + none + + 1 + wxALIGN_CENTER_VERTICAL|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + 45,-1 + 0 + + 0 + + 1 + m_textAPICount + 1 + + + protected + 1 + + Resizable + 1 + 45,-1 + wxTE_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + wxID_ANY + Other + + sbSizer6 + wxVERTICAL + none + + + + + + + + + + + + + + + 2 + wxEXPAND + 0 + + + bSizer6 + wxHORIZONTAL + none + + 2 + wxALIGN_CENTER|wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Refresh + + 0 + + + 0 + + 1 + m_btnRefresh + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnRefreshClick + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + wxALIGN_CENTER_VERTICAL + 1 + + 1 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + + m_sdbSizer1 + protected + OnApplyAudioParameters + OnCancelAudioParameters + + + + OnOkAudioParameters + + + + + + + + + + diff --git a/fdmdv2/pa_enum/gui.h b/fdmdv2/pa_enum/gui.h new file mode 100644 index 00000000..b46e0111 --- /dev/null +++ b/fdmdv2/pa_enum/gui.h @@ -0,0 +1,108 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Mar 17 2012) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#ifndef __GUI_H__ +#define __GUI_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////// + + +/////////////////////////////////////////////////////////////////////////////// +/// Class MainFrameBase +/////////////////////////////////////////////////////////////////////////////// +class MainFrameBase : public wxFrame +{ + private: + + protected: + wxMenuBar* m_menuBar; + wxMenu* m_menuFile; + wxPanel* m_panel1; + wxNotebook* m_notebook1; + wxPanel* m_panelRx; + wxListCtrl* m_listCtrlRxInDevices; + wxStaticText* m_staticText51; + wxTextCtrl* m_textCtrlRxIn; + wxStaticText* m_staticText6; + wxComboBox* m_cbSampleRateRxIn; + wxListCtrl* m_listCtrlRxOutDevices; + wxStaticText* m_staticText9; + wxTextCtrl* m_textRxOut; + wxStaticText* m_staticText10; + wxComboBox* m_cbSampleRateRxOut; + wxPanel* m_panelTx; + wxListCtrl* m_listCtrlTxInDevices; + wxStaticText* m_staticText12; + wxTextCtrl* m_textCtrlTxIn; + wxStaticText* m_staticText11; + wxComboBox* m_cbSampleRateTxIn; + wxListCtrl* m_listCtrlTxOutDevices; + wxStaticText* m_staticText81; + wxTextCtrl* m_textCtrTxOut; + wxStaticText* m_staticText71; + wxComboBox* m_cbSampleRateTxOut; + wxPanel* m_panelAPI; + wxStaticText* m_staticText7; + wxTextCtrl* m_textStringVer; + wxStaticText* m_staticText8; + wxTextCtrl* m_textIntVer; + wxStaticText* m_staticText5; + wxTextCtrl* m_textCDevCount; + wxStaticText* m_staticText4; + wxTextCtrl* m_textAPICount; + wxButton* m_btnRefresh; + wxStdDialogButtonSizer* m_sdbSizer1; + wxButton* m_sdbSizer1OK; + wxButton* m_sdbSizer1Apply; + wxButton* m_sdbSizer1Cancel; + + // Virtual event handlers, overide them in your derived class + virtual void OnActivateApp( wxActivateEvent& event ) { event.Skip(); } + virtual void OnCloseFrame( wxCloseEvent& event ) { event.Skip(); } + virtual void OnExitClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnRxInDeviceSelect( wxListEvent& event ) { event.Skip(); } + virtual void OnRxOutDeviceSelect( wxListEvent& event ) { event.Skip(); } + virtual void OnTxInDeviceSelect( wxListEvent& event ) { event.Skip(); } + virtual void OnTxOutDeviceSelect( wxListEvent& event ) { event.Skip(); } + virtual void OnRefreshClick( wxCommandEvent& event ) { event.Skip(); } + virtual void OnApplyAudioParameters( wxCommandEvent& event ) { event.Skip(); } + virtual void OnCancelAudioParameters( wxCommandEvent& event ) { event.Skip(); } + virtual void OnOkAudioParameters( wxCommandEvent& event ) { event.Skip(); } + + + public: + + MainFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("PortAudio Device Enumeration"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 869,417 ), long style = wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxTAB_TRAVERSAL ); + + ~MainFrameBase(); + +}; + +#endif //__GUI_H__ diff --git a/fdmdv2/pa_enum/gui.py b/fdmdv2/pa_enum/gui.py new file mode 100644 index 00000000..0fb8ccb6 --- /dev/null +++ b/fdmdv2/pa_enum/gui.py @@ -0,0 +1,345 @@ +# -*- coding: utf-8 -*- + +########################################################################### +## Python code generated with wxFormBuilder (version Mar 17 2012) +## http://www.wxformbuilder.org/ +## +## PLEASE DO "NOT" EDIT THIS FILE! +########################################################################### + +import wx +import wx.xrc + +import gettext +_ = gettext.gettext + +########################################################################### +## Class MainFrameBase +########################################################################### + +class MainFrameBase ( wx.Frame ): + + def __init__( self, parent ): + wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = _(u"PortAudio Device Enumeration"), pos = wx.DefaultPosition, size = wx.Size( 869,417 ), style = wx.CLOSE_BOX|wx.DEFAULT_FRAME_STYLE|wx.RESIZE_BORDER|wx.TAB_TRAVERSAL ) + + self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) + + self.m_menuBar = wx.MenuBar( 0 ) + self.m_menuFile = wx.Menu() + self.menuFileExit = wx.MenuItem( self.m_menuFile, wx.ID_EXIT, _(u"E&xit")+ u"\t" + u"Alt+X", wx.EmptyString, wx.ITEM_NORMAL ) + self.m_menuFile.AppendItem( self.menuFileExit ) + + self.m_menuBar.Append( self.m_menuFile, _(u"&File") ) + + self.SetMenuBar( self.m_menuBar ) + + mainSizer = wx.BoxSizer( wx.VERTICAL ) + + self.m_panel1 = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) + bSizer4 = wx.BoxSizer( wx.VERTICAL ) + + self.m_notebook1 = wx.Notebook( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.NB_BOTTOM ) + self.m_panelRx = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) + bSizer20 = wx.BoxSizer( wx.VERTICAL ) + + gSizer4 = wx.GridSizer( 2, 1, 0, 0 ) + + sbSizer2 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelRx, wx.ID_ANY, _(u"Rx Radio Device") ), wx.VERTICAL ) + + self.m_listCtrlRxInDevices = wx.ListCtrl( self.m_panelRx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES ) + sbSizer2.Add( self.m_listCtrlRxInDevices, 1, wx.ALL|wx.EXPAND, 2 ) + + bSizer811 = wx.BoxSizer( wx.HORIZONTAL ) + + self.m_staticText51 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText51.Wrap( -1 ) + bSizer811.Add( self.m_staticText51, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + self.m_textCtrlRxIn = wx.TextCtrl( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) + bSizer811.Add( self.m_textCtrlRxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 ) + + self.m_staticText6 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText6.Wrap( -1 ) + bSizer811.Add( self.m_staticText6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + m_cbSampleRateRxInChoices = [] + self.m_cbSampleRateRxIn = wx.ComboBox( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateRxInChoices, wx.CB_DROPDOWN ) + bSizer811.Add( self.m_cbSampleRateRxIn, 0, wx.ALL, 5 ) + + + sbSizer2.Add( bSizer811, 0, wx.EXPAND, 5 ) + + + gSizer4.Add( sbSizer2, 1, wx.EXPAND, 5 ) + + sbSizer3 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelRx, wx.ID_ANY, _(u"Rx Speaker Stream") ), wx.VERTICAL ) + + self.m_listCtrlRxOutDevices = wx.ListCtrl( self.m_panelRx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES ) + sbSizer3.Add( self.m_listCtrlRxOutDevices, 1, wx.ALL|wx.EXPAND, 2 ) + + bSizer81 = wx.BoxSizer( wx.HORIZONTAL ) + + self.m_staticText9 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText9.Wrap( -1 ) + bSizer81.Add( self.m_staticText9, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) + + self.m_textRxOut = wx.TextCtrl( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) + bSizer81.Add( self.m_textRxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 ) + + self.m_staticText10 = wx.StaticText( self.m_panelRx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText10.Wrap( -1 ) + bSizer81.Add( self.m_staticText10, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + m_cbSampleRateRxOutChoices = [] + self.m_cbSampleRateRxOut = wx.ComboBox( self.m_panelRx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateRxOutChoices, wx.CB_DROPDOWN ) + bSizer81.Add( self.m_cbSampleRateRxOut, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) + + + sbSizer3.Add( bSizer81, 0, wx.EXPAND, 2 ) + + + gSizer4.Add( sbSizer3, 1, wx.EXPAND, 2 ) + + + bSizer20.Add( gSizer4, 1, wx.EXPAND, 1 ) + + + self.m_panelRx.SetSizer( bSizer20 ) + self.m_panelRx.Layout() + bSizer20.Fit( self.m_panelRx ) + self.m_notebook1.AddPage( self.m_panelRx, _(u"Receive"), True ) + self.m_panelTx = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) + bSizer18 = wx.BoxSizer( wx.VERTICAL ) + + gSizer2 = wx.GridSizer( 2, 1, 0, 0 ) + + sbSizer22 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelTx, wx.ID_ANY, _(u"Tx Microphone Stream") ), wx.VERTICAL ) + + self.m_listCtrlTxInDevices = wx.ListCtrl( self.m_panelTx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES ) + sbSizer22.Add( self.m_listCtrlTxInDevices, 1, wx.ALL|wx.EXPAND, 2 ) + + bSizer83 = wx.BoxSizer( wx.HORIZONTAL ) + + self.m_staticText12 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText12.Wrap( -1 ) + bSizer83.Add( self.m_staticText12, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + self.m_textCtrlTxIn = wx.TextCtrl( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) + bSizer83.Add( self.m_textCtrlTxIn, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 ) + + self.m_staticText11 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText11.Wrap( -1 ) + bSizer83.Add( self.m_staticText11, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + m_cbSampleRateTxInChoices = [] + self.m_cbSampleRateTxIn = wx.ComboBox( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateTxInChoices, wx.CB_DROPDOWN ) + bSizer83.Add( self.m_cbSampleRateTxIn, 0, wx.ALL, 5 ) + + + sbSizer22.Add( bSizer83, 0, wx.EXPAND, 2 ) + + + gSizer2.Add( sbSizer22, 1, wx.EXPAND, 5 ) + + sbSizer21 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelTx, wx.ID_ANY, _(u"Tx Radio Stream") ), wx.VERTICAL ) + + self.m_listCtrlTxOutDevices = wx.ListCtrl( self.m_panelTx, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LC_HRULES|wx.LC_REPORT|wx.LC_VRULES ) + sbSizer21.Add( self.m_listCtrlTxOutDevices, 1, wx.ALL|wx.EXPAND, 2 ) + + bSizer82 = wx.BoxSizer( wx.HORIZONTAL ) + + self.m_staticText81 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Device:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText81.Wrap( -1 ) + bSizer82.Add( self.m_staticText81, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 ) + + self.m_textCtrTxOut = wx.TextCtrl( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) + bSizer82.Add( self.m_textCtrTxOut, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 2 ) + + self.m_staticText71 = wx.StaticText( self.m_panelTx, wx.ID_ANY, _(u"Sample Rate:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText71.Wrap( -1 ) + bSizer82.Add( self.m_staticText71, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 5 ) + + m_cbSampleRateTxOutChoices = [] + self.m_cbSampleRateTxOut = wx.ComboBox( self.m_panelTx, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, m_cbSampleRateTxOutChoices, wx.CB_DROPDOWN ) + bSizer82.Add( self.m_cbSampleRateTxOut, 0, wx.ALL, 5 ) + + + sbSizer21.Add( bSizer82, 0, wx.EXPAND, 2 ) + + + gSizer2.Add( sbSizer21, 1, wx.EXPAND, 5 ) + + + bSizer18.Add( gSizer2, 1, wx.EXPAND, 1 ) + + + self.m_panelTx.SetSizer( bSizer18 ) + self.m_panelTx.Layout() + bSizer18.Fit( self.m_panelTx ) + self.m_notebook1.AddPage( self.m_panelTx, _(u"Transmit"), False ) + self.m_panelAPI = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) + bSizer12 = wx.BoxSizer( wx.HORIZONTAL ) + + gSizer31 = wx.GridSizer( 2, 1, 0, 0 ) + + sbSizer1 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio") ), wx.VERTICAL ) + + gSizer3 = wx.GridSizer( 4, 2, 0, 0 ) + + self.m_staticText7 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio Version String:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText7.Wrap( -1 ) + gSizer3.Add( self.m_staticText7, 0, wx.ALIGN_RIGHT|wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 ) + + bSizer151 = wx.BoxSizer( wx.VERTICAL ) + + self.m_textStringVer = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) + bSizer151.Add( self.m_textStringVer, 0, wx.ALL|wx.EXPAND, 1 ) + + + gSizer3.Add( bSizer151, 1, wx.EXPAND, 2 ) + + self.m_staticText8 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"PortAudio Int Version:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText8.Wrap( -1 ) + gSizer3.Add( self.m_staticText8, 0, wx.ALIGN_RIGHT|wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 ) + + bSizer13 = wx.BoxSizer( wx.VERTICAL ) + + self.m_textIntVer = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY ) + bSizer13.Add( self.m_textIntVer, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 1 ) + + + gSizer3.Add( bSizer13, 1, wx.EXPAND, 5 ) + + self.m_staticText5 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"Device Count:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText5.Wrap( -1 ) + gSizer3.Add( self.m_staticText5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 1 ) + + bSizer14 = wx.BoxSizer( wx.VERTICAL ) + + self.m_textCDevCount = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_READONLY ) + self.m_textCDevCount.SetMaxSize( wx.Size( 45,-1 ) ) + + bSizer14.Add( self.m_textCDevCount, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 ) + + + gSizer3.Add( bSizer14, 1, wx.EXPAND, 5 ) + + self.m_staticText4 = wx.StaticText( self.m_panelAPI, wx.ID_ANY, _(u"API Count:"), wx.DefaultPosition, wx.DefaultSize, 0 ) + self.m_staticText4.Wrap( -1 ) + gSizer3.Add( self.m_staticText4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.ALL, 1 ) + + bSizer15 = wx.BoxSizer( wx.VERTICAL ) + + self.m_textAPICount = wx.TextCtrl( self.m_panelAPI, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 45,-1 ), wx.TE_READONLY ) + self.m_textAPICount.SetMaxSize( wx.Size( 45,-1 ) ) + + bSizer15.Add( self.m_textAPICount, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 1 ) + + + gSizer3.Add( bSizer15, 1, wx.EXPAND, 5 ) + + + sbSizer1.Add( gSizer3, 1, wx.EXPAND, 2 ) + + + gSizer31.Add( sbSizer1, 1, wx.EXPAND, 2 ) + + sbSizer6 = wx.StaticBoxSizer( wx.StaticBox( self.m_panelAPI, wx.ID_ANY, _(u"Other") ), wx.VERTICAL ) + + + gSizer31.Add( sbSizer6, 1, wx.EXPAND, 5 ) + + + bSizer12.Add( gSizer31, 1, wx.EXPAND, 5 ) + + + self.m_panelAPI.SetSizer( bSizer12 ) + self.m_panelAPI.Layout() + bSizer12.Fit( self.m_panelAPI ) + self.m_notebook1.AddPage( self.m_panelAPI, _(u"API Info"), False ) + + bSizer4.Add( self.m_notebook1, 1, wx.EXPAND |wx.ALL, 0 ) + + + self.m_panel1.SetSizer( bSizer4 ) + self.m_panel1.Layout() + bSizer4.Fit( self.m_panel1 ) + mainSizer.Add( self.m_panel1, 1, wx.EXPAND |wx.ALL, 1 ) + + bSizer6 = wx.BoxSizer( wx.HORIZONTAL ) + + self.m_btnRefresh = wx.Button( self, wx.ID_ANY, _(u"Refresh"), wx.DefaultPosition, wx.DefaultSize, 0 ) + bSizer6.Add( self.m_btnRefresh, 0, wx.ALIGN_CENTER|wx.ALL, 2 ) + + m_sdbSizer1 = wx.StdDialogButtonSizer() + self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK ) + m_sdbSizer1.AddButton( self.m_sdbSizer1OK ) + self.m_sdbSizer1Apply = wx.Button( self, wx.ID_APPLY ) + m_sdbSizer1.AddButton( self.m_sdbSizer1Apply ) + self.m_sdbSizer1Cancel = wx.Button( self, wx.ID_CANCEL ) + m_sdbSizer1.AddButton( self.m_sdbSizer1Cancel ) + m_sdbSizer1.Realize(); + + bSizer6.Add( m_sdbSizer1, 1, wx.ALIGN_CENTER_VERTICAL, 2 ) + + + mainSizer.Add( bSizer6, 0, wx.EXPAND, 2 ) + + + self.SetSizer( mainSizer ) + self.Layout() + + self.Centre( wx.BOTH ) + + # Connect Events + self.Bind( wx.EVT_ACTIVATE_APP, self.OnActivateApp ) + self.Bind( wx.EVT_CLOSE, self.OnCloseFrame ) + self.Bind( wx.EVT_MENU, self.OnExitClick, id = self.menuFileExit.GetId() ) + self.m_listCtrlRxInDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnRxInDeviceSelect ) + self.m_listCtrlRxOutDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnRxOutDeviceSelect ) + self.m_listCtrlTxInDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnTxInDeviceSelect ) + self.m_listCtrlTxOutDevices.Bind( wx.EVT_LIST_ITEM_SELECTED, self.OnTxOutDeviceSelect ) + self.m_btnRefresh.Bind( wx.EVT_BUTTON, self.OnRefreshClick ) + self.m_sdbSizer1Apply.Bind( wx.EVT_BUTTON, self.OnApplyAudioParameters ) + self.m_sdbSizer1Cancel.Bind( wx.EVT_BUTTON, self.OnCancelAudioParameters ) + self.m_sdbSizer1OK.Bind( wx.EVT_BUTTON, self.OnOkAudioParameters ) + + def __del__( self ): + pass + + + # Virtual event handlers, overide them in your derived class + def OnActivateApp( self, event ): + event.Skip() + + def OnCloseFrame( self, event ): + event.Skip() + + def OnExitClick( self, event ): + event.Skip() + + def OnRxInDeviceSelect( self, event ): + event.Skip() + + def OnRxOutDeviceSelect( self, event ): + event.Skip() + + def OnTxInDeviceSelect( self, event ): + event.Skip() + + def OnTxOutDeviceSelect( self, event ): + event.Skip() + + def OnRefreshClick( self, event ): + event.Skip() + + def OnApplyAudioParameters( self, event ): + event.Skip() + + def OnCancelAudioParameters( self, event ): + event.Skip() + + def OnOkAudioParameters( self, event ): + event.Skip() + + diff --git a/fdmdv2/pa_enum/gui.xrc b/fdmdv2/pa_enum/gui.xrc new file mode 100644 index 00000000..7aaedc83 --- /dev/null +++ b/fdmdv2/pa_enum/gui.xrc @@ -0,0 +1,537 @@ + + + + + 869,417 + PortAudio Device Enumeration + 1 + 0 + + + + + + + + + + + + wxVERTICAL + + + wxEXPAND | wxALL + 1 + + + + wxVERTICAL + + + wxEXPAND | wxALL + 0 + + + + + 1 + + + + wxVERTICAL + + + wxEXPAND + 1 + + 2 + 1 + 0 + 0 + + + wxEXPAND + 5 + + wxVERTICAL + + + + wxALL|wxEXPAND + 2 + + + + + + + wxEXPAND + 5 + + wxHORIZONTAL + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALIGN_CENTER_VERTICAL|wxALL + 2 + + + 0 + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALL + 5 + + + + + + + + + + + + + wxEXPAND + 2 + + wxVERTICAL + + + + wxALL|wxEXPAND + 2 + + + + + + + wxEXPAND + 2 + + wxHORIZONTAL + + + wxALIGN_CENTER_VERTICAL|wxALL + 5 + + + -1 + + + + + wxALIGN_CENTER_VERTICAL|wxALL + 2 + + + 0 + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALIGN_CENTER_VERTICAL|wxALL + 5 + + + + + + + + + + + + + + + + + + 0 + + + + wxVERTICAL + + + wxEXPAND + 1 + + 2 + 1 + 0 + 0 + + + wxEXPAND + 5 + + wxVERTICAL + + + + wxALL|wxEXPAND + 2 + + + + + + + wxEXPAND + 2 + + wxHORIZONTAL + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALIGN_CENTER_VERTICAL|wxALL + 2 + + + 0 + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALL + 5 + + + + + + + + + + + + + wxEXPAND + 5 + + wxVERTICAL + + + + wxALL|wxEXPAND + 2 + + + + + + + wxEXPAND + 2 + + wxHORIZONTAL + + + wxALIGN_CENTER_VERTICAL|wxALL + 5 + + + -1 + + + + + wxALIGN_CENTER_VERTICAL|wxALL + 2 + + + 0 + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 5 + + + -1 + + + + + wxALL + 5 + + + + + + + + + + + + + + + + + + 0 + + + + wxHORIZONTAL + + + wxEXPAND + 5 + + 2 + 1 + 0 + 0 + + + wxEXPAND + 2 + + wxVERTICAL + + + + wxEXPAND + 2 + + 4 + 2 + 0 + 0 + + + wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL + 1 + + + -1 + + + + + wxEXPAND + 2 + + wxVERTICAL + + + wxALL|wxEXPAND + 1 + + + + 0 + + + + + + + wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL + 1 + + + -1 + + + + + wxEXPAND + 5 + + wxVERTICAL + + + wxALL|wxALIGN_CENTER_VERTICAL + 1 + + + + 0 + + + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 1 + + + -1 + + + + + wxEXPAND + 5 + + wxVERTICAL + + + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + + 45,-1 + + 0 + + + + + + + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL + 1 + + + -1 + + + + + wxEXPAND + 5 + + wxVERTICAL + + + wxALIGN_CENTER_VERTICAL|wxALL + 1 + + + 45,-1 + + 0 + + + + + + + + + + + wxEXPAND + 5 + + wxVERTICAL + + + + + + + + + + + + + + + + wxEXPAND + 2 + + wxHORIZONTAL + + + wxALIGN_CENTER|wxALL + 2 + + + 0 + + + + + wxALIGN_CENTER_VERTICAL + 2 + + + wxALIGN_CENTER_HORIZONTAL|wxALL + 5 + + + + + + wxALIGN_CENTER_HORIZONTAL|wxALL + 5 + + + + + + wxALIGN_CENTER_HORIZONTAL|wxALL + 5 + + + + + + + + + + + diff --git a/fdmdv2/pa_enum/main.cpp b/fdmdv2/pa_enum/main.cpp new file mode 100644 index 00000000..25a50ef2 --- /dev/null +++ b/fdmdv2/pa_enum/main.cpp @@ -0,0 +1,417 @@ +//========================================================================= +// Name: main.cpp +// Purpose: Implements simple wxWidgets application with GUI +// created using wxFormBuilder. +// Author: +// Created: +// Copyright: +// License: wxWidgets license (www.wxwidgets.org) +// +// Notes: Note that all GUI creation code is implemented in +// gui.cpp source file which is generated by wxFormBuilder. +//========================================================================= +#include "main.h" + +// initialize the application +IMPLEMENT_APP(MainApp); + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// application class implementation +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +bool MainApp::OnInit() +{ + SetTopWindow(new MainFrame(NULL)); + GetTopWindow()->Show(); + // true = enter the main loop + return true; +} + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// main application frame implementation +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +MainFrame::MainFrame(wxWindow *parent) : MainFrameBase(parent) +{ + m_isPaInitialized = false; + wxInitAllImageHandlers(); + // Give it an icon + SetIcon(wxICON("../bitmaps/sample.ico")); + + // Make an image list containing large icons + m_imageListNormal = new wxImageList(32, 32, true); + m_imageListSmall = new wxImageList(16, 16, true); + +#ifdef __WXMSW__ + m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolchec.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/transparent.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolchar.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/tooldata.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolgame.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/toolnote.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/tooltime.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/inArrow16x16.ico"), wxBITMAP_TYPE_ICO)); + m_imageListSmall->Add(wxIcon(wxT("bitmaps/outArrow16x16.ico"), wxBITMAP_TYPE_ICO)); +#else + m_imageListNormal->Add(wxIcon( toolbrai_xpm )); + m_imageListNormal->Add(wxIcon( toolchar_xpm )); + m_imageListNormal->Add(wxIcon( tooldata_xpm )); + m_imageListNormal->Add(wxIcon( toolnote_xpm )); + m_imageListNormal->Add(wxIcon( tooltodo_xpm )); + m_imageListNormal->Add(wxIcon( toolchec_xpm )); + m_imageListNormal->Add(wxIcon( toolgame_xpm )); + m_imageListNormal->Add(wxIcon( tooltime_xpm )); + m_imageListNormal->Add(wxIcon( toolword_xpm )); + m_imageListSmall->Add(wxIcon(small1_xpm)); +#endif + if(!m_isPaInitialized) + { + if((pa_err = Pa_Initialize()) == paNoError) + { + m_isPaInitialized = true; + } + else + { + wxMessageBox(wxT("Port Audio failed to initialize"), wxT("Pa_Initialize"), wxOK); + return; + } + } + m_notebook1->SetSelection(0); + showAPIInfo(); + populateParams(m_listCtrlRxInDevices, AUDIO_IN); + populateParams(m_listCtrlRxOutDevices, AUDIO_OUT); + populateParams(m_listCtrlTxInDevices, AUDIO_IN); + populateParams(m_listCtrlTxOutDevices, AUDIO_OUT); +} + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// ~MainFrame() +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +MainFrame::~MainFrame() +{ +} + +//------------------------------------------------------------------------- +// OnCloseFrame() +//------------------------------------------------------------------------- +void MainFrame::OnCloseFrame(wxCloseEvent& event) +{ + if(m_isPaInitialized) + { + if((pa_err = Pa_Terminate()) == paNoError) + { + m_isPaInitialized = false; + } + else + { + wxMessageBox(wxT("Port Audio failed to Terminate"), wxT("Pa_Terminate"), wxOK); + } + } + Destroy(); +} + +//------------------------------------------------------------------------- +// OnExitClick() +//------------------------------------------------------------------------- +void MainFrame::OnExitClick(wxCommandEvent& event) +{ + if(m_isPaInitialized) + { + if((pa_err = Pa_Terminate()) == paNoError) + { + m_isPaInitialized = false; + } + else + { + wxMessageBox(wxT("Port Audio failed to Terminate"), wxT("Pa_Terminate"), wxOK); + } + } + Destroy(); +} + +/* +//------------------------------------------------------------------------- +// getSelectedItems() +//------------------------------------------------------------------------- +long *MainFrame::getSelectedItems(wxListCtrl*listCtrl) +{ + long *items[]; + long item = listCtrl->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + items[0] = item; + while ( item != -1 ) + { + wxLogMessage(wxT("\t%ld (%s)"), item, listCtrl->GetItemText(item).c_str()); + if ( ++shownCount > 10 ) + { + wxLogMessage(wxT("\t... more selected items snipped...")); + break; + } + item = listCtrl->GetNextItem(item, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + } +} return items; +*/ + +//------------------------------------------------------------------------- +// OnDeviceSelect() +//------------------------------------------------------------------------- +void MainFrame::OnDeviceSelect( wxListEvent& event ) +{ + wxListItem info; + long item; + item = m_listCtrlRxInDevices->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + wxMessageBox(m_listCtrlRxInDevices->GetItemText(item, 2), wxT("Item"), wxOK); +} + +//------------------------------------------------------------------------- +// DisplaySupportedSampleRates() +//------------------------------------------------------------------------- +void MainFrame::DisplaySupportedSampleRates(const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters) +{ + static double standardSampleRates[] = + { + 8000.0, 9600.0, + 11025.0, 12000.0, + 16000.0, 22050.0, + 24000.0, 32000.0, + 44100.0, 48000.0, + 88200.0, 96000.0, + 192000.0, -1 // negative terminated list + }; + int i; + int printCount; + PaError err; + + printCount = 0; + for(i=0; standardSampleRates[i] > 0; i++) + { + err = Pa_IsFormatSupported(inputParameters, outputParameters, standardSampleRates[i]); + if(err == paFormatIsSupported) + { + if(printCount == 0) + { + printf("\t%8.2f", standardSampleRates[i]); + printCount = 1; + } + else if(printCount == 4) + { + printf(",\n\t%8.2f", standardSampleRates[i]); + printCount = 1; + } + else + { + printf(", %8.2f", standardSampleRates[i]); + ++printCount; + } + } + } + if(!printCount) + { + printf("None\n"); + } + else + { + printf("\n"); + } +} + +//------------------------------------------------------------------------- +// OnRefreshClick() +//------------------------------------------------------------------------- +void MainFrame::OnRefreshClick(wxCommandEvent& event) +{ + m_notebook1->SetSelection(0); + showAPIInfo(); + populateParams(m_listCtrlRxInDevices, AUDIO_IN); + populateParams(m_listCtrlRxOutDevices, AUDIO_OUT); + populateParams(m_listCtrlTxInDevices, AUDIO_IN); + populateParams(m_listCtrlTxOutDevices, AUDIO_OUT); +} + +//------------------------------------------------------------------------- +// GetAPIInfo() +//------------------------------------------------------------------------- +void MainFrame::showAPIInfo() +{ + wxString strval; + int apiCount = 0; + int numDevices = 0; + + strval = Pa_GetVersionText(); + m_textStringVer->SetValue(strval); + + numDevices = Pa_GetVersion(); + strval.Printf(wxT("%d"), numDevices); + m_textIntVer->SetValue(strval); + + apiCount = Pa_GetHostApiCount(); + strval.Printf(wxT("%d"), apiCount); + m_textAPICount->SetValue(strval); + + numDevices = Pa_GetDeviceCount(); + strval.Printf(wxT("%d"), numDevices); + m_textCDevCount->SetValue(strval); +} + +//------------------------------------------------------------------------- +// populateParams() +//------------------------------------------------------------------------- +void MainFrame::populateParams(wxListCtrl* ctrl, int in_out) +{ + int numDevices = 0; + int defaultDisplayed = false; + const PaDeviceInfo *deviceInfo = NULL; + wxListItem listItem; + wxString buf; + int j = 0; + + numDevices = Pa_GetDeviceCount(); + + if(ctrl->GetColumnCount() > 0) + { + ctrl->ClearAll(); + } + ctrl->SetImageList(m_imageListSmall, wxIMAGE_LIST_SMALL); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Sel")); + ctrl->InsertColumn(0, listItem); + ctrl->SetColumnWidth(0, 45); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Dflt")); + ctrl->InsertColumn(1, listItem); + ctrl->SetColumnWidth(1, 45); + + listItem.SetAlign(wxLIST_FORMAT_LEFT); + listItem.SetText(wxT("Device")); + ctrl->InsertColumn(2, listItem); + ctrl->SetColumnWidth(2, 220); + + listItem.SetAlign(wxLIST_FORMAT_LEFT); + listItem.SetText(wxT("API")); + ctrl->InsertColumn(3, listItem); + ctrl->SetColumnWidth(3, 200); + + if(in_out == AUDIO_IN) + { + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("# Inputs")); + ctrl->InsertColumn(4, listItem); + ctrl->SetColumnWidth(4, 85); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Min Latency")); + ctrl->InsertColumn(5, listItem); + ctrl->SetColumnWidth(5, 120); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Max Latency")); + ctrl->InsertColumn(6, listItem); + ctrl->SetColumnWidth(6, 120); + for(int i = 0; i < numDevices; i++ ) + { + buf.Printf(wxT("")); + deviceInfo = Pa_GetDeviceInfo(i); + if(deviceInfo->maxInputChannels > 0) + { + ctrl->InsertItem(j, ICON_CHECK); + defaultDisplayed = 0; + if(i == Pa_GetDefaultInputDevice()) + { + // Default Output + ctrl->SetItem(j, 1, buf, ICON_INARROW); + defaultDisplayed = true; + } + else if(i == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultInputDevice) + { + ctrl->SetItem(j, 1, buf, ICON_OUTARROW); + defaultDisplayed = true; + } + if(!defaultDisplayed) + { + ctrl->SetItem(j, 1, buf, ICON_TRANSPARENT); + } + ctrl->SetItemData(j, 1); + + buf.Printf(wxT("%s"), deviceInfo->name); + ctrl->SetItem(j, 2, buf); + + buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name); + ctrl->SetItem(j, 3, buf); + + buf.Printf(wxT("%i"), deviceInfo->maxInputChannels); + ctrl->SetItem(j, 4, buf); + + buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowInputLatency); + ctrl->SetItem(j, 5, buf); + + buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighInputLatency); + ctrl->SetItem(j, 6, buf); + j++; + } + } + } + else if(in_out == AUDIO_OUT) + { + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("# Outputs")); + ctrl->InsertColumn(4, listItem); + ctrl->SetColumnWidth(4, 85); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Min Latency")); + ctrl->InsertColumn(5, listItem); + ctrl->SetColumnWidth(5, 120); + + listItem.SetAlign(wxLIST_FORMAT_CENTRE); + listItem.SetText(wxT("Max Latency")); + ctrl->InsertColumn(6, listItem); + ctrl->SetColumnWidth(6, 120); + for(int i = 0; i < numDevices; i++) + { + buf.Printf(wxT("")); + deviceInfo = Pa_GetDeviceInfo(i); + defaultDisplayed = 0; + if(deviceInfo->maxOutputChannels > 0) + { + ctrl->InsertItem(j, ICON_CHECK); + if(i == Pa_GetDefaultOutputDevice()) + { + // Default Output + ctrl->SetItem(j, 1, buf, ICON_OUTARROW); + defaultDisplayed = true; + } + else if(i == Pa_GetHostApiInfo(deviceInfo->hostApi)->defaultOutputDevice) + { + ctrl->SetItem(j, 1, buf, ICON_OUTARROW); + defaultDisplayed = true; + } + + if(!defaultDisplayed) + { + ctrl->SetItem(j, 1, buf, ICON_TRANSPARENT); + } + ctrl->SetItemData(j, 1); + + buf.Printf(wxT("%s"), deviceInfo->name); + ctrl->SetItem(j, 2, buf); + + buf.Printf(wxT("%s"), Pa_GetHostApiInfo(deviceInfo->hostApi)->name); + ctrl->SetItem(j, 3, buf); + + buf.Printf(wxT("%i"), deviceInfo->maxOutputChannels); + ctrl->SetItem(j, 4, buf); + + buf.Printf(wxT("%8.4f"), deviceInfo->defaultLowOutputLatency); + ctrl->SetItem(j, 5, buf); + + buf.Printf(wxT("%8.4f"), deviceInfo->defaultHighOutputLatency); + ctrl->SetItem(j, 6, buf); + j++; + } + } + } + else + { + // Dun, do what? + } +} + diff --git a/fdmdv2/pa_enum/main.h b/fdmdv2/pa_enum/main.h new file mode 100644 index 00000000..f916e01b --- /dev/null +++ b/fdmdv2/pa_enum/main.h @@ -0,0 +1,98 @@ +//========================================================================= +// Name: main.h +// Purpose: Declares simple wxWidgets application with GUI +// created using wxFormBuilder. +// Author: +// Created: +// Copyright: +// License: wxWidgets license (www.wxwidgets.org) +// +// Notes: Note that all GUI creation code is declared in +// gui.h source file which is generated by wxFormBuilder. +//========================================================================= +#ifndef __main__ +#define __main__ + +// main wxWidgets header file +#include +#include +#if !defined(__WXMSW__) && !defined(__WXPM__) + #include "../bitmaps/sample.xpm" +#endif + +#ifndef __WXMSW__ + #include "bitmaps/toolbrai.xpm" + #include "bitmaps/toolchar.xpm" + #include "bitmaps/tooldata.xpm" + #include "bitmaps/toolnote.xpm" + #include "bitmaps/tooltodo.xpm" + #include "bitmaps/toolchec.xpm" + #include "bitmaps/toolgame.xpm" + #include "bitmaps/tooltime.xpm" + #include "bitmaps/toolword.xpm" + #include "bitmaps/small1.xpm" +#endif + +#define AUDIO_IN 0 +#define AUDIO_OUT 1 + +#define ICON_TRANSPARENT 1 +#define ICON_CHECK 0 +#define ICON_toolchar 2 +#define ICON_tooldata 3 +#define ICON_toolgame 4 +#define ICON_toolnote 5 +#define ICON_TOOLTIME 6 +#define ICON_INARROW 7 +#define ICON_OUTARROW 8 + +// gui classes generated by wxFormBuilder +#include "gui.h" +#include "portaudio.h" +#ifdef WIN32 +#if PA_USE_ASIO +#include "pa_asio.h" +#endif +#endif + + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// application class declaration +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= + +class MainApp : public wxApp +{ + public: + virtual bool OnInit(); +}; + +// declare global static function wxGetApp() +DECLARE_APP(MainApp) + +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +// main application frame declaration +//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-= +class MainFrame : public MainFrameBase +{ + public: + MainFrame( wxWindow *parent ); + virtual ~MainFrame(); + PaError pa_err; + bool m_isPaInitialized; + wxImageList *m_imageListNormal; + wxImageList *m_imageListSmall; + + protected: + // protected event handlers + void OnCloseFrame( wxCloseEvent& event ); + void OnDeviceSelect( wxListEvent& event ); + + void OnExitClick( wxCommandEvent& event ); + void OnRefreshClick( wxCommandEvent& event ); + void DisplaySupportedSampleRates(const PaStreamParameters *inputParameters, const PaStreamParameters *outputParameters); + void populateParams(wxListCtrl* ctrl, int in_out); + void showAPIInfo(); +}; + + +#endif //__main__ diff --git a/fdmdv2/pa_enum/pa_enum.mk b/fdmdv2/pa_enum/pa_enum.mk new file mode 100644 index 00000000..144dc9b0 --- /dev/null +++ b/fdmdv2/pa_enum/pa_enum.mk @@ -0,0 +1,114 @@ +## +## Auto Generated makefile by CodeLite IDE +## any manual changes will be erased +## +## Debug +ProjectName :=pa_enum +ConfigurationName :=Debug +IntermediateDirectory :=./Debug +OutDir := $(IntermediateDirectory) +WorkspacePath := "C:\Users\wittend\Projects\Radio\fdmdv2" +ProjectPath := "C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum" +CurrentFileName := +CurrentFilePath := +CurrentFileFullPath := +User :=wittend +Date :=6/26/2012 +CodeLitePath :="C:\Program Files\CodeLite" +LinkerName :=g++ +ArchiveTool :=ar rcus +SharedObjectLinkerName :=g++ -shared -fPIC +ObjectSuffix :=.o +DependSuffix :=.o.d +PreprocessSuffix :=.o.i +DebugSwitch :=-gstab +IncludeSwitch :=-I +LibrarySwitch :=-l +OutputSwitch :=-o +LibraryPathSwitch :=-L +PreprocessorSwitch :=-D +SourceSwitch :=-c +CompilerName :=g++ +C_CompilerName :=gcc +OutputFile :=$(IntermediateDirectory)/$(ProjectName) +Preprocessors :=$(PreprocessorSwitch)__WX__ +ObjectSwitch :=-o +ArchiveOutputSwitch := +PreprocessOnlySwitch :=-E +ObjectsFileList :="C:\Users\wittend\Projects\Radio\fdmdv2\pa_enum\pa_enum.txt" +PCHCompileFlags := +MakeDirCommand :=makedir +CmpOptions := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) $(Preprocessors) +C_CmpOptions := -g -O0 -Wall $(shell wx-config --cxxflags --unicode=yes --debug=yes) $(Preprocessors) +LinkOptions := -mwindows $(shell wx-config --debug=yes --libs --unicode=yes) +IncludePath := $(IncludeSwitch). $(IncludeSwitch)/bin/MinGW/msys/1.0/local/include +IncludePCH := +RcIncludePath := +Libs := $(LibrarySwitch)portaudio $(LibrarySwitch)portaudiocpp +LibPath := $(LibraryPathSwitch). $(LibraryPathSwitch)/bin/MinGW/msys/1.0/local/lib + + +## +## User defined environment variables +## +CodeLiteDir:=C:\Program Files\CodeLite +WXWIN:=C:\bin\wxWidgets-2.9.4 +PATH:=$(WXWIN)\lib\gcc_dll;$(PATH) +WXCFG:=gcc_dll\mswu +UNIT_TEST_PP_SRC_DIR:=C:\bin\UnitTest++-1.3 +Objects=$(IntermediateDirectory)/gui$(ObjectSuffix) $(IntermediateDirectory)/main$(ObjectSuffix) + +## +## Main Build Targets +## +.PHONY: all clean PreBuild PrePreBuild PostBuild +all: $(OutputFile) + +$(OutputFile): $(IntermediateDirectory)/.d $(Objects) + @$(MakeDirCommand) $(@D) + @echo "" > $(IntermediateDirectory)/.d + @echo $(Objects) > $(ObjectsFileList) + $(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions) + +$(IntermediateDirectory)/.d: + @$(MakeDirCommand) "./Debug" + +PreBuild: + + +## +## Objects +## +$(IntermediateDirectory)/gui$(ObjectSuffix): gui.cpp $(IntermediateDirectory)/gui$(DependSuffix) + $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/gui$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/gui$(DependSuffix): gui.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/gui$(ObjectSuffix) -MF$(IntermediateDirectory)/gui$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp" + +$(IntermediateDirectory)/gui$(PreprocessSuffix): gui.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/gui$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/gui.cpp" + +$(IntermediateDirectory)/main$(ObjectSuffix): main.cpp $(IntermediateDirectory)/main$(DependSuffix) + $(CompilerName) $(IncludePCH) $(SourceSwitch) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp" $(CmpOptions) $(ObjectSwitch)$(IntermediateDirectory)/main$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/main$(DependSuffix): main.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) -MG -MP -MT$(IntermediateDirectory)/main$(ObjectSuffix) -MF$(IntermediateDirectory)/main$(DependSuffix) -MM "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp" + +$(IntermediateDirectory)/main$(PreprocessSuffix): main.cpp + @$(CompilerName) $(CmpOptions) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/main$(PreprocessSuffix) "C:/Users/wittend/Projects/Radio/fdmdv2/pa_enum/main.cpp" + + +-include $(IntermediateDirectory)/*$(DependSuffix) +## +## Clean +## +clean: + $(RM) $(IntermediateDirectory)/gui$(ObjectSuffix) + $(RM) $(IntermediateDirectory)/gui$(DependSuffix) + $(RM) $(IntermediateDirectory)/gui$(PreprocessSuffix) + $(RM) $(IntermediateDirectory)/main$(ObjectSuffix) + $(RM) $(IntermediateDirectory)/main$(DependSuffix) + $(RM) $(IntermediateDirectory)/main$(PreprocessSuffix) + $(RM) $(OutputFile) + $(RM) $(OutputFile).exe + $(RM) "C:\Users\wittend\Projects\Radio\fdmdv2\.build-debug\pa_enum" + + diff --git a/fdmdv2/pa_enum/pa_enum.project b/fdmdv2/pa_enum/pa_enum.project new file mode 100644 index 00000000..d2e6e989 --- /dev/null +++ b/fdmdv2/pa_enum/pa_enum.project @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + + + + + + + + + + + + + + diff --git a/fdmdv2/pa_enum/pa_enum.txt b/fdmdv2/pa_enum/pa_enum.txt new file mode 100644 index 00000000..df3ff299 --- /dev/null +++ b/fdmdv2/pa_enum/pa_enum.txt @@ -0,0 +1 @@ +./Debug/gui.o ./Debug/main.o