/*==================================================================
  ==================================================================
  ==	XMusic -- An Interactive Interface to Csound		  ==
  ==       Copyright (C) 1988 by George D. Drapeau                ==
  ==                  All Rights Reserved                         ==
  ==================================================================
  ==================================================================
*/
/* $Log:	fnames.c,v $
 * Revision 1.3  89/08/06  18:10:31  drapeau
 * Cleaned up the code for the first X11 release.
 *  */

#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>
#include <string.h>
#include "defs.h"
#include "externs.h"

GetToolInfo(tool)
     Tool	*tool;
{
  if (tool == NULL)						    /* If no tool pointer was passed, then don't bother... */
    return;							    /* ...drawing the Info window */
  toolArg1=toolArg2=toolArg3=toolArg4=toolArg5=toolArg6=toolArg7=toolArg8=NULL;
  if ((EQ(tool->fName,"line")) || (EQ(tool->fName,"expon")) ||
      (EQ(tool->fName,"linseg")) || (EQ(tool->fName,"expseg")))
    {
      toolArg1 = "Starting Value:";
      toolArg2 = "Duration of 1st Segment:";
      toolArg3 = "Second Value:";
    }
  if ((EQ(tool->fName,"linseg")) || (EQ(tool->fName,"expseg")))
    {
      toolArg4 = "Duration of 2nd Segment:";
      toolArg5 = "Third Value:";
      toolArg6 = "Duration of 3rd Segment:";
      toolArg7 = "Fourth Value:";
      toolArg8 = "Duration of 4th Segment:";
    }
  if (EQ(tool->fName,"phasor"))
    {
      toolArg1 = "Frequency:";
      toolArg2 = "Initial Phase:";
    }
  if ((EQ(tool->fName,"table")) || (EQ(tool->fName,"tablei")))
    {
      toolArg1 = "Index:";
      toolArg2 = "Function Table #:";
      toolArg3 = "Index Data Mode:";
      toolArg4 = "Index Offset:";
      toolArg5 = "Wraparound Index Flag:";
    }
  if ((EQ(tool->fName,"Oscil1")) || (EQ(tool->fName,"oscil1i")))
    {
      toolArg1 = "Initial Delay:";
      toolArg2 = "Amplitude:";
      toolArg3 = "Initial Duration:";
      toolArg4 = "Function Table #:";
    }
  if ((EQ(tool->fName,"oscil")) || (EQ(tool->fName,"oscili")) ||
      (EQ(tool->fName,"foscil")) || (EQ(tool->fName,"foscili")))
    {
      toolArg1 = "Amplitude:";
      toolArg2 = "Frequency:";
    }
  if ((EQ(tool->fName,"oscil")) || (EQ(tool->fName,"oscili")))
    {
      toolArg3 = "Function Table #:";
      toolArg4 = "Initial Phase:";
    }
  if ((EQ(tool->fName,"foscil")) || (EQ(tool->fName,"foscili")))
    {
      toolArg3 = "Carrier Freq:";
      toolArg4 = "Modulator Freq:";
      toolArg5 = "Index of Modulation:";
      toolArg6 = "Function Table #:";
      toolArg7 = "Initial Phase:";
    }
  if (EQ(tool->fName,"adsyn"))
    {
      toolArg1 = "Amplitude Mod:";
      toolArg2 = "Freq. Mod:";
      toolArg3 = "Control File Suffix:";
    }
  if ((EQ(tool->fName,"buzz")) || (EQ(tool->fName,"gbuzz")) ||
      (EQ(tool->fName,"pluck")) || (EQ(tool->fName,"rand")) ||
      (EQ(tool->fName,"randh")) || (EQ(tool->fName,"randi")))
    {
      toolArg1 = "Amplitude:";
    }
  
  if ((EQ(tool->fName,"buzz")) || (EQ(tool->fName,"gbuzz")) ||
      (EQ(tool->fName,"pluck")) || (EQ(tool->fName,"randh"))||
      (EQ(tool->fName,"randi")))
    {
      toolArg2 = "Frequency:";
    }
  if (EQ(tool->fName,"rand"))
    {
      toolArg2 = "Seed:";
    }
  if ((EQ(tool->fName,"randi")) || (EQ(tool->fName,"randh")))
    {
      toolArg3 = "Seed:";
    }
  if ((EQ(tool->fName,"buzz")) || (EQ(tool->fName,"gbuzz")))
    {
      toolArg3 = "Number of Harmonics:";
    }
  if (EQ(tool->fName,"buzz"))
    {
      toolArg4 = "Function Table #:";
      toolArg5 = "Initial Phase:";
    }
  if (EQ(tool->fName,"gbuzz"))
    {
      toolArg4 = "Lowest Harmonic:";
      toolArg5 = "Multiplier:";
      toolArg6 = "Function Table #:";
      toolArg7 = "Initial Phase:";
    }
  if (EQ(tool->fName,"pluck"))
    {
      toolArg3 = "Intended Frequency:";
      toolArg4 = "Function Table #:";
      toolArg5 = "Method of Decay:";
      toolArg6 = "Smoothing Param 1:";
      toolArg7 = "Smoothing Param 2:";
    }
  if ((EQ(tool->fName,"linen")) || (EQ(tool->fName,"envlpx")))
    {
      toolArg1 = "Amplitude:";
      toolArg2 = "Rise Time:";
      toolArg3 = "Duration:";
      toolArg4 = "Decay Time:";
    }
  if (EQ(tool->fName,"envlpx"))
    {
      toolArg5 = "Function Table #:";
      toolArg6 = "Attenuation Factor:";
      toolArg7 = "Decay Atten. Factor:";
      toolArg8 = "Curve Modifier:";
    }
  if ((EQ(tool->fName,"port")) || (EQ(tool->fName,"tone")) ||
      (EQ(tool->fName,"atone"))|| (EQ(tool->fName,"reson"))||
      (EQ(tool->fName,"areson")))
    {
      toolArg1 = "Signal:";
    }
  if (EQ(tool->fName,"port"))
    {
      toolArg2 = "Half-Time:";
      toolArg3 = "Initial Value:";
    }
  if ((EQ(tool->fName,"tone")) || (EQ(tool->fName,"atone")))
    {
      toolArg2 = "Half Power Point:";
      toolArg3 = "Storage Space Status:";
    }
  if ((EQ(tool->fName,"reson")) || (EQ(tool->fName,"areson")))
    {
      toolArg2 = "Center Frequency:";
      toolArg3 = "Bandwidth:";
      toolArg4 = "Scaling Factor:";
      toolArg5 = "Storage Space Status:";
    }
  if (EQ(tool->fName,"lpread"))
    {
      toolArg1 = "Input Value:";
      toolArg2 = "Control File Suffix:";
      toolArg3 = "Number of Poles:";
      toolArg4 = "Frame Rate:";
    }
  if ((EQ(tool->fName,"lpreson")) || (EQ(tool->fName,"lpfreson")))
    {
      toolArg1 = "Signal:";
    }
  if (EQ(tool->fName,"lpfreson"))
    {
      toolArg2 = "Frequency Ratio:";
    }
  if ((EQ(tool->fName,"rms")) || (EQ(tool->fName,"gain")) ||
      (EQ(tool->fName,"balance")) || (EQ(tool->fName,"downsamp")) ||
      (EQ(tool->fName,"upsamp"))  || (EQ(tool->fName,"interp")) ||
      (EQ(tool->fName,"integ"))   || (EQ(tool->fName,"diff")) ||
      (EQ(tool->fName,"samphold"))|| (EQ(tool->fName,"delayw")) ||
      (EQ(tool->fName,"delay"))   || (EQ(tool->fName,"delay1")))
    {
      toolArg1 = "Signal:";
    }
  if (EQ(tool->fName,"rms"))
    {
      toolArg2 = "Half Power Point:";
      toolArg3 = "Storage Space Status:";
    }
  if (EQ(tool->fName,"gain"))
    {
      toolArg2 = "RMS Power:";
      toolArg3 = "Half Power Point:";
      toolArg4 = "Storage Space Status:";
    }
  if (EQ(tool->fName,"balance"))
    {
      toolArg2 = "Comparator Signal:";
      toolArg3 = "Half Power Point:";
      toolArg4 = "Storage Space Status:";
    }
  if (EQ(tool->fName,"downsamp"))
    {
      toolArg2 = "Window Length:";
    }
  if ((EQ(tool->fName,"interp")) || (EQ(tool->fName,"integ")) ||
      (EQ(tool->fName,"diff")))
    {
      toolArg2 = "Storage Space Status:";
    }
  if (EQ(tool->fName,"samphold"))
    {
      toolArg2 = "Gate Value:";
      toolArg3 = "Initial Save Space Value:";
      toolArg4 = "Internal Hold Value:";
    }
  if (EQ(tool->fName,"delayr"))
    {
      toolArg1 = "Delay Time:";
      toolArg2 = "Delay Loop Status:";
    }
  if (EQ(tool->fName,"delay"))
    {
      toolArg2 = "Delay Time:";
      toolArg3 = "Delay Loop Status:";
    }
  if (EQ(tool->fName,"delay1"))
    {
      toolArg2 = "Delay Loop Status:";
    }
  if ((EQ(tool->fName,"deltap")) || (EQ(tool->fName,"deltapi")))
    {
      toolArg1 = "Delay Time:";
    }
  if ((EQ(tool->fName,"comb")) || (EQ(tool->fName,"alpass")) ||
      (EQ(tool->fName,"reverb")))
    {
      toolArg1 = "Signal:";
      toolArg2 = "Reverb Time:";
    }
  if ((EQ(tool->fName,"comb")) || (EQ(tool->fName,"alpass")))
    {
      toolArg3 = "Loop Time:";
    }
  if (EQ(tool->fName,"reverb"))
    {
      toolArg3 = "Delay Loop Status:";
    }
  if ((EQ(tool->fName,"+")) || (EQ(tool->fName,"-")) ||
      (EQ(tool->fName,"*")) || (EQ(tool->fName,"/")))
    {
      toolArg1 = "Signal 1:";
      toolArg2 = "Signal 2:";
      toolArg3 = "Signal 3:";
      toolArg4 = "Signal 4:";
      toolArg5 = "Signal 5:";
      toolArg6 = "Signal 6:";
      toolArg7 = "Signal 7:";
      toolArg8 = "Signal 8:";
    }
}								    /* end function SetToolArgs */
