Needs a better GUI library

wyuenho
2005-03-13
2012-12-31
  • wyuenho
    wyuenho
    2005-03-13

    Hello project maintainer and developers!

    I must say I am so glad to see that there is still 1 last decent OSS audio encoder active in development. Feature wise I think BonkEnc is pretty good. And as an Asian, I'm so glad that I've found the only free working audio encoder out there that supports Unicode.(LameFE's latest alpha is pretty unstable).

    That said, I think this application does need some serious improvement on the Front-End. The current Smooth GUI library is simply too buggy, slow, and please forgive me, it's just downright ugly as hell. There are a lot of easy to use but very mature OSS GUI libraries out there. GTK+ is a pretty popular crossplatform library. It's not the prettiest(horrible file dialog), but it's a good choice if the source language is C++, and being crossplatform is of the primary concern in the future. If not, there's a project called SmartWin on SourceForge you may want to try out. This library is just a simple wrapper on Win32 API. It's coded with some very advanced OO Design Patterns and AOP. It's very easy to use, powerful, and very pretty.

    I don't know exactly the reason you chose Smooth as the Front-End GUI framework, but if you like to experiment on new technology, I strongly recommend tryying SmartWin out.

     
    • Robert Kausch
      Robert Kausch
      2005-03-13

      Hello,

      the reason I chose the smooth library is because I wrote it, it's my toy ;-)

      I know it's still quite buggy, especially when working with threads, but I'm working on improving the core of the library. Smart pointers with automatic access protection will be employed in the next release and they should largely improve stability of smooth and BonkEnc.

      smooth has some nice features such as transparent Unicode support and signals & slots. I'm also working on porting the library to Linux. The core is already available on Linux, but the GUI stuff still has to be ported.

      I also know that some people find it ugly, but there are also many who like the design. Theming support is on the list, though, and will be available soon.

      Greetings,
      Enzo

       
    • wyuenho
      wyuenho
      2005-03-14

      lol. That was embarrassing. Please forgive me I didn't do my research. There are some very good, and unique features in Smooth that I like, you mentioned one thing which is the transparent Unicode support. I do notice a lot of threading issues though. I don't know whether making the entire GUI library thread-safe is the right way to go, because usually it's daunting task. Perhaps separating all the rendering processes from the events queue(or signals and slots as you call it) will be easier? Sorry to be such a jerk, I just thought you are just a user of Smooth. Perhaps removing all the extra border lines between widgets will make the UI prettier.

       
      • Robert Kausch
        Robert Kausch
        2005-03-15

        smooth uses surface objects to do its drawing. These are interfaces to drawing surfaces such as bitmaps, DCs in Win32 or GCs in Xlib programming.

        I think making access to surface objects thread-safe should solve most of the problems. I will try wrapping all surfaces into thread-locking smart pointers - that should be relatively easy to do.

        I'm also thinking about changing the UI, especially the buttons and list boxes. I think the buttons are really quite ugly, but I like most other things.

         
  • anonymous_user
    anonymous_user
    2012-06-24

    Any feedback on this? The "downright ugly as hell" interface was the absolute
    first thing I noticed when I tried this application. While I consider function
    to be more important than form, I think the current UI could use improvement.
    Period.

     
  • qw6135920
    qw6135920
    2012-12-31

    Ups, hadn't noticed this thread before posting over there:

    https://sourceforge.net/p/bonkenc/feature-requests/45/

    ;)

    the reason I chose the smooth library is because I wrote it, it's my toy ;-)

    Ahh, now it's a lot more understandable that you don't want to change the GUI framework as mentioned in the other thread ;).