rpms/zynaddsubfx/devel zyn_lash-0.5.0pre0.diff, NONE, 1.1 zynaddsubfx-fltk-config-broken-2.patch, NONE, 1.1 zynaddsubfx-fltk-config-broken.patch, NONE, 1.1 zynaddsubfx.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Anthony Green (green) fedora-extras-commits at redhat.com
Sat Sep 2 04:54:47 UTC 2006


Author: green

Update of /cvs/extras/rpms/zynaddsubfx/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv8111/devel

Modified Files:
	.cvsignore sources 
Added Files:
	zyn_lash-0.5.0pre0.diff zynaddsubfx-fltk-config-broken-2.patch 
	zynaddsubfx-fltk-config-broken.patch zynaddsubfx.spec 
Log Message:
auto-import zynaddsubfx-2.2.1-8 on branch devel from zynaddsubfx-2.2.1-8.src.rpm

zyn_lash-0.5.0pre0.diff:

--- NEW FILE zyn_lash-0.5.0pre0.diff ---
diff -ruN ZynAddSubFX-2.2.1/src/Input/ALSAMidiIn.C ZynAddSubFX-2.2.1_lash/src/Input/ALSAMidiIn.C
--- ZynAddSubFX-2.2.1/src/Input/ALSAMidiIn.C	2005-03-14 20:54:28.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Input/ALSAMidiIn.C	2005-09-07 10:49:26.397827208 +0200
@@ -94,3 +94,14 @@
 };
 
 
+int ALSAMidiIn::getalsaid() {
+  if (midi_handle) {
+    snd_seq_client_info_t* seq_info;
+    snd_seq_client_info_malloc(&seq_info);
+    snd_seq_get_client_info(midi_handle, seq_info);
+    int id = snd_seq_client_info_get_client(seq_info);
+    snd_seq_client_info_free(seq_info);
+    return id;
+  }
+  return -1;
+}
diff -ruN ZynAddSubFX-2.2.1/src/Input/ALSAMidiIn.h ZynAddSubFX-2.2.1_lash/src/Input/ALSAMidiIn.h
--- ZynAddSubFX-2.2.1/src/Input/ALSAMidiIn.h	2005-03-14 20:54:19.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Input/ALSAMidiIn.h	2005-09-07 10:49:26.398827014 +0200
@@ -32,6 +32,7 @@
 	ALSAMidiIn();
 	~ALSAMidiIn();
 	void getmidicmd(MidiCmdType &cmdtype,unsigned char &cmdchan,int *cmdparams);
+	int getalsaid();
 
     private:
 	snd_seq_t *midi_handle;
diff -ruN ZynAddSubFX-2.2.1/src/main.C ZynAddSubFX-2.2.1_lash/src/main.C
--- ZynAddSubFX-2.2.1/src/main.C	2005-04-28 02:15:28.000000000 +0200
+++ ZynAddSubFX-2.2.1_lash/src/main.C	2005-09-07 10:49:26.398827014 +0200
@@ -83,6 +83,10 @@
 OSSaudiooutput *audioout;
 #endif
 
+#include "Misc/LASHClient.h"
+LASHClient *lash;
+
+
 MidiIn *Midi;
 int Pexitprogram=0;//if the UI set this to 1, the program will exit
 
@@ -180,7 +184,20 @@
 void *thread3(void *arg){
 #ifndef DISABLE_GUI
     ui->showUI();
-    while (Pexitprogram==0) Fl::wait();
+    while (Pexitprogram==0) {
+      std::string filename;
+      switch (lash->checkevents(filename)) {
+      case LASHClient::Save:
+	ui->do_save_master(const_cast<char*>(filename.c_str()));
+	lash->confirmevent(LASHClient::Save);
+	break;
+      case LASHClient::Restore:
+	ui->do_load_master(filename.c_str());
+	lash->confirmevent(LASHClient::Restore);
+	break;
+      }
+      Fl::wait();
+    }
 #endif
     return(0);
 };
@@ -312,6 +329,8 @@
     delete(Midi);
     delete(master); 
 
+    delete(lash);
+
 //    pthread_mutex_unlock(&master->mutex);
     delete(denormalkillbuf);
     delete(OscilGen::tmpsmps);
@@ -345,6 +364,9 @@
 
 #ifndef VSTAUDIOOUT
 int main(int argc, char *argv[]){
+
+    lash = new LASHClient(&argc, &argv, &Pexitprogram);
+
     config.init();
     int noui=0;
 #ifdef JACKAUDIOOUT
@@ -488,7 +510,13 @@
     //---------
     
     initprogram();
-
+    
+    ALSAMidiIn* alsamidi = dynamic_cast<ALSAMidiIn*>(Midi);
+    if (alsamidi) {
+      lash->setalsaid(alsamidi->getalsaid());
+      lash->setjackname(JACKgetname());
+    }
+    
     if (strlen(loadfile)>1){
         int tmp=master->loadXML(loadfile);
 	if (tmp<0) {
diff -ruN ZynAddSubFX-2.2.1/src/Makefile ZynAddSubFX-2.2.1_lash/src/Makefile
--- ZynAddSubFX-2.2.1/src/Makefile	2005-04-28 01:45:52.000000000 +0200
+++ ZynAddSubFX-2.2.1_lash/src/Makefile	2005-09-07 10:49:26.399826821 +0200
@@ -70,6 +70,9 @@
 LIBS+= `pkg-config --libs jack`
 endif
 
+CXXFLAGS += `pkg-config --cflags lash-1.0`
+LIBS += `pkg-config --libs lash-1.0`
+
 objects=main.o
 SUBDIRS=DSP Effects Input Misc Output Params Synth Seq
 
diff -ruN ZynAddSubFX-2.2.1/src/Makefile.inc ZynAddSubFX-2.2.1_lash/src/Makefile.inc
--- ZynAddSubFX-2.2.1/src/Makefile.inc	2005-04-28 02:21:35.000000000 +0200
+++ ZynAddSubFX-2.2.1_lash/src/Makefile.inc	2005-09-07 10:49:57.647780729 +0200
@@ -29,9 +29,9 @@
 #parameters (run 'zynaddsubfx --help' for help) 
 
 #LINUX_AUDIOOUT=OSS_AND_JACK
-LINUX_AUDIOOUT=OSS
+#LINUX_AUDIOOUT=OSS
 #LINUX_AUDIOOUT=NONE
-#LINUX_AUDIOOUT=JACK
+LINUX_AUDIOOUT=JACK
 #LINUX_AUDIOOUT=JACK_RT     JACK_RT support is broken
 #for PortAudio (PA)
 #LINUX_AUDIOOUT=PA
diff -ruN ZynAddSubFX-2.2.1/src/Makefile.inc~ ZynAddSubFX-2.2.1_lash/src/Makefile.inc~
--- ZynAddSubFX-2.2.1/src/Makefile.inc~	1970-01-01 01:00:00.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Makefile.inc~	2005-04-28 02:21:35.000000000 +0200
@@ -0,0 +1,80 @@
+CXX=g++
+
+#You can set the on what OS is compiling (Linux/Windows)
+OS_PORT=LINUX
+#OS_PORT=WINDOWS
+
+#The version of the FFTW which is used (2 or 3)
+#FFTW_VERSION=2
+FFTW_VERSION=3
+
+#Assembler FLOAT to INT conversions
+ASM_F2I=YES
+#ASM_F2I=NO
+
+#Graphic user interface disable option (ZynAddSubFX will run only in text-mode)
+#DISABLE_GUI=YES
+DISABLE_GUI=NO
+
+# L I N U X   C O N F I G U R A T I O N
+#Next line sets the midi input. It can be "ALSA", "OSS" or "NONE".
+LINUX_MIDIIN=ALSA
+#LINUX_MIDIIN=OSS
+#LINUX_MIDIIN=NONE
+
+#Next lines sets the audio output (OSS/JACK/PA)
+#You may use only one at the time
+#If you use "OSS_AND_JACK",,at runtime, zynaddsubfx will run by the default with jack support and 
+#it will try OSS if JACK fails. At runtime you can set the OSS by default by command-line
+#parameters (run 'zynaddsubfx --help' for help) 
+
+#LINUX_AUDIOOUT=OSS_AND_JACK
+LINUX_AUDIOOUT=OSS
+#LINUX_AUDIOOUT=NONE
+#LINUX_AUDIOOUT=JACK
+#LINUX_AUDIOOUT=JACK_RT     JACK_RT support is broken
+#for PortAudio (PA)
+#LINUX_AUDIOOUT=PA
+
+
+#Next line sets if the synth is compiled for DSSI plugin (as .so file)
+#If this setting is "YES", MIDI in and AUDIOOUT are set automatically to DSSI
+LINUX_DSSI=NO
+#LINUX_DSSI=YES
+
+
+# W I N D O W S   C O N F I G U R A T I O N
+
+#Next line sets the midi input
+#WINDOWS_MIDIIN=NONE
+WINDOWS_MIDIIN=WIN
+
+#Next line sets the audio output
+#WINDOWS_AUDIOOUT=NONE
+WINDOWS_AUDIOOUT=PA
+
+#Next line sets if the synth is compiled for VST (as .dll file)
+#If this setting is "YES", MIDI in and AUDIOOUT are set automatically to VST
+WINDOWS_VST=NO
+#WINDOWS_VST=YES
+
+#configuration end 
+
+ifeq ($(OS_PORT),LINUX)
+ MIDIIN=$(LINUX_MIDIIN)
+ AUDIOOUT=$(LINUX_AUDIOOUT)
+ WINDOWS_VST=NO
+    ifeq ($(LINUX_DSSI),YES)
+     MIDIIN=DSSI
+     AUDIOOUT=DSSI
+    endif
+else
+ MIDIIN=$(WINDOWS_MIDIIN)
+ AUDIOOUT=$(WINDOWS_AUDIOOUT)
+ LINUX_DSSI=NO
+    ifeq ($(WINDOWS_VST),YES)
+     MIDIIN=VST
+     AUDIOOUT=VST
+    endif
+endif
+
diff -ruN ZynAddSubFX-2.2.1/src/Misc/lash/lash.h ZynAddSubFX-2.2.1_lash/src/Misc/lash/lash.h
--- ZynAddSubFX-2.2.1/src/Misc/lash/lash.h	1970-01-01 01:00:00.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/lash/lash.h	2005-09-07 10:52:49.060614466 +0200
@@ -0,0 +1 @@
+dummy
diff -ruN ZynAddSubFX-2.2.1/src/Misc/LASHClient.C ZynAddSubFX-2.2.1_lash/src/Misc/LASHClient.C
--- ZynAddSubFX-2.2.1/src/Misc/LASHClient.C	1970-01-01 01:00:00.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/LASHClient.C	2005-09-07 10:49:26.399826821 +0200
@@ -0,0 +1,75 @@
+#include <unistd.h>
+#include <iostream>
+#include <string>
+
+#include "LASHClient.h"
+
+
+LASHClient::LASHClient(int* argc, char*** argv, int* exitflag) {
+  this->exitflag = exitflag;
+  client = lash_init(lash_extract_args(argc, argv), "ZynAddSubFX",
+		    LASH_Config_File, LASH_PROTOCOL(2, 0));
+}
+
+
+void LASHClient::setalsaid(int id) {
+  if (lash_enabled(client)) {
+    if (id != -1)
+      lash_alsa_client_id(client, id);
+  }
+}
+
+
+void LASHClient::setjackname(const char* name) {
+  if (lash_enabled(client)) {
+    if (name != NULL)
+      lash_jack_client_name(client, name);
+  }
+}
+
+
+LASHClient::Event LASHClient::checkevents(std::string& filename) {
+  
+  if (!lash_enabled(client))
+    return NoEvent;
+  
+  Event received = NoEvent;
+  lash_event_t* event;
+  while (event = lash_get_event(client)) {
+    
+    // save
+    if (lash_event_get_type(event) == LASH_Save_File) {
+      std::cerr<<"LASH event: LASH_Save_File"<<std::endl;
+      filename = std::string(lash_event_get_string(event)) + "/master.xmz";
+      received = Save;
+      break;
+    }
+      
+    // restore
+    else if (lash_event_get_type(event) == LASH_Restore_File) {
+      std::cerr<<"LASH event: LASH_Restore_File"<<std::endl;
+      filename = std::string(lash_event_get_string(event)) +  "/master.xmz";
+      received = Restore;
+      break;
+    }
+      
+    // quit
+    else if (lash_event_get_type(event) == LASH_Quit) {
+      std::cerr<<"LASH event: LASH_Quit"<<std::endl;
+      *(exitflag) = 1;
+      received = Quit;
+      break;
+    }
+    
+    lash_event_destroy(event);
+  }
+  return received;
+}
+
+
+void LASHClient::confirmevent(Event event) {
+  if (event == Save)
+    lash_send_event(client, lash_event_new_with_type(LASH_Save_File));
+  else if (event == Restore)
+    lash_send_event(client, lash_event_new_with_type(LASH_Restore_File));
+}
diff -ruN ZynAddSubFX-2.2.1/src/Misc/LASHClient.h ZynAddSubFX-2.2.1_lash/src/Misc/LASHClient.h
--- ZynAddSubFX-2.2.1/src/Misc/LASHClient.h	1970-01-01 01:00:00.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/LASHClient.h	2005-09-07 10:49:26.399826821 +0200
@@ -0,0 +1,35 @@
+#ifndef LASHClient_h
+#define LASHClient_h
+
+#include <string>
+#include <pthread.h>
+#include <lash/lash.h>
+
+
+class LASHClient {
+ public:
+  
+  enum Event {
+    Save,
+    Restore,
+    Quit,
+    NoEvent
+  };
+  
+  LASHClient(int* argc, char*** argv, int* exitflag);
+  
+  void setalsaid(int id);
+  void setjackname(const char* name);
+  Event checkevents(std::string& filename);
+  void confirmevent(Event event);
+  
+ private:
+  
+  lash_client_t* client;
+  pthread_t thread;
+  int* exitflag;
+};
+
+
+#endif
+
diff -ruN ZynAddSubFX-2.2.1/src/Misc/Makefile ZynAddSubFX-2.2.1_lash/src/Misc/Makefile
--- ZynAddSubFX-2.2.1/src/Misc/Makefile	2005-03-12 19:16:26.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/Makefile	2005-09-07 10:49:26.400826628 +0200
@@ -1,6 +1,6 @@
 include ../Makefile.inc
 
-objects=Bank.o Master.o Microtonal.o Part.o Util.o Config.o Dump.o XMLwrapper.o
+objects=Bank.o Master.o Microtonal.o Part.o Util.o Config.o Dump.o XMLwrapper.o LASHClient.o
 
 
 all: $(objects)
diff -ruN ZynAddSubFX-2.2.1/src/Misc/Master.C ZynAddSubFX-2.2.1_lash/src/Misc/Master.C
--- ZynAddSubFX-2.2.1/src/Misc/Master.C	2005-03-14 20:57:26.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/Master.C	2005-09-07 10:49:26.400826628 +0200
@@ -640,7 +640,7 @@
     delete(xml);
 };
 
-int Master::saveXML(char *filename){
+int Master::saveXML(const char *filename){
     XMLwrapper *xml=new XMLwrapper();
 
     xml->beginbranch("MASTER");
@@ -654,7 +654,7 @@
 
 
 
-int Master::loadXML(char *filename){
+int Master::loadXML(const char *filename){
     XMLwrapper *xml=new XMLwrapper();
     if (xml->loadXMLfile(filename)<0) {
 	delete(xml);
diff -ruN ZynAddSubFX-2.2.1/src/Misc/Master.h ZynAddSubFX-2.2.1_lash/src/Misc/Master.h
--- ZynAddSubFX-2.2.1/src/Misc/Master.h	2005-03-14 20:57:29.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/Master.h	2005-09-07 10:49:26.401826434 +0200
@@ -43,7 +43,7 @@
 
 	//saves all settings to a XML file
 	//returns 0 for ok  or <0 if there is an error
-	int saveXML(char *filename);
+	int saveXML(const char *filename);
 
 	//this adds the parameters to the XML data
 	void add2XML(XMLwrapper *xml);
@@ -53,7 +53,7 @@
 
 	//loads all settings from a XML file
 	//returns 0 for ok or -1 if there is an error
-	int loadXML(char *filename);
+	int loadXML(const char *filename);
 	void applyparameters();
 
 	void getfromXML(XMLwrapper *xml);
diff -ruN ZynAddSubFX-2.2.1/src/Misc/XMLwrapper.C ZynAddSubFX-2.2.1_lash/src/Misc/XMLwrapper.C
--- ZynAddSubFX-2.2.1/src/Misc/XMLwrapper.C	2005-04-13 00:09:34.000000000 +0200
+++ ZynAddSubFX-2.2.1_lash/src/Misc/XMLwrapper.C	2005-09-07 10:49:26.401826434 +0200
@@ -162,7 +162,7 @@
 
 /* SAVE XML members */
 
-int XMLwrapper::saveXMLfile(char *filename){
+int XMLwrapper::saveXMLfile(const char *filename){
     char *xmldata=getXMLdata();
     if (xmldata==NULL) return(-2);
 
diff -ruN ZynAddSubFX-2.2.1/src/Misc/XMLwrapper.h ZynAddSubFX-2.2.1_lash/src/Misc/XMLwrapper.h
--- ZynAddSubFX-2.2.1/src/Misc/XMLwrapper.h	2005-03-14 20:57:17.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Misc/XMLwrapper.h	2005-09-07 10:49:26.402826241 +0200
@@ -43,7 +43,7 @@
 	/********************************/
 
 	//returns 0 if ok or -1 if the file cannot be saved
-	int saveXMLfile(char *filename);
+	int saveXMLfile(const char *filename);
 
 	//returns the new allocated string that contains the XML data (used for clipboard)
 	//the string is NULL terminated
diff -ruN ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.C ZynAddSubFX-2.2.1_lash/src/Output/JACKaudiooutput.C
--- ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.C	2005-03-12 19:16:26.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Output/JACKaudiooutput.C	2005-09-07 10:49:26.402826241 +0200
@@ -25,6 +25,7 @@
 
 Master *jackmaster;
 jack_client_t *jackclient;
+char jackname[100];
 jack_port_t *outport_left,*outport_right;
 
 int jackprocess(jack_nframes_t nframes,void *arg);
@@ -34,12 +35,11 @@
 bool JACKaudiooutputinit(Master *master_){
     jackmaster=master_;
     jackclient=0;
-    char tmpstr[100];
 
     for (int i=0;i<15;i++){
-	if (i!=0) snprintf(tmpstr,100,"ZynAddSubFX_%d",i);
-	    else snprintf(tmpstr,100,"ZynAddSubFX");
-	jackclient=jack_client_new(tmpstr);
+	if (i!=0) snprintf(jackname,100,"ZynAddSubFX_%d",i);
+	    else snprintf(jackname,100,"ZynAddSubFX");
+	jackclient=jack_client_new(jackname);
 	if (jackclient!=0) break;
     };
 
@@ -97,4 +97,8 @@
 };
 
 
-
+const char* JACKgetname() {
+  if (jackclient != NULL)
+    return jackname;
+  return NULL;
+}
diff -ruN ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.h ZynAddSubFX-2.2.1_lash/src/Output/JACKaudiooutput.h
--- ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.h	2005-03-12 19:16:26.000000000 +0100
+++ ZynAddSubFX-2.2.1_lash/src/Output/JACKaudiooutput.h	2005-09-07 10:49:26.402826241 +0200
@@ -40,6 +40,8 @@
 
 bool JACKaudiooutputinit(Master *master_);
 void JACKfinish();
+const char* JACKgetname();
+
 
 #endif
 
diff -ruN ZynAddSubFX-2.2.1/src/UI/MasterUI.fl ZynAddSubFX-2.2.1_lash/src/UI/MasterUI.fl
--- ZynAddSubFX-2.2.1/src/UI/MasterUI.fl	2005-04-08 21:50:53.000000000 +0200
+++ ZynAddSubFX-2.2.1_lash/src/UI/MasterUI.fl	2005-09-07 10:49:26.404825854 +0200
@@ -413,7 +413,8 @@
   decl {BankUI *bankui;} {}
 } 
 
-class MasterUI {} {
+class MasterUI {open
+} {
   Function {make_window()} {} {
     Fl_Window masterwindow {
       label zynaddsubfx
@@ -424,7 +425,7 @@
     config.save();
     *exitprogram=1;
 };
-\#endif} selected
+\#endif}
       xywh {353 127 390 465} type Double hide
     } {
       Fl_Menu_Bar mastermenu {
@@ -1701,11 +1702,16 @@
 
 updatepanel();} {}
   }
-  Function {do_load_master()} {} {
-    code {char *filename;
-filename=fl_file_chooser("Open:","({*.xmz})",NULL,0);
-if (filename==NULL) return;
-
+  Function {do_load_master(const char* file = NULL)} {selected
+  } {
+    code {const char *filename;
+  if (file == NULL) {
+    filename=fl_file_chooser("Open:","({*.xmz})",NULL,0);
+    if (filename==NULL) return;
+  }
+  else {
+    filename = file;
+  }
 
 pthread_mutex_lock(&master->mutex);
   //clear all parameters
@@ -1725,20 +1731,23 @@
 if (result==-10) fl_alert("Error: Could not load the file\\nbecause it is not a zynaddsubfx parameters file.");
       else if (result<0) fl_alert("Error: Could not load the file.");} {}
   }
-  Function {do_save_master()} {} {
+  Function {do_save_master(char* file = NULL)} {} {
     code {char *filename;
-int result=0;
-
-filename=fl_file_chooser("Save:","({*.xmz})",NULL,0);
-if (filename==NULL) return;
-filename=fl_filename_setext(filename,".xmz");
-
-result=fileexists(filename);
-if (result) {
-    result=0;
-   if (!fl_ask("The file exists. \\nOverwrite it?")) return;
-       
-};
+  int result=0;
+  if (file == NULL) {
+    filename=fl_file_chooser("Save:","({*.xmz})",NULL,0);
+    if (filename==NULL) return;
+    filename=fl_filename_setext(filename,".xmz");
+    result=fileexists(filename);
+    if (result) {
+      result=0;
+      if (!fl_ask("The file exists. Overwrite it?")) return;
+      
+    }
+  }
+  else {
+    filename = file;
+  }
 
 
 pthread_mutex_lock(&master->mutex);

zynaddsubfx-fltk-config-broken-2.patch:

--- NEW FILE zynaddsubfx-fltk-config-broken-2.patch ---
--- ExternalPrograms/Controller/compile.sh~	2006-07-20 23:56:05.000000000 -0700
+++ ExternalPrograms/Controller/compile.sh	2006-07-20 23:55:48.000000000 -0700
@@ -1,10 +1,10 @@
 ./clean.sh
 fluid -c ControllerUI.fl
-gcc `fltk-config --cflags` -c ControllerUI.cxx -o ControllerUI.o
-gcc `fltk-config --cflags` -c Controller.C -o Controller.o
-gcc `fltk-config --cflags` -c main.C -o main.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c ControllerUI.cxx -o ControllerUI.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c Controller.C -o Controller.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c main.C -o main.o
 
 
 
-gcc -o controller *.o `fltk-config --ldflags` -lasound -lpthread -lm
+gcc -o controller *.o -lXft -lXrender -lfontconfig -lfreetype -lz -lX11 -lfltk -lXft -lpthread -lm -lXext -lX11 -lasound -lpthread -lm
 
--- ExternalPrograms/Spliter/compile.sh~	2005-03-12 10:16:26.000000000 -0800
+++ ExternalPrograms/Spliter/compile.sh	2006-07-20 23:54:51.000000000 -0700
@@ -1,8 +1,8 @@
 ./clean.sh
 fluid -c SpliterUI.fl
-gcc `fltk-config --cflags` -c SpliterUI.cxx -o SpliterUI.o
-gcc `fltk-config --cflags` -c Spliter.C -o Spliter.o
-gcc `fltk-config --cflags` -c main.C -o main.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c SpliterUI.cxx -o SpliterUI.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c Spliter.C -o Spliter.o
+gcc $RPM_OPT_FLAGS `fltk-config --cflags` -c main.C -o main.o
 
-gcc -o spliter *.o `fltk-config --ldflags` -lasound
+gcc -o spliter *.o -lXft -lXrender -lfontconfig -lfreetype -lz -lX11 -lfltk -lXft -lpthread -lm -lXext -lX11 -lasound
 

zynaddsubfx-fltk-config-broken.patch:

--- NEW FILE zynaddsubfx-fltk-config-broken.patch ---
--- src/Makefile~	2006-07-20 23:09:11.000000000 -0700
+++ src/Makefile	2006-07-20 23:41:00.000000000 -0700
@@ -24,7 +24,7 @@
 
 LIBS= -lm  -lmxml -lz
 ifneq ($(DISABLE_GUI),YES)
-    LIBS+=`fltk-config --ldflags` 
+    LIBS+=-lXft -lXrender -lfontconfig -lfreetype -lz -lX11 -lfltk -lXft -lpthread -lm -lXext -lX11
 endif
 
 ifeq ($(FFTW_VERSION),2)


--- NEW FILE zynaddsubfx.spec ---
Summary:        Real-time software synthesizer
Name:           zynaddsubfx
Version:        2.2.1
Release:        8%{?dist}
License:        GPL
Group:          Applications/Multimedia
URL:            http://zynaddsubfx.sourceforge.net
Source0:        http://download.sf.net/sourceforge/zynaddsubfx/ZynAddSubFX-%{version}.tar.bz2
Patch0:         zyn_lash-0.5.0pre0.diff
Patch1:         zynaddsubfx-fltk-config-broken.patch
Patch2:         zynaddsubfx-fltk-config-broken-2.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Requires:       fltk >= 1.1.3
Requires:       jack-audio-connection-kit >= 0.101.1
Requires:       mxml >= 2.2
Requires:       hicolor-icon-theme

BuildRequires:  alsa-lib-devel fftw3-devel fltk-devel mxml-devel
BuildRequires:  jack-audio-connection-kit-devel zlib-devel lash-devel
BuildRequires:  libX11-devel fltk-fluid
BuildRequires:  ImageMagick

BuildRequires:    desktop-file-utils
Requires(post):   desktop-file-utils
Requires(postun): desktop-file-utils

%description
ZynAddSubFX is an open source software synthesizer capable of making a
countless number of instrument sounds.

%package doc
Summary:        Documentation and examples for ZynAddSubFX
Group:          Applications/Multimedia
Requires:       %{name} = %{version}

%description doc
Documentation and examples for ZynAddSubFX

%prep
%setup -q -n ZynAddSubFX-%{version}
%patch0 -p1
%patch1 -p0
%patch2 -p0

%build
# fix microtuning bug (no keyboard mapping being done)
%{__perl} -p -i -e "s|tmp=Pmapping\[tx\]|Pmapping\[tx\]=tmp|g" src/Misc/Microtonal.C

cd src
# do not use smp flags, makefile is not smp safe
make AUDIOOUT=JACK CXXFLAGS="-DOS_LINUX -DALSAMIDIIN -DFFTW_VERSION_3 -DASM_F2I_YES `fltk-config --cflags`  -DJACKAUDIOOUT  `pkg-config --cflags jack` `pkg-config --cflags lash-1.0`"


# build external programs
cd ../ExternalPrograms
cd Controller
./compile.sh
cd ../Spliter
./compile.sh

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}

tar cf - examples banks presets | \
(cd $RPM_BUILD_ROOT%{_datadir}/%{name}; tar xvpf -)
cd src
install -m 0755 zynaddsubfx $RPM_BUILD_ROOT%{_bindir}

# install external programs
cd ../ExternalPrograms
cd Controller
install -m 0755 controller $RPM_BUILD_ROOT%{_bindir}/controller
cd ../Spliter
install -m 0755 spliter $RPM_BUILD_ROOT%{_bindir}/spliter
cd ../..

BASE="Application;AudioVideo;"
CATS="X-Synthesis;X-MIDI;X-Jack;"
%{__cat} << EOF > %{name}.desktop
[Desktop Entry]
Name=ZynAddSubFX
Comment=Real-time software synthesizer
Icon=zynaddsubfx
Type=Application
Exec=%{_bindir}/%{name}
Terminal=false
Categories=${BASE}${CATS}
Encoding=UTF-8
EOF
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
desktop-file-install --vendor fedora              \
  --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \
  --add-category X-Fedora                         \
  --add-category AudioVideo                       \
  --add-category Application                      \
  %{name}.desktop

mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps
convert -resize 16x16 zynaddsubfx_icon.ico zynaddsubfx-16.png
convert -resize 32x32 zynaddsubfx_icon.ico zynaddsubfx-32.png
convert -resize 48x48 zynaddsubfx_icon.ico zynaddsubfx-48.png
convert -resize 64x64 zynaddsubfx_icon.ico zynaddsubfx-64.png
install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/zynaddsubfx.png
install -m 644 zynaddsubfx-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
install -m 644 zynaddsubfx-64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png

%clean
rm -rf $RPM_BUILD_ROOT

%post
# update icon themes
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :

%postun
# update icon themes
touch --no-create %{_datadir}/icons/hicolor || :
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :

%files
%defattr(-,root,root,-)
%doc COPYING FAQ.txt HISTORY.txt README.txt bugs.txt
%{_bindir}/*
%{_datadir}/%{name}
%{_datadir}/applications/*%{name}.desktop
%{_datadir}/pixmaps/zynaddsubfx.png
%{_datadir}/icons/hicolor/16x16/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/32x32/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/48x48/apps/zynaddsubfx.png
%{_datadir}/icons/hicolor/64x64/apps/zynaddsubfx.png

%changelog
* Wed Aug 30 2006 Anthony Green <green at redhat.com>  2.2.1-8
- Depend on hicolor-icon-theme.

* Sat Aug 26 2006 Anthony Green <green at redhat.com>  2.2.1-7
- Add dist tag to release version.
- Tidy up description.
- Use standard scriptlets in %%post/%%postun.

* Thu Jul 20 2006 Anthony Green <green at redhat.com>  2.2.1-6
- Fix compile options and remove rpath usage (bug in fltk-config).

* Sat Jul 15 2006 Anthony Green <green at redhat.com>  2.2.1-5
- First Fedora Extras build.
- Fix Source0 permissions.
- Add desktop-file-utils requirements.
- Tweak macro usage and .desktop file.
- Convert and install icons.  Add post(un) install scripts.
- Add ImageMagick BuildRequires.

* Mon May  8 2006 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.2.1-4
- added lash patch (http://www.student.nada.kth.se/~d00-llu/programming.php)

* Sat May  6 2006 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.2.1-3
- add Planet CCRMA categories to desktop file

* Fri Mar 31 2006 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 
- build on fc5

* Fri Sep 23 2005 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.2.1-2
- rebuilt with new version of mxml (2.2.2)
- added specific requires for mxml version

* Tue May  3 2005 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.2.1-1
- updated to 2.2.1

* Fri Apr  8 2005 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.2.0-1
- updated to 2.2.0

* Mon Feb  7 2005 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.1.1-2
- fixed microtuning bug (patch from Paul Nasca)

* Sun Oct  3 2004 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.1.1-1
- updated to 2.1.1

* Fri Oct  1 2004 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.1.0-1
- updated to 2.1.0

* Fri Aug 27 2004 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.0.0-1
- updated to 2.0.0 final
- readded examples directory to the file list
- installed banks and presets
- compiled and installed "controller" and "spliter"

* Wed Aug  4 2004 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 2.0.0-0.pre2.1
- updated to latest prerelease
- added mxml build dependency, updated requirements to fftw3
- no documentation or examples for now

* Sat Nov  8 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.4.3-1
- spec file tweaks

* Mon Sep  1 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.4.3-1
- updated to 1.4.3, added release tag

* Fri Jul 25 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.4.2-1
- updated to 1.4.2

* Thu May  8 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.4.1-1
- updated to 1.4.1 (docs are still 1.4.0)

* Tue May  6 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.4.0-1
- updated to 1.4.0

* Tue Apr  8 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.2.1-2
- rebuilt for newer version of fftw

* Tue Apr  8 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.2.1-1
- udpated to 1.2.1

* Wed Apr  2 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.2.0-2
- rebuild for jack 0.66.3, added explicit requires for it

* Fri Mar 21 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.2.0-1
- updated to 1.2.0

* Thu Mar  6 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.0.9-2
- rebuilt due to changed fltk (from 1.1.0rc3 to 1.1.3)
- commented out deprecated jack_set_buffer_size_callback() call

* Mon Feb 24 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.0.9-1
- updated to 1.0.9

* Fri Feb 14 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.0.8-1
- updated to 1.0.8

* Fri Feb  6 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.0.7-1
- updated to 1.0.7

* Sun Jan 26 2003 Fernando Lopez-Lezcano <nando at ccrma.stanford.edu> 1.0.5-1
- Initial build.


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/zynaddsubfx/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	2 Sep 2006 04:53:45 -0000	1.1
+++ .cvsignore	2 Sep 2006 04:54:47 -0000	1.2
@@ -0,0 +1 @@
+ZynAddSubFX-2.2.1.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/zynaddsubfx/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	2 Sep 2006 04:53:45 -0000	1.1
+++ sources	2 Sep 2006 04:54:47 -0000	1.2
@@ -0,0 +1 @@
+fca8560e37d799bd20d17e22b11674d6  ZynAddSubFX-2.2.1.tar.bz2




More information about the fedora-extras-commits mailing list