What about MUI?

Hey, what about MUI? It’s the only “toolkit” I’ve found that
comes close to meeting all of my requirements. It’s compact,
portable, written entirely in opengl and glut, comes with
a file browser of sorts, and doesn’t require C++. Is there
anything else out there like it, or this it?

I’ve seen hints about bugfixes and rewrites but never seen any
patched code, so I’ve started fixing some of the worst bugs
myself. With all the old talk about MUI being abandonware and
having license issues, I’m not even sure if this is legal. Is
it?

Is anyone else out there still using MUI, or is there another
toolkit written in opengl calls that doesn’t require C++?

Perhaps someone should take the time to update it and/or port it to some other toolkit/environment. I have not looked at it much, but it would be nice if the GLUT-related stuff could be separated as much as possible from the core of MUI into a “module”, so that it’s easy to add it on top of e.g. GLFW.

I think most of the glut-related in MUI already is separated in
the file glutmui.c so it should be easy to add it on top of GLFW.

However, I’m not ready to jump to GLFW until it runs on a Mac.
I’m looking to (A) maximize portablilty with (B) mimimal requirements.
Right now glut seems to handle (A) pretty well. And MUI doesn’t
add any additional requirements on top of glut. But it does have
some bugs and could use an update. It’d be nice to start with
some of the work that’s already been done.

This page has a patch for some crashes, including the one I found
where you click the mouse, drag onto a radio button, and release:

http://www.cs.brandeis.edu/~meshko/cs155/hw6.html

These pages show a range slider MUI extension, but only partial sources:

http://dvl.sdsc.edu/vx/vx.pdf
http://www.sdsc.edu/~mjb/cs689/Projects/proj05.html
http://www.sdsc.edu/~mjb/cs689/mui.h.txt

Here are some CVS logs showing an attempt to enhance MUI. Once
again, I couldn’t find all of the code:

http://www.solace.mh.se/~jocke/enet/index_eui.html

Is there more of this out there? Wouldn’t it be nice to consolidate
it into a new release? Or is GLUT/MUI a dead end?

Here’s an interesting read on the subject:
http://www.sjbaker.org/steve/omniv/mui_pui_glui.html

Yes, that’s what I was alluding to in my initial post. Thanks for
providing the link. When I read that a while back I thought I’d end
up using either PUI or GLUI, but what that article fails to mention is
that both require you to move to C++. I’d prefer not to.

Meanwhile, the copyright statements in the MUI code look much more
permissive than that article makes them out to be. My take is that
it is, in fact, OK to fix MUI so that I can continue to work in C.
But I’m not a lawyer, so can someone clarify this?

From gizmo.c:

/*

  • Copyright © 1992, Silicon Graphics, Inc.
  • ALL RIGHTS RESERVED
  • Permission to use, copy, modify, and distribute this software for
  • any purpose and without fee is hereby granted, provided that the above
  • copyright notice appear in all copies and that both the copyright notice
  • and this permission notice appear in supporting documentation, and that
  • the name of Silicon Graphics, Inc. not be used in advertising
  • or publicity pertaining to distribution of the software without specific,
  • written prior permission.
  • THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU “AS-IS”
  • AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
  • INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
  • FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  • GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
  • SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
  • KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
  • LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
  • THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
  • ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
  • ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
  • POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
  • US Government Users Restricted Rights
  • Use, duplication, or disclosure by the Government is subject to
  • restrictions set forth in FAR 52.227.19©(2) or subparagraph
  • ©(1)(ii) of the Rights in Technical Data and Computer Software
  • clause at DFARS 252.227-7013 and/or in similar or successor
  • clauses in the FAR or the DOD or NASA FAR Supplement.
  • Unpublished-- rights reserved under the copyright laws of the
  • United States. Contractor/manufacturer is Silicon Graphics,
  • Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
  • OpenGL® is a registered trademark of Silicon Graphics, Inc.
    */

/* jot text editor source code. /
/
Tom Davis /
/
February 7, 1992 */

I agree totally. I’d like to port a nice, modern ui toolkit to Cpw but it would have to be ansi c for portability. If anybody knows of such a beast, please post the link here.

I took a peek at the GPLed source for Moonlight Creator and it appears to
have an ansi C toolkit (koalagui) that supposedly uses pure opengl calls.
It looks quite nice in the screenshots.

http://moonlight3d.net/tutorials/moonlight-tutorial-2/index.html

Has anyone else looked at this? I’m considering building just the toolkit
and using it for my project instead of MUI.

Ah, nevermind. I looked at the source a bit more and its C++.
I guess it’s back to MUI for me.