From: Campbell Barton <ideasman42@gmail.com>
To: Thales <thaleslv@yahoo.com>; audacity-devel@lists.sourceforge.net
Sent: Saturday, September 28, 2013 4:19 AM
Subject: Re: [Audacity-devel] OpenGL for Rendering Waveforms, etc?
On Sat, Sep 28, 2013 at 1:18 AM, Thales <thaleslv@yahoo.com> wrote:
> Hello Campbell,
>
> I don't know off hand, but judging by the interfaces for packages like Adobe
> Audition and Pro Tools, I'm guessing they are using either DirectX or
> OpenGL.
>
>
> Here are several screenshots from both Audio Edition and Pro Tools:
> http://images.amazon.com/images/G/01/software/detail-page/B004TCG89C-1.jpg
> http://www.renderosity.com/adobe-audition-3-the-best-just-got-better-cms-13972
> http://www.heise.de/software/screenshots/315.jpg
> http://fire-software.blogspot.com/2011/02/avid-pro-tools-9-windows.html
> http://goprotools.com/blog/wp-content/uploads/2010/10/m_audio_pro_tools_recording_studio_5a.png
>
> The rich colors, sharp details, transparent images, free form layouts, etc.,
> make me think they're using OpenGL or DX!  :-)
>
>
> Thanks,
> ...John

"Hi John, note that I'm not speaking as part of the Audacity team (I
only did minor patches so far),
but I think you approach it backwards."

  Same here! :-)


"Rather then say "theres a shiny technology - lets use it", Id approach
from other direction.

- Audacity is limited because "..."
- It can be solved by "..." (improved drawing I assume?)
- Improved/Advanced drawing can be achieved by "..."

I'd actually be surprised if all the applications you linked to are
using OpenGL/DirectX,
Its quite feasible to have smooth lines without hardware acceleration."

   Are you sure?   All graphics cards should supply OpenGL and DX drivers, since they are the standard libraries used for graphics for games and other graphically intense applications.   It would be very hard to do anything beyond the basics graphically without writing routines that are compatible across all cards.  

"Also don't under estimate the potential of cheap laptop hardware and
buggy drivers to perform baddly with OpenGL,
especially 2D functions which are sometimes done in software anyway
(cheap cards tend to do this since games don't use them)."

   Well, games do use cheap cards.  It's just that if you want the cutting edge games you'll need a more high end card. 


"It depends on the scope of the task but you might end up having to
check for different opengl hardware and implement workarounds for
known bugs. thats in fact very common in projects using OpenGL.
Such bugs are incredible annoying since often the developers can't
redo them and users complain that their interface is broken."

    That's true.  Bugs will always be an issue.

"Long term - I wouldn't assume this to be a straightforward task or
even a net gain.

Suggest you first define the problem - then solutions can be considered,
though unless a developer plans to pick up this project, it probably
ends up being a lot of noise with no outcome."

    Well, this really came to me since I've been working on the pan envelope feature.    I've done quite a bit of work with graphics and OpenGL/DX, and thought that OpenGL would provide a great tool by which to create an effective pan envelope, and I see it working the same for many features.     It would give you a practical advantage over WxWidgets in terms of flexibility of interface and quality renderings.   Quality renderings can improve functionality, because being able to see things in visual space clearly adds a lot.

  However, having said that, there is no doubt this wouldn't be a small change and there are always down sides.     I just wanted to throw this out there to see how people would respond.

  Thanks for the feedback, Campbell!! 

  ...John