[Demudi-commits] r52 - in ams/trunk: . debian
Free Ekanayaka
free-guest@haydn.debian.org
Thu, 28 Oct 2004 05:24:23 -0600
Author: free-guest
Date: 2004-10-28 05:24:17 -0600 (Thu, 28 Oct 2004)
New Revision: 52
Removed:
ams/trunk/.#Makefile.1.3
ams/trunk/.#configdialog.h.1.2
ams/trunk/.#modularsynth.cpp.1.2
ams/trunk/.#modularsynth.cpp.1.4
ams/trunk/debian/.#changelog.1.3
Log:
Removed backup files erroneously imported
Deleted: ams/trunk/.#Makefile.1.3
===================================================================
--- ams/trunk/.#Makefile.1.3 2004-10-28 11:24:03 UTC (rev 51)
+++ ams/trunk/.#Makefile.1.3 2004-10-28 11:24:17 UTC (rev 52)
@@ -1,404 +0,0 @@
-####### Configuration
-
-BINARY = ams.real
-DESTDIR =
-BIN = $(DESTDIR)/usr/share/ams
-
-
-QT_BASE_DIR=/usr/share/qt3
-QT_LIB_DIR=$(QT_BASE_DIR)/lib
-QT_BIN_DIR=$(QT_BASE_DIR)/bin
-QT_INCLUDE_DIR=$(QT_BASE_DIR)/include
-X11_LIB_DIR=/usr/X11R6/lib
-
-$(BINARY): synth.o capture.o synthdata.o \
- module.o module.moc.o \
- configdialog.o configdialog.moc.o \
- port.o port.moc.o \
- midiguicomponent.o midiguicomponent.moc.o \
- midislider.o midislider.moc.o \
- intmidislider.o intmidislider.moc.o \
- floatintmidislider.o floatintmidislider.moc.o \
- midicombobox.o midicombobox.moc.o \
- midicheckbox.o midicheckbox.moc.o \
- midipushbutton.o midipushbutton.moc.o \
- midicontroller.o midicontroller.moc.o \
- midicontrollerlist.o midicontrollerlist.moc.o \
- midiwidget.o midiwidget.moc.o \
- guiwidget.o guiwidget.moc.o \
- ladspadialog.o ladspadialog.moc.o \
- envelope.o envelope.moc.o \
- multi_envelope.o multi_envelope.moc.o \
- scopescreen.o scopescreen.moc.o \
- spectrumscreen.o spectrumscreen.moc.o \
- m_sh.o m_sh.moc.o \
- m_vcswitch.o m_vcswitch.moc.o \
- m_vcorgan.o m_vcorgan.moc.o \
- m_dynamicwaves.o m_dynamicwaves.moc.o \
- m_vco.o m_vco.moc.o \
- m_vca.o m_vca.moc.o \
- m_vcf.o m_vcf.moc.o \
- m_lfo.o m_lfo.moc.o \
- m_noise.o m_noise.moc.o \
- m_delay.o m_delay.moc.o \
- m_seq.o m_seq.moc.o \
- m_mcv.o m_mcv.moc.o \
- m_advmcv.o m_advmcv.moc.o \
- m_scmcv.o m_scmcv.moc.o \
- m_env.o m_env.moc.o \
- m_vcenv.o m_vcenv.moc.o \
- m_advenv.o m_advenv.moc.o \
- m_ringmod.o m_ringmod.moc.o \
- m_inv.o m_inv.moc.o \
- m_conv.o m_conv.moc.o \
- m_cvs.o m_cvs.moc.o \
- m_slew.o m_slew.moc.o \
- m_quantizer.o m_quantizer.moc.o \
- m_scquantizer.o m_scquantizer.moc.o \
- m_mix.o m_mix.moc.o \
- m_stereomix.o m_stereomix.moc.o \
- m_ladspa.o m_ladspa.moc.o \
- m_out.o m_out.moc.o \
- m_jackout.o m_jackout.moc.o \
- m_jackin.o m_jackin.moc.o \
- m_wavout.o m_wavout.moc.o \
- m_midiout.o m_midiout.moc.o \
- m_scope.o m_scope.moc.o \
- m_spectrum.o m_spectrum.moc.o \
- m_in.o m_in.moc.o \
- textedit.o textedit.moc.o \
- modularsynth.o modularsynth.moc.o \
- main.o
- gcc -g -o $(BINARY) \
- synth.o capture.o synthdata.o \
- module.o module.moc.o \
- configdialog.o configdialog.moc.o \
- port.o port.moc.o \
- midiguicomponent.o midiguicomponent.moc.o \
- midislider.o midislider.moc.o \
- intmidislider.o intmidislider.moc.o \
- floatintmidislider.o floatintmidislider.moc.o \
- midicombobox.o midicombobox.moc.o \
- midicheckbox.o midicheckbox.moc.o \
- midipushbutton.o midipushbutton.moc.o \
- midicontroller.o midicontroller.moc.o \
- midicontrollerlist.o midicontrollerlist.moc.o \
- midiwidget.o midiwidget.moc.o \
- guiwidget.o guiwidget.moc.o \
- ladspadialog.o ladspadialog.moc.o \
- envelope.o envelope.moc.o \
- multi_envelope.o multi_envelope.moc.o \
- scopescreen.o scopescreen.moc.o \
- spectrumscreen.o spectrumscreen.moc.o \
- m_sh.o m_sh.moc.o \
- m_vcswitch.o m_vcswitch.moc.o \
- m_vcorgan.o m_vcorgan.moc.o \
- m_dynamicwaves.o m_dynamicwaves.moc.o \
- m_vco.o m_vco.moc.o \
- m_vca.o m_vca.moc.o \
- m_vcf.o m_vcf.moc.o \
- m_lfo.o m_lfo.moc.o \
- m_noise.o m_noise.moc.o \
- m_delay.o m_delay.moc.o \
- m_seq.o m_seq.moc.o \
- m_mcv.o m_mcv.moc.o \
- m_advmcv.o m_advmcv.moc.o \
- m_scmcv.o m_scmcv.moc.o \
- m_env.o m_env.moc.o \
- m_vcenv.o m_vcenv.moc.o \
- m_advenv.o m_advenv.moc.o \
- m_ringmod.o m_ringmod.moc.o \
- m_inv.o m_inv.moc.o \
- m_conv.o m_conv.moc.o \
- m_cvs.o m_cvs.moc.o \
- m_slew.o m_slew.moc.o \
- m_quantizer.o m_quantizer.moc.o \
- m_scquantizer.o m_scquantizer.moc.o \
- m_mix.o m_mix.moc.o \
- m_stereomix.o m_stereomix.moc.o \
- m_ladspa.o m_ladspa.moc.o \
- m_out.o m_out.moc.o \
- m_jackout.o m_jackout.moc.o \
- m_jackin.o m_jackin.moc.o \
- m_wavout.o m_wavout.moc.o \
- m_midiout.o m_midiout.moc.o \
- m_scope.o m_scope.moc.o \
- m_spectrum.o m_spectrum.moc.o \
- m_in.o m_in.moc.o \
- textedit.o textedit.moc.o \
- modularsynth.o modularsynth.moc.o \
- main.o \
- -L$(QT_LIB_DIR) -L$(X11_LIB_DIR) \
- -lqt-mt -ljack -lasound -lsrfftw -lsfftw -lm
-
-CXXFLAGS=-DQT_THREAD_SUPPORT -I$(QT_INCLUDE_DIR) -I/usr/X11R6/include -I. -O2 -g -Wall
-
-synth.o: synth.cpp synth.h synthdata.h module.h m_out.h m_wavout.h m_scope.h m_spectrum.h m_midiout.h
-capture.o: capture.cpp capture.h synthdata.h m_in.h m_jackout.h m_jackin.h
-synthdata.o: synthdata.cpp synthdata.h module.h port.h m_env.h m_advenv.h m_vcenv.h
-modularsynth.o: modularsynth.cpp modularsynth.h synth.h module.h port.h textedit.h \
- synthdata.h midicontroller.h midicontrollerlist.h midiwidget.h guiwidget.h m_vcf.h m_sh.h \
- m_vco.h m_vca.h m_lfo.h m_delay.h m_ringmod.h m_inv.h m_mix.h \
- m_stereomix.h m_ladspa.h m_out.h m_wavout.h m_conv.h \
- m_mcv.h m_advmcv.h m_seq.h m_env.h m_slew.h m_quantizer.h m_in.h ladspadialog.h m_cvs.h m_midiout.h m_vcenv.h \
- m_vcorgan.h m_dynamicwaves.h m_advenv.h m_scope.h m_spectrum.h m_vcswitch.h m_jackout.h m_jackin.h \
- m_scmcv.h m_scquantizer.h
-modularsynth.moc.o: modularsynth.moc.cpp modularsynth.h module.h port.h textedit.h \
- synth.h synthdata.h midicontroller.h midicontrollerlist.h midiwidget.h guiwidget.h m_vcf.h m_sh.h \
- m_vco.h m_vca.h m_lfo.h m_delay.h m_ringmod.h m_inv.h m_mix.h \
- m_stereomix.h m_ladspa.h m_out.h m_wavout.h m_conv.h \
- m_mcv.h m_advmcv.h m_seq.h m_env.h m_slew.h m_quantizer.h m_in.h ladspadialog.h m_cvs.h m_midiout.h m_vcenv.h \
- m_vcorgan.h m_dynamicwaves.h m_advenv.h m_scope.h m_spectrum.h m_vcswitch.h m_jackout.h m_jackin.h \
- m_scmcv.h m_scquantizer.h
-modularsynth.moc.cpp: modularsynth.h modularsynth.cpp
- $(QT_BIN_DIR)/moc modularsynth.h -o modularsynth.moc.cpp
-main.o: main.cpp modularsynth.h
-configdialog.o: configdialog.cpp configdialog.h midicontroller.h envelope.h multi_envelope.h \
- midicontrollerlist.h midiwidget.h guiwidget.h midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h synthdata.h \
- scopescreen.h spectrumscreen.h midipushbutton.h
-configdialog.moc.o: configdialog.moc.cpp configdialog.h midicontroller.h envelope.h multi_envelope.h \
- midicontrollerlist.h midiwidget.h guiwidget.h midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h synthdata.h \
- scopescreen.h spectrumscreen.h midipushbutton.h
-configdialog.moc.cpp: configdialog.h configdialog.cpp
- $(QT_BIN_DIR)/moc configdialog.h -o configdialog.moc.cpp
-module.o: module.cpp module.h synthdata.h configdialog.h port.h
-module.moc.o: module.moc.cpp module.h synthdata.h configdialog.h port.h
-module.moc.cpp: module.h module.cpp
- $(QT_BIN_DIR)/moc module.h -o module.moc.cpp
-port.o: port.cpp port.h synthdata.h
-port.moc.o: port.moc.cpp port.h synthdata.h
-port.moc.cpp: port.h port.cpp
- $(QT_BIN_DIR)/moc port.h -o port.moc.cpp
-midiguicomponent.o: midiguicomponent.cpp midiguicomponent.h midicontroller.h midicontrollerlist.h
-midiguicomponent.moc.o: midiguicomponent.moc.cpp midiguicomponent.h midicontroller.h midicontrollerlist.h
-midiguicomponent.moc.cpp: midiguicomponent.h midiguicomponent.cpp
- $(QT_BIN_DIR)/moc midiguicomponent.h -o midiguicomponent.moc.cpp
-midislider.o: midislider.cpp midislider.h intmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midislider.moc.o: midislider.moc.cpp midislider.h intmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midislider.moc.cpp: midislider.h midislider.cpp
- $(QT_BIN_DIR)/moc midislider.h -o midislider.moc.cpp
-intmidislider.o: intmidislider.cpp intmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-intmidislider.moc.o: intmidislider.moc.cpp intmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-intmidislider.moc.cpp: intmidislider.h intmidislider.cpp
- $(QT_BIN_DIR)/moc intmidislider.h -o intmidislider.moc.cpp
-floatintmidislider.o: floatintmidislider.cpp floatintmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-floatintmidislider.moc.o: floatintmidislider.moc.cpp floatintmidislider.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-floatintmidislider.moc.cpp: floatintmidislider.h floatintmidislider.cpp
- $(QT_BIN_DIR)/moc floatintmidislider.h -o floatintmidislider.moc.cpp
-midicombobox.o: midicombobox.cpp midicombobox.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midicombobox.moc.o: midicombobox.moc.cpp midicombobox.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midicombobox.moc.cpp: midicombobox.h midicombobox.cpp
- $(QT_BIN_DIR)/moc midicombobox.h -o midicombobox.moc.cpp
-midicheckbox.o: midicheckbox.cpp midicheckbox.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midicheckbox.moc.o: midicheckbox.moc.cpp midicheckbox.h synthdata.h midiwidget.h guiwidget.h midicontroller.h
-midicheckbox.moc.cpp: midicheckbox.h midicheckbox.cpp
- $(QT_BIN_DIR)/moc midicheckbox.h -o midicheckbox.moc.cpp
-midipushbutton.o: midipushbutton.cpp midipushbutton.h synthdata.h midiwidget.h guiwidget.h \
- midicontroller.h midiguicomponent.h
-midipushbutton.moc.o: midipushbutton.moc.cpp midipushbutton.h synthdata.h midiwidget.h midicontroller.h guiwidget.h
-midipushbutton.moc.cpp: midipushbutton.h midipushbutton.cpp
- $(QT_BIN_DIR)/moc midipushbutton.h -o midipushbutton.moc.cpp
-envelope.o: envelope.cpp envelope.h synthdata.h
-envelope.moc.o: envelope.moc.cpp envelope.h synthdata.h
-envelope.moc.cpp: envelope.h envelope.cpp
- $(QT_BIN_DIR)/moc envelope.h -o envelope.moc.cpp
-multi_envelope.o: multi_envelope.cpp multi_envelope.h synthdata.h
-multi_envelope.moc.o: multi_envelope.moc.cpp multi_envelope.h synthdata.h
-multi_envelope.moc.cpp: multi_envelope.h multi_envelope.cpp
- $(QT_BIN_DIR)/moc multi_envelope.h -o multi_envelope.moc.cpp
-scopescreen.o: scopescreen.cpp scopescreen.h synthdata.h
-scopescreen.moc.o: scopescreen.moc.cpp scopescreen.h synthdata.h
-scopescreen.moc.cpp: scopescreen.h scopescreen.cpp
- $(QT_BIN_DIR)/moc scopescreen.h -o scopescreen.moc.cpp
-spectrumscreen.o: spectrumscreen.cpp spectrumscreen.h synthdata.h
-spectrumscreen.moc.o: spectrumscreen.moc.cpp spectrumscreen.h synthdata.h
-spectrumscreen.moc.cpp: spectrumscreen.h spectrumscreen.cpp
- $(QT_BIN_DIR)/moc spectrumscreen.h -o spectrumscreen.moc.cpp
-midicontroller.o: midicontroller.cpp midicontroller.h
-midicontroller.moc.o: midicontroller.moc.cpp midicontroller.h
-midicontroller.moc.cpp: midicontroller.h midicontroller.cpp
- $(QT_BIN_DIR)/moc midicontroller.h -o midicontroller.moc.cpp
-midicontrollerlist.o: midicontrollerlist.cpp midicontrollerlist.h midicontroller.h
-midicontrollerlist.moc.o: midicontrollerlist.moc.cpp midicontrollerlist.h midicontroller.h
-midicontrollerlist.moc.cpp: midicontrollerlist.h midicontrollerlist.cpp
- $(QT_BIN_DIR)/moc midicontrollerlist.h -o midicontrollerlist.moc.cpp
-midiwidget.o: midiwidget.cpp midiwidget.h midicontroller.h midicontrollerlist.h synthdata.h guiwidget.h \
- midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h midipushbutton.h
-midiwidget.moc.o: midiwidget.moc.cpp midiwidget.h midicontroller.h midicontrollerlist.h synthdata.h guiwidget.h \
- midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h midipushbutton.h
-midiwidget.moc.cpp: midiwidget.h midiwidget.cpp
- $(QT_BIN_DIR)/moc midiwidget.h -o midiwidget.moc.cpp
-guiwidget.o: guiwidget.cpp guiwidget.h midicontroller.h midicontrollerlist.h synthdata.h \
- midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h midipushbutton.h
-guiwidget.moc.o: guiwidget.moc.cpp guiwidget.h midicontroller.h midicontrollerlist.h synthdata.h \
- midislider.h intmidislider.h floatintmidislider.h midicombobox.h midicheckbox.h midipushbutton.h
-guiwidget.moc.cpp: guiwidget.h guiwidget.cpp
- $(QT_BIN_DIR)/moc guiwidget.h -o guiwidget.moc.cpp
-ladspadialog.o: ladspadialog.cpp ladspadialog.h synthdata.h
-ladspadialog.moc.o: ladspadialog.moc.cpp ladspadialog.h synthdata.h
-ladspadialog.moc.cpp: ladspadialog.h ladspadialog.cpp
- $(QT_BIN_DIR)/moc ladspadialog.h -o ladspadialog.moc.cpp
-m_vco.o: m_vco.cpp m_vco.h synthdata.h module.h port.h
-m_vco.moc.o: m_vco.moc.cpp m_vco.h synthdata.h module.h port.h
-m_vco.moc.cpp: m_vco.h m_vco.cpp
- $(QT_BIN_DIR)/moc m_vco.h -o m_vco.moc.cpp
-m_vca.o: m_vca.cpp m_vca.h synthdata.h module.h port.h
-m_vca.moc.o: m_vca.moc.cpp m_vca.h synthdata.h module.h port.h
-m_vca.moc.cpp: m_vca.h m_vca.cpp
- $(QT_BIN_DIR)/moc m_vca.h -o m_vca.moc.cpp
-m_vcf.o: m_vcf.cpp m_vcf.h synthdata.h module.h port.h
-m_vcf.moc.o: m_vcf.moc.cpp m_vcf.h synthdata.h module.h port.h
-m_vcf.moc.cpp: m_vcf.h m_vcf.cpp
- $(QT_BIN_DIR)/moc m_vcf.h -o m_vcf.moc.cpp
-m_lfo.o: m_lfo.cpp m_lfo.h synthdata.h module.h port.h
-m_lfo.moc.o: m_lfo.moc.cpp m_lfo.h synthdata.h module.h port.h
-m_lfo.moc.cpp: m_lfo.h m_lfo.cpp
- $(QT_BIN_DIR)/moc m_lfo.h -o m_lfo.moc.cpp
-m_noise.o: m_noise.cpp m_noise.h synthdata.h module.h port.h
-m_noise.moc.o: m_noise.moc.cpp m_noise.h synthdata.h module.h port.h
-m_noise.moc.cpp: m_noise.h m_noise.cpp
- $(QT_BIN_DIR)/moc m_noise.h -o m_noise.moc.cpp
-m_delay.o: m_delay.cpp m_delay.h synthdata.h module.h port.h
-m_delay.moc.o: m_delay.moc.cpp m_delay.h synthdata.h module.h port.h
-m_delay.moc.cpp: m_delay.h m_delay.cpp
- $(QT_BIN_DIR)/moc m_delay.h -o m_delay.moc.cpp
-m_env.o: m_env.cpp m_env.h synthdata.h module.h port.h
-m_env.moc.o: m_env.moc.cpp m_env.h synthdata.h module.h port.h
-m_env.moc.cpp: m_env.h m_env.cpp
- $(QT_BIN_DIR)/moc m_env.h -o m_env.moc.cpp
-m_vcenv.o: m_vcenv.cpp m_vcenv.h synthdata.h module.h port.h
-m_vcenv.moc.o: m_vcenv.moc.cpp m_vcenv.h synthdata.h module.h port.h
-m_vcenv.moc.cpp: m_vcenv.h m_vcenv.cpp
- $(QT_BIN_DIR)/moc m_vcenv.h -o m_vcenv.moc.cpp
-m_advenv.o: m_advenv.cpp m_advenv.h synthdata.h module.h port.h
-m_advenv.moc.o: m_advenv.moc.cpp m_advenv.h synthdata.h module.h port.h
-m_advenv.moc.cpp: m_advenv.h m_advenv.cpp
- $(QT_BIN_DIR)/moc m_advenv.h -o m_advenv.moc.cpp
-m_mcv.o: m_mcv.cpp m_mcv.h synthdata.h module.h port.h
-m_mcv.moc.o: m_mcv.moc.cpp m_mcv.h synthdata.h module.h port.h
-m_mcv.moc.cpp: m_mcv.h m_mcv.cpp
- $(QT_BIN_DIR)/moc m_mcv.h -o m_mcv.moc.cpp
-m_advmcv.o: m_advmcv.cpp m_advmcv.h synthdata.h module.h port.h
-m_advmcv.moc.o: m_advmcv.moc.cpp m_advmcv.h synthdata.h module.h port.h
-m_advmcv.moc.cpp: m_advmcv.h m_advmcv.cpp
- $(QT_BIN_DIR)/moc m_advmcv.h -o m_advmcv.moc.cpp
-m_scmcv.o: m_scmcv.cpp m_scmcv.h synthdata.h module.h port.h
-m_scmcv.moc.o: m_scmcv.moc.cpp m_scmcv.h synthdata.h module.h port.h
-m_scmcv.moc.cpp: m_scmcv.h m_scmcv.cpp
- $(QT_BIN_DIR)/moc m_scmcv.h -o m_scmcv.moc.cpp
-m_seq.o: m_seq.cpp m_seq.h synthdata.h module.h port.h
-m_seq.moc.o: m_seq.moc.cpp m_seq.h synthdata.h module.h port.h
-m_seq.moc.cpp: m_seq.h m_seq.cpp
- $(QT_BIN_DIR)/moc m_seq.h -o m_seq.moc.cpp
-m_ringmod.o: m_ringmod.cpp m_ringmod.h synthdata.h module.h port.h
-m_ringmod.moc.o: m_ringmod.moc.cpp m_ringmod.h synthdata.h module.h port.h
-m_ringmod.moc.cpp: m_ringmod.h m_ringmod.cpp
- $(QT_BIN_DIR)/moc m_ringmod.h -o m_ringmod.moc.cpp
-m_inv.o: m_inv.cpp m_inv.h synthdata.h module.h port.h
-m_inv.moc.o: m_inv.moc.cpp m_inv.h synthdata.h module.h port.h
-m_inv.moc.cpp: m_inv.h m_inv.cpp
- $(QT_BIN_DIR)/moc m_inv.h -o m_inv.moc.cpp
-m_conv.o: m_conv.cpp m_conv.h synthdata.h module.h port.h
-m_conv.moc.o: m_conv.moc.cpp m_conv.h synthdata.h module.h port.h
-m_conv.moc.cpp: m_conv.h m_conv.cpp
- $(QT_BIN_DIR)/moc m_conv.h -o m_conv.moc.cpp
-m_cvs.o: m_cvs.cpp m_cvs.h synthdata.h module.h port.h
-m_cvs.moc.o: m_cvs.moc.cpp m_cvs.h synthdata.h module.h port.h
-m_cvs.moc.cpp: m_cvs.h m_cvs.cpp
- $(QT_BIN_DIR)/moc m_cvs.h -o m_cvs.moc.cpp
-m_sh.o: m_sh.cpp m_sh.h synthdata.h module.h port.h
-m_sh.moc.o: m_sh.moc.cpp m_sh.h synthdata.h module.h port.h
-m_sh.moc.cpp: m_sh.h m_sh.cpp
- $(QT_BIN_DIR)/moc m_sh.h -o m_sh.moc.cpp
-m_vcswitch.o: m_vcswitch.cpp m_vcswitch.h synthdata.h module.h port.h
-m_vcswitch.moc.o: m_vcswitch.moc.cpp m_vcswitch.h synthdata.h module.h port.h
-m_vcswitch.moc.cpp: m_vcswitch.h m_vcswitch.cpp
- $(QT_BIN_DIR)/moc m_vcswitch.h -o m_vcswitch.moc.cpp
-m_vcorgan.o: m_vcorgan.cpp m_vcorgan.h synthdata.h module.h port.h
-m_vcorgan.moc.o: m_vcorgan.moc.cpp m_vcorgan.h synthdata.h module.h port.h
-m_vcorgan.moc.cpp: m_vcorgan.h m_vcorgan.cpp
- $(QT_BIN_DIR)/moc m_vcorgan.h -o m_vcorgan.moc.cpp
-m_dynamicwaves.o: m_dynamicwaves.cpp m_dynamicwaves.h synthdata.h module.h port.h
-m_dynamicwaves.moc.o: m_dynamicwaves.moc.cpp m_dynamicwaves.h synthdata.h module.h port.h
-m_dynamicwaves.moc.cpp: m_dynamicwaves.h m_dynamicwaves.cpp
- $(QT_BIN_DIR)/moc m_dynamicwaves.h -o m_dynamicwaves.moc.cpp
-m_slew.o: m_slew.cpp m_slew.h synthdata.h module.h port.h
-m_slew.moc.o: m_slew.moc.cpp m_slew.h synthdata.h module.h port.h
-m_slew.moc.cpp: m_slew.h m_slew.cpp
- $(QT_BIN_DIR)/moc m_slew.h -o m_slew.moc.cpp
-m_quantizer.o: m_quantizer.cpp m_quantizer.h synthdata.h module.h port.h
-m_quantizer.moc.o: m_quantizer.moc.cpp m_quantizer.h synthdata.h module.h port.h
-m_quantizer.moc.cpp: m_quantizer.h m_quantizer.cpp
- $(QT_BIN_DIR)/moc m_quantizer.h -o m_quantizer.moc.cpp
-m_scquantizer.o: m_scquantizer.cpp m_scquantizer.h synthdata.h module.h port.h
-m_scquantizer.moc.o: m_scquantizer.moc.cpp m_scquantizer.h synthdata.h module.h port.h
-m_scquantizer.moc.cpp: m_scquantizer.h m_scquantizer.cpp
- $(QT_BIN_DIR)/moc m_scquantizer.h -o m_scquantizer.moc.cpp
-m_mix.o: m_mix.cpp m_mix.h synthdata.h module.h port.h
-m_mix.moc.o: m_mix.moc.cpp m_mix.h synthdata.h module.h port.h
-m_mix.moc.cpp: m_mix.h m_mix.cpp
- $(QT_BIN_DIR)/moc m_mix.h -o m_mix.moc.cpp
-m_stereomix.o: m_stereomix.cpp m_stereomix.h synthdata.h module.h port.h
-m_stereomix.moc.o: m_stereomix.moc.cpp m_stereomix.h synthdata.h module.h port.h
-m_stereomix.moc.cpp: m_stereomix.h m_stereomix.cpp
- $(QT_BIN_DIR)/moc m_stereomix.h -o m_stereomix.moc.cpp
-m_ladspa.o: m_ladspa.cpp m_ladspa.h synthdata.h module.h port.h
-m_ladspa.moc.o: m_ladspa.moc.cpp m_ladspa.h synthdata.h module.h port.h
-m_ladspa.moc.cpp: m_ladspa.h m_ladspa.cpp
- $(QT_BIN_DIR)/moc m_ladspa.h -o m_ladspa.moc.cpp
-m_out.o: m_out.cpp m_out.h synthdata.h module.h port.h
-m_out.moc.o: m_out.moc.cpp m_out.h synthdata.h module.h port.h
-m_out.moc.cpp: m_out.h m_out.cpp
- $(QT_BIN_DIR)/moc m_out.h -o m_out.moc.cpp
-m_jackout.o: m_jackout.cpp m_jackout.h synthdata.h module.h port.h
-m_jackout.moc.o: m_jackout.moc.cpp m_jackout.h synthdata.h module.h port.h
-m_jackout.moc.cpp: m_jackout.h m_jackout.cpp
- $(QT_BIN_DIR)/moc m_jackout.h -o m_jackout.moc.cpp
-m_jackin.o: m_jackin.cpp m_jackin.h synthdata.h module.h port.h
-m_jackin.moc.o: m_jackin.moc.cpp m_jackin.h synthdata.h module.h port.h
-m_jackin.moc.cpp: m_jackin.h m_jackin.cpp
- $(QT_BIN_DIR)/moc m_jackin.h -o m_jackin.moc.cpp
-m_wavout.o: m_wavout.cpp m_wavout.h synthdata.h module.h port.h
-m_wavout.moc.o: m_wavout.moc.cpp m_wavout.h synthdata.h module.h port.h
-m_wavout.moc.cpp: m_wavout.h m_wavout.cpp
- $(QT_BIN_DIR)/moc m_wavout.h -o m_wavout.moc.cpp
-m_midiout.o: m_midiout.cpp m_midiout.h synthdata.h module.h port.h
-m_midiout.moc.o: m_midiout.moc.cpp m_midiout.h synthdata.h module.h port.h
-m_midiout.moc.cpp: m_midiout.h m_midiout.cpp
- $(QT_BIN_DIR)/moc m_midiout.h -o m_midiout.moc.cpp
-m_scope.o: m_scope.cpp m_scope.h synthdata.h module.h port.h
-m_scope.moc.o: m_scope.moc.cpp m_scope.h synthdata.h module.h port.h
-m_scope.moc.cpp: m_scope.h m_scope.cpp
- $(QT_BIN_DIR)/moc m_scope.h -o m_scope.moc.cpp
-m_spectrum.o: m_spectrum.cpp m_spectrum.h synthdata.h module.h port.h
-m_spectrum.moc.o: m_spectrum.moc.cpp m_spectrum.h synthdata.h module.h port.h
-m_spectrum.moc.cpp: m_spectrum.h m_spectrum.cpp
- $(QT_BIN_DIR)/moc m_spectrum.h -o m_spectrum.moc.cpp
-m_in.o: m_in.cpp m_in.h synthdata.h module.h port.h
-m_in.moc.o: m_in.moc.cpp m_in.h synthdata.h module.h port.h
-m_in.moc.cpp: m_in.h m_in.cpp
- $(QT_BIN_DIR)/moc m_in.h -o m_in.moc.cpp
-textedit.o: textedit.cpp textedit.h synthdata.h
-textedit.moc.o: textedit.moc.cpp textedit.h synthdata.h
-textedit.moc.cpp: textedit.h textedit.cpp
- $(QT_BIN_DIR)/moc textedit.h -o textedit.moc.cpp
-
-####### Install
-
-install: $(BINARY)
- install -d $(BIN)
- install $(BINARY) $(BIN)
-
-####### Clean
-clean:
- rm *.o *.moc.cpp $(BINARY)
-
Deleted: ams/trunk/.#configdialog.h.1.2
===================================================================
--- ams/trunk/.#configdialog.h.1.2 2004-10-28 11:24:03 UTC (rev 51)
+++ ams/trunk/.#configdialog.h.1.2 2004-10-28 11:24:17 UTC (rev 52)
@@ -1,95 +0,0 @@
-#ifndef CONFIGDIALOG_H
-#define CONFIGDIALOG_H
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <qwidget.h>
-#include <qstring.h>
-#include <qslider.h>
-#include <qcheckbox.h>
-#include <qlabel.h>
-#include <qvbox.h>
-#include <qhbox.h>
-#include <qspinbox.h>
-#include <qradiobutton.h>
-#include <qpushbutton.h>
-#include <qdialog.h>
-#include <qstrlist.h>
-#include <qscrollview.h>
-#include <qtabwidget.h>
-#include <qlineedit.h>
-#include <alsa/asoundlib.h>
-#include "synthdata.h"
-#include "midislider.h"
-#include "intmidislider.h"
-#include "floatintmidislider.h"
-#include "midicombobox.h"
-#include "midicheckbox.h"
-#include "midipushbutton.h"
-#include "midiguicomponent.h"
-#include "envelope.h"
-#include "multi_envelope.h"
-#include "scopescreen.h"
-#include "spectrumscreen.h"
-
-class ConfigDialog : public QVBox
-{
- Q_OBJECT
-
- private:
- SynthData *synthdata;
- QVBox *configBox;
- QScrollView *scroll;
-
- public:
- QList<MidiSlider> midiSliderList;
- QList<IntMidiSlider> intMidiSliderList;
- QList<FloatIntMidiSlider> floatIntMidiSliderList;
- QList<MidiComboBox> midiComboBoxList;
- QList<MidiCheckBox> midiCheckBoxList;
- QList<MidiPushButton> midiPushButtonList;
- QList<Envelope> envelopeList;
- QList<ScopeScreen> scopeScreenList;
- QList<SpectrumScreen> spectrumScreenList;
- QList<MultiEnvelope> multiEnvelopeList;
- QList<MidiGUIcomponent> midiGUIcomponentList;
- QList<QLineEdit> lineEditList;
- QList<QHBox> hboxList;
- QList<QVBox> vboxList;
- QList<QLabel> labelList;
- QPushButton *removeButton;
- QObject *parentModule;
- QTabWidget *tabWidget;
-
- public:
- ConfigDialog(QObject *p_parentModule, QWidget* parent=0, const char *name=0, SynthData *p_synthdata=0);
- ~ConfigDialog();
- int addSlider(float minValue, float maxValue, float value, const char *name, float *valueRef, bool isLog=false, QWidget *parent=0);
- int addIntSlider(int minValue, int maxValue, int value, const char *name, int *valueRef, QWidget *parent=0);
- int addFloatIntSlider(float minValue, float maxValue, float value, const char *name, float *valueRef, QWidget *parent=0);
- int addComboBox(int value, const char * name, int *valueRef, int itemCount, QStrList *itemNames, QWidget *parent=0);
- int addCheckBox(float value, const char * name, float *valueRef, QWidget *parent=0);
- int addPushButton(const char * name, QWidget *parent=0);
- int addEnvelope(float *delayRef, float *attackRef, float *holdRef,
- float *decayRef, float *sustainRef, float *releaseRef, QWidget *parent=0);
- int addMultiEnvelope(int envCount, float *timeScaleRef, float *attackRef, float *sustainRef, float *releaseRef, QWidget *parent=0);
- int addLabel(QString label, QWidget *parent=0);
- int addScopeScreen(float *timeScaleRef, int *modeRef, int *edgeRef, int *triggerModeRef,
- float *triggerThrsRef, float *zoomRef, QWidget *parent=0);
- int addSpectrumScreen(QWidget *parent=0);
- int addTab(QWidget *tabPage, QString tabLabel);
- QHBox *addHBox(QWidget *parent=0);
- QVBox *addVBox(QWidget *parent=0);
- int addLineEdit(QString lineName, QWidget *parent=0);
- int initTabWidget();
-
- signals:
- void removeModuleClicked();
-
- public slots:
- void removeButtonClicked();
-};
-
-#endif
-
Deleted: ams/trunk/.#modularsynth.cpp.1.2
===================================================================
--- ams/trunk/.#modularsynth.cpp.1.2 2004-10-28 11:24:03 UTC (rev 51)
+++ ams/trunk/.#modularsynth.cpp.1.2 2004-10-28 11:24:17 UTC (rev 52)
@@ -1,2027 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <glob.h>
-#include <dlfcn.h>
-#include <qregexp.h>
-#include <qthread.h>
-#include <qwidget.h>
-#include <qstring.h>
-#include <qslider.h>
-#include <qcheckbox.h>
-#include <qlabel.h>
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qvbox.h>
-#include <qpopupmenu.h>
-#include <qpointarray.h>
-#include <qmessagebox.h>
-#include <qsocketnotifier.h>
-#include <qfiledialog.h>
-#include <qmainwindow.h>
-#include <qimage.h>
-#include <qpen.h>
-#include <qscrollview.h>
-#include <qlistview.h>
-#include <alsa/asoundlib.h>
-#include <ladspa.h>
-#include <jack/jack.h>
-#include "modularsynth.h"
-#include "port.h"
-#include "midiwidget.h"
-#include "guiwidget.h"
-#include "midicontroller.h"
-#include "ladspadialog.h"
-
-ModularSynth::ModularSynth(int poly, int periodsize, QWidget *parent, const char *name)
- : QScrollView(parent, name, Qt::WResizeNoErase | Qt::WRepaintNoErase | Qt::WStaticContents) {
-
- firstPort = true;
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- connectorStyle = CONNECTOR_BEZIER;
- aboutWidget = new QMessageBox(this);
- mainWindow = (QMainWindow *)parent;
- clientid = 0;
- portid = 0;
- jack_in_ports = 2;
- jack_out_ports = 2;
- synthdata = new SynthData(poly, periodsize);
- midiWidget = new MidiWidget(synthdata, NULL);
- midiWidget->setCaption("AlsaModularSynth Control Center");
- synthdata->midiWidget = (QObject *)midiWidget;
- guiWidget = new GuiWidget(synthdata, NULL);
- guiWidget->setCaption("AlsaModularSynth Parameter View");
- synthdata->guiWidget = (QObject *)guiWidget;
- PCMname = DEFAULT_PCMNAME;
- presetPath = "";
- ladspaDialog = new LadspaDialog(synthdata, NULL);
- QObject::connect(ladspaDialog, SIGNAL(createLadspaModule(int, int, bool, bool)),
- this, SLOT(newM_ladspa(int, int, bool, bool)));
- setPalette(QPalette(QColor(117, 67, 21), QColor(117, 67, 21)));
- loadingPatch = false;
-}
-
-ModularSynth::~ModularSynth()
-{
- delete synthdata;
-}
-
-void ModularSynth::viewportPaintEvent(QPaintEvent *pe) {
-
- QPixmap pm(visibleWidth(), visibleHeight());
- QPainter p(&pm);
- QPen *pen;
- QPointArray qpa(4);
- int l1, l2;
- Port *port[2];
- int port_x[2], port_y[2];
- QPoint port_pos[2];
- int moduleX[2], moduleY[2];
-
- pm.fill(QColor(130, 90, 25));
- p.setPen(QColor(220, 216, 216));
- pen = new QPen(QColor(220, 216, 216), 3);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- for (l2 = 0; l2 < listModule.at(l1)->portList.count(); l2++) {
- port[0] = listModule.at(l1)->portList.at(l2);
- if ((port[0]->dir == PORT_IN) && port[0]->connectedPortList.count()) {
- port[1] = port[0]->connectedPortList.at(0);
- port_pos[0] = port[0]->pos();
- port_pos[1] = port[1]->pos();
- contentsToViewport(childX(port[0]->parentModule), childY(port[0]->parentModule), moduleX[0], moduleY[0]);
- contentsToViewport(childX(port[1]->parentModule), childY(port[1]->parentModule), moduleX[1], moduleY[1]);
- port_x[0] = port_pos[0].x() + moduleX[0];
- port_x[1] = port_pos[1].x() + port[1]->width() + moduleX[1];
- port_y[0] = port_pos[0].y() + moduleY[0] + port[0]->height()/2;
- port_y[1] = port_pos[1].y() + moduleY[1] + port[1]->height()/2;
- if (connectorStyle == CONNECTOR_BEZIER) {
- qpa.setPoint(0, port_x[0], port_y[0]);
- qpa.setPoint(1, (port_x[1] - port_x[0]) / 2 + port_x[0],
- (port_y[1] - port_y[0]) / 2 + port_y[0] + 50);
- qpa.setPoint(2, port_x[1], port_y[1]);
- qpa.setPoint(3, port_x[1], port_y[1]);
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- }
- if (connectorStyle == CONNECTOR_STRAIGHT) {
- p.drawLine(port_x[0], port_y[0], port_x[1], port_y[1]);
- }
- if (port[0]->parentModule->x() < port[1]->parentModule->x()) {
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 5, port_y[0]);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 6, port_y[0]);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 7, port_y[0]);
- }
- if (port[1]->parentModule->x() > port[0]->parentModule->x()) {
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 5, port_y[1]);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 6, port_y[1]);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 7, port_y[1]);
- }
- }
- }
- }
- bitBlt(viewport(), 0, 0, &pm);
- delete pen;
-}
-
-void ModularSynth::mousePressEvent(QMouseEvent *ev) {
-
- switch (ev->button()) {
- case Qt::LeftButton:
- break;
- case Qt::RightButton:
- break;
- case Qt::MidButton:
- break;
- default:
- break;
- }
-}
-
-void ModularSynth::mouseReleaseEvent(QMouseEvent *ev) {
-
- switch (ev->button()) {
- case Qt::LeftButton:
- break;
- case Qt::RightButton:
- break;
- case Qt::MidButton:
- if (connectorStyle == CONNECTOR_STRAIGHT) {
- connectorStyle = CONNECTOR_BEZIER;
- } else {
- connectorStyle = CONNECTOR_STRAIGHT;
- }
- repaintContents(false);
- break;
- default:
- break;
- }
-}
-
-QSize ModularSynth::sizeHint() const {
-
- return QSize(SYNTH_MINIMUM_WIDTH, SYNTH_MINIMUM_HEIGHT);
-}
-
-QSizePolicy ModularSynth::sizePolicy() const {
-
- return QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
-}
-
-
-int ModularSynth::go(bool withJack) {
-
- synthdata->seq_handle = open_seq();
- initSeqNotifier();
- if (withJack) {
- synthdata->initJack(jack_in_ports, jack_out_ports);
- synthdata->doSynthesis = true;
- } else {
- synth = new Synth(synthdata);
- capture = new Capture(synthdata);
- synthdata->doSynthesis = true;
- synthdata->doCapture = false;
- synth->start();
- }
- return(0);
-}
-
-void ModularSynth::displayAbout() {
-
- aboutWidget->about(this, "About AlsaModularSynth", "AlsaModularSynth 1.6.0\n"
- "by Matthias Nagorni\n"
- "(c)2002-2003 SuSE AG Nuremberg\n\n"
- "Documentation and examples can be found in\n"
- "/usr/share/doc/packages/kalsatools\n\n"
- "More presets and updates are available from\n"
- "http://alsamodular.sourceforge.net"
- "\n\nAcknowledgements\n"
- "----------------------\n\n"
- "The VCF Module uses the resonant low-pass filter by Paul Kellett\n"
- "and the Cookbook formulae for audio EQ biquad filter coefficients\n"
- "by Robert Bristow-Johnson. The experimental 24 dB Lowpass filters have\n"
- "been taken from http://musicdsp.org. They are based on the CSound source\n"
- "code, the paper by Stilson/Smith and modifications by Paul Kellett\n"
- "and Timo Tossavainen. The pink noise conversion formula is by Paul\n"
- "Kellett and has been taken from http://musicdsp.org as well.\n\n"
- "The author is grateful to Takashi Iwai for instructions about ALSA.\n"
- "Klaas Freitag, Helmut Herold, Stefan Hundhammer and Arvin Schnell\n"
- "answered many questions about QT. Thanks to Jörg Arndt for valuable\n"
- "hints regarding speed optimization. Torsten Rahn has helped to\n"
- "improve the color scheme of the program. Thanks to Bernhard Kaindl\n"
- "for helpful discussion. Fons Adriaensen has contributed patches for the\n"
- "MCV and Spectrum View modules. He has also contributed many valuable ideas.\n");
- aboutWidget->raise();
-}
-
-void ModularSynth::displayMidiController() {
-
- midiWidget->show();
- midiWidget->raise();
-}
-
-void ModularSynth::displayParameterView() {
-
- guiWidget->show();
- guiWidget->raise();
-}
-
-void ModularSynth::displayLadspaPlugins() {
-
- ladspaDialog->show();
- ladspaDialog->raise();
-}
-
-int ModularSynth::setPeriodsize(int p_periodsize){
-
- synthdata->setPeriodsize(p_periodsize);
- synthdata->setCycleSize(synthdata->periodsize); // TODO allow cyclesize < periodsize
- fprintf(stderr, "Cyclesize: %d Periodsize: %d\n", synthdata->cyclesize, synthdata->periodsize);
- return(0);
-}
-
-int ModularSynth::setPeriods(int p_periods){
-
- synthdata->setPeriods(p_periods);
- return(0);
-}
-
-int ModularSynth::setRate(int p_rate){
-
- synthdata->setRate(p_rate);
- return(0);
-}
-
-int ModularSynth::setChannels(int p_channels){
-
- synthdata->setChannels(p_channels);
- return(0);
-}
-
-int ModularSynth::setPCMname(QString p_name){
-
- PCMname = p_name;
- return(0);
-}
-
-int ModularSynth::setPresetPath(QString name) {
-
- presetPath = name;
- return(0);
-}
-
-int ModularSynth::setSavePath(QString name) {
-
- savePath = name;
- return(0);
-}
-
-snd_pcm_t *ModularSynth::open_pcm(bool openCapture) {
-
- snd_pcm_t *pcm_handle;
- snd_pcm_stream_t stream;
- snd_pcm_hw_params_t *hwparams;
- int buffersize_return;
-
- stream = (openCapture) ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK;
- if (snd_pcm_open(&pcm_handle, PCMname.latin1(), stream, 0) < 0) {
- fprintf(stderr, "Error opening PCM device %s\n", PCMname.latin1());
- exit(1);
- }
- snd_pcm_hw_params_alloca(&hwparams);
- if (snd_pcm_hw_params_any(pcm_handle, hwparams) < 0) {
- fprintf(stderr, "Can not configure this PCM device.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED) < 0) {
- fprintf(stderr, "Error setting access.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, SND_PCM_FORMAT_S16_LE) < 0) {
- fprintf(stderr, "Error setting format.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, synthdata->rate, 0) < 0) {
- fprintf(stderr, "Error setting rate.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_channels(pcm_handle, hwparams, synthdata->channels) < 0) {
- fprintf(stderr, "Error setting channels.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_periods(pcm_handle, hwparams, synthdata->periods, 0) < 0) {
- fprintf(stderr, "Error setting periods.\n");
- exit(1);
- }
- if ((buffersize_return = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams,
- synthdata->periodsize * synthdata->periods)) < 0) {
- fprintf(stderr, "Error setting buffersize.\n");
- exit(1);
- }
- if (buffersize_return != synthdata->periodsize * synthdata->periods) {
- fprintf(stderr, "Buffersize %d is not available on your hardware. Using %d instead.\n",
- synthdata->periodsize, buffersize_return * synthdata->periods);
- setPeriodsize(buffersize_return / synthdata->periods);
- }
- if (snd_pcm_hw_params(pcm_handle, hwparams) < 0) {
- fprintf(stderr, "Error setting HW params.\n");
- exit(1);
- }
- return(pcm_handle);
-}
-
-snd_seq_t *ModularSynth::open_seq() {
-
- snd_seq_t *seq_handle;
- int l1;
- QString qs;
-
- if (snd_seq_open(&seq_handle, "hw", SND_SEQ_OPEN_DUPLEX, 0) < 0) {
- fprintf(stderr, "Error opening ALSA sequencer.\n");
- exit(1);
- }
- snd_seq_set_client_name(seq_handle, "AlsaModularSynth");
- clientid = snd_seq_client_id(seq_handle);
- if ((portid = snd_seq_create_simple_port(seq_handle, "ams",
- SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,
- SND_SEQ_PORT_TYPE_APPLICATION)) < 0) {
- fprintf(stderr, "Error creating sequencer port.\n");
- exit(1);
- }
- for (l1 = 0; l1 < 2; l1++) {
- if ((synthdata->midi_out_port[l1] = snd_seq_create_simple_port(seq_handle, "ams",
- SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,
- SND_SEQ_PORT_TYPE_APPLICATION)) < 0) {
- fprintf(stderr, "Error creating sequencer port.\n");
- exit(1);
- }
- }
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d", clientid, portid);
- mainWindow->setCaption(qs);
- synthdata->jackName.sprintf("ams_%d_%d", clientid, portid);
- return(seq_handle);
-}
-
-int ModularSynth::initSeqNotifier() {
-
- int alsaEventFd = 0;
-
- struct pollfd pfd[1];
- snd_seq_poll_descriptors(synthdata->seq_handle, pfd, 1, POLLIN);
- alsaEventFd = pfd[0].fd;
- seqNotifier = new QSocketNotifier(alsaEventFd, QSocketNotifier::Read);
- QObject::connect(seqNotifier, SIGNAL(activated(int)),
- this, SLOT(midiAction(int)));
- return(0);
-}
-
-void ModularSynth::midiAction(int fd) {
-
- snd_seq_event_t *ev;
- QString qs;
- int l1, l2, osc;
- bool noteActive, foundOsc;
- float min_e;
- MidiController *midiController;
-
- do {
- snd_seq_event_input(synthdata->seq_handle, &ev);
- if (midiWidget->isVisible()) {
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- ||(ev->type == SND_SEQ_EVENT_CONTROL14)
- ||(ev->type == SND_SEQ_EVENT_PITCHBEND)) {
- MidiController *midiController = new MidiController();
- midiController->type = ev->type;
- midiController->ch = ev->data.control.channel;
- midiController->param = (ev->type==SND_SEQ_EVENT_PITCHBEND)
- ? 0 : ev->data.control.param;
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- delete midiController;
- }
- }
- if (midiWidget->noteControllerEnabled &&((ev->type == SND_SEQ_EVENT_NOTEON)
- ||(ev->type == SND_SEQ_EVENT_NOTEOFF))) {
- MidiController *midiController = new MidiController();
- midiController->type = ev->type;
- midiController->ch = ev->data.control.channel;
- midiController->param = ev->data.note.note;
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- delete midiController;
- }
- }
- }
- if (midiWidget->followMidi) {
- for(l1 = 0; l1 < midiWidget->midiControllerList.count(); l1++) {
- midiController = midiWidget->midiControllerList.at(l1);
- if ((midiController->type == ev->type)
- &&(midiController->ch == ev->data.control.channel)) {
- if (ev->type == SND_SEQ_EVENT_PITCHBEND) {
- emit midiController->sendMidiValue((ev->data.control.value + 8192) / 128);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROL14)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value / 128);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(ev->data.note.velocity);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEOFF)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(0);
- midiWidget->setSelectedController(midiController);
- }
- }
- }
- } else {
- for(l1 = 0; l1 < midiWidget->midiControllerList.count(); l1++) {
- midiController = midiWidget->midiControllerList.at(l1);
- if ((midiController->type == ev->type)
- &&(midiController->ch == ev->data.control.channel)) {
- if (ev->type == SND_SEQ_EVENT_PITCHBEND) {
- emit midiController->sendMidiValue((ev->data.control.value + 8192) / 128);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROL14)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value / 128);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(ev->data.note.velocity);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEOFF)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(0);
- }
- }
- }
- }
- if (((ev->type == SND_SEQ_EVENT_NOTEON) || (ev->type == SND_SEQ_EVENT_NOTEOFF))
- && ((synthdata->midiChannel < 0) || (synthdata->midiChannel == ev->data.control.channel))) {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- noteActive = false;
- for (l1 = 0; l1 < synthdata->listM_env.count(); l1++) {
- if (((M_env *)synthdata->listM_env.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_vcenv.count(); l1++) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_advenv.count(); l1++) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_dynamicwaves.count(); l1++) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- synthdata->noteActive[l2] = noteActive || synthdata->notePressed[l2];
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON) && (ev->data.note.velocity > 0)) {
- foundOsc = false;
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (!synthdata->noteActive[l2]) {
- foundOsc = true;
- synthdata->noteActive[l2] = true;
- synthdata->notePressed[l2] = true;
- synthdata->velocity[l2] = ev->data.note.velocity;
- synthdata->channel[l2] = ev->data.note.channel;
- synthdata->notes[l2] = ev->data.note.note;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOnEvent(l2);
- }
- break;
- }
- }
- if ((synthdata->listM_advenv.count()
- || synthdata->listM_env.count()
- || synthdata->listM_vcenv.count()
- || synthdata->listM_dynamicwaves.count())
- && !foundOsc) {
- min_e = 1.0;
- osc = 0;
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- for (l1 = 0; l1 < synthdata->listM_dynamicwaves.count(); l1++) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->noteActive[l2]) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->e[l2][0] < min_e) {
- min_e = ((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->e[l2][0];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_env.count(); l1++) {
- if (((M_env *)synthdata->listM_env.at(l1))->noteActive[l2]) {
- if (((M_env *)synthdata->listM_env.at(l1))->e[l2] < min_e) {
- min_e = ((M_env *)synthdata->listM_env.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_vcenv.count(); l1++) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->noteActive[l2]) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->e[l2] < min_e) {
- min_e = ((M_vcenv *)synthdata->listM_vcenv.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_advenv.count(); l1++) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->noteActive[l2]) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->e[l2] < min_e) {
- min_e = ((M_advenv *)synthdata->listM_advenv.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- }
- synthdata->noteActive[osc] = true;
- synthdata->notePressed[osc] = true;
- synthdata->velocity[osc] = ev->data.note.velocity;
- synthdata->channel[osc] = ev->data.note.channel;
- synthdata->notes[osc] = ev->data.note.note;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOnEvent(osc);
- }
- }
- } else {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if ((synthdata->notes[l2] == ev->data.note.note)
- && (synthdata->channel[l2] == ev->data.note.channel)) {
- synthdata->notePressed[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
- }
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER) && (ev->data.control.param == MIDI_CTL_ALL_NOTES_OFF)) {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (synthdata->notePressed[l2] && (synthdata->channel[l2] == ev->data.note.channel)) {
- synthdata->notePressed[l2] = false;
- synthdata->noteActive[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
- }
- if (ev->type == SND_SEQ_EVENT_PGMCHANGE) {
- guiWidget->setCurrentPreset(ev->data.control.value);
- }
- for (l1 = 0; l1 < synthdata->listM_advmcv.count(); l1++) {
- switch (ev->type) {
- case SND_SEQ_EVENT_CHANPRESS:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->aftertouchEvent(ev->data.note.channel, ev->data.control.value);
- break;
- case SND_SEQ_EVENT_PITCHBEND:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->pitchbendEvent(ev->data.note.channel, ev->data.control.value);
- break;
- case SND_SEQ_EVENT_CONTROLLER:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->controllerEvent(ev->data.note.channel, ev->data.control.param, ev->data.control.value);
- break;
- }
- }
- snd_seq_free_event(ev);
- } while (snd_seq_event_input_pending(synthdata->seq_handle, 0) > 0);
-}
-
-void ModularSynth::initPorts(Module *m) {
-
- int l1;
-
- for (l1 = 0; l1 < m->portList.count(); l1++) {
- QObject::connect(m->portList.at(l1), SIGNAL(portClicked()),
- this, SLOT(portSelected()));
- QObject::connect(m->portList.at(l1), SIGNAL(portDisconnected()),
- this, SLOT(updatePortConnections()));
- }
-}
-
-void ModularSynth::initNewModule(Module *m) {
-
- int cx, cy;
-
- addChild(m);
- viewportToContents((visibleWidth()-m->width())>>1, (visibleHeight()-m->height())>>1, cx, cy);
- moveChild(m, cx, cy);
- m->show();
- QObject::connect(m, SIGNAL(dragged(QPoint)), this, SLOT(moveModule(QPoint)));
- QObject::connect(m, SIGNAL(removeModule()), this, SLOT(deleteModule()));
- listModule.append(m);
- if (!loadingPatch) {
- midiWidget->addModule(m);
- }
- initPorts(m);
-}
-
-void ModularSynth::new_textEdit() {
-
- int cx, cy;
-
- TextEdit *te = new TextEdit(viewport(), "textEdit", synthdata);
- addChild(te);
- viewportToContents((visibleWidth()-te->width())>>1, (visibleHeight()-te->height())>>1, cx, cy);
- moveChild(te, cx, cy);
- te->show();
- QObject::connect(te, SIGNAL(dragged(QPoint)), this, SLOT(moveTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(sizeDragged(QPoint)), this, SLOT(resizeTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(removeTextEdit()), this, SLOT(deleteTextEdit()));
- listTextEdit.append(te);
-}
-
-void ModularSynth::new_textEdit(int x, int y, int w, int h) {
-
- TextEdit *te = new TextEdit(viewport(), "textEdit", synthdata);
- addChild(te);
- te->setFixedSize(w, h);
- moveChild(te, x, y);
- te->show();
- QObject::connect(te, SIGNAL(dragged(QPoint)), this, SLOT(moveTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(sizeDragged(QPoint)), this, SLOT(resizeTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(removeTextEdit()), this, SLOT(deleteTextEdit()));
- listTextEdit.append(te);
-}
-
-void ModularSynth::startSynth() {
-
- if (!synthdata->withJack) {
- synthdata->doSynthesis = true;
- if (!synth->running()) {
- synth->start();
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- }
- }
- } else {
- synthdata->doSynthesis = true;
-// if (!synthdata->jackRunning && (synthdata->jackOutCount + synthdata->jackInCount > 0)) {
-// synthdata->activateJack();
-// }
- }
-}
-
-void ModularSynth::stopSynth() {
-
- synthdata->doSynthesis = false;
- synthdata->doCapture = false;
-// if (synthdata->withJack) {
-// synthdata->deactivateJack();
-// }
-}
-
-void ModularSynth::newM_seq(int seqLen) {
-
- M_seq *m = new M_seq(seqLen, viewport(), "M_seq", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_seq_8() {
-
- newM_seq(8);
-}
-
-void ModularSynth::newM_seq_12() {
-
- newM_seq(12);
-}
-
-void ModularSynth::newM_seq_16() {
-
- newM_seq(16);
-}
-
-void ModularSynth::newM_seq_24() {
-
- newM_seq(24);
-}
-
-void ModularSynth::newM_seq_32() {
-
- newM_seq(32);
-}
-
-void ModularSynth::newM_vcorgan(int oscCount) {
-
- M_vcorgan *m = new M_vcorgan(oscCount, viewport(), "M_vcorgan", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcorgan_4() {
-
- newM_vcorgan(4);
-}
-
-void ModularSynth::newM_vcorgan_6() {
-
- newM_vcorgan(6);
-}
-
-void ModularSynth::newM_vcorgan_8() {
-
- newM_vcorgan(8);
-}
-
-void ModularSynth::newM_dynamicwaves(int oscCount) {
-
- M_dynamicwaves *m = new M_dynamicwaves(oscCount, viewport(), "M_dynamicwaves", synthdata);
- synthdata->listM_dynamicwaves.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_dynamicwaves_4() {
-
- newM_dynamicwaves(4);
-}
-
-void ModularSynth::newM_dynamicwaves_6() {
-
- newM_dynamicwaves(6);
-}
-
-void ModularSynth::newM_dynamicwaves_8() {
-
- newM_dynamicwaves(8);
-}
-
-void ModularSynth::newM_mcv() {
-
- M_mcv *m = new M_mcv(viewport(), "M_mcv", synthdata);
- synthdata->listM_mcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_advmcv() {
-
- M_advmcv *m = new M_advmcv(viewport(), "M_advmcv", synthdata);
- synthdata->listM_advmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scmcv() {
-
- M_scmcv *m = new M_scmcv(viewport(), "M_scmcv", synthdata);
- synthdata->listM_scmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scmcv(QString *p_scalaName) {
-
- M_scmcv *m = new M_scmcv(viewport(), "M_scmcv", synthdata, p_scalaName);
- synthdata->listM_scmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_env() {
-
- M_env *m = new M_env(viewport(), "M_env", synthdata);
- synthdata->listM_env.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcenv() {
-
- M_vcenv *m = new M_vcenv(viewport(), "M_vcenv", synthdata);
- synthdata->listM_vcenv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_advenv() {
-
- M_advenv *m = new M_advenv(viewport(), "M_advenv", synthdata);
- synthdata->listM_advenv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vco() {
-
- M_vco *m = new M_vco(viewport(), "M_vco", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vca_lin() {
-
- M_vca *m = new M_vca(false, viewport(), "M_vca", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vca_exp() {
-
- M_vca *m = new M_vca(true, viewport(), "M_vca", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_lfo() {
-
- M_lfo *m = new M_lfo(viewport(), "M_lfo", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_noise() {
-
- M_noise *m = new M_noise(viewport(), "M_noise", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_ringmod() {
-
- M_ringmod *m = new M_ringmod(viewport(), "M_ringmod", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_inv() {
-
- M_inv *m = new M_inv(viewport(), "M_inv", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_conv() {
-
- M_conv *m = new M_conv(viewport(), "M_conv", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_cvs() {
-
- M_cvs *m = new M_cvs(viewport(), "M_cvs", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_sh() {
-
- M_sh *m = new M_sh(viewport(), "M_sh", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcswitch() {
-
- M_vcswitch *m = new M_vcswitch(viewport(), "M_vcswitch", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_slew() {
-
- M_slew *m = new M_slew(viewport(), "M_slew", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_quantizer() {
-
- M_quantizer *m = new M_quantizer(viewport(), "M_quantizer", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scquantizer(QString *p_scalaName) {
-
- M_scquantizer *m = new M_scquantizer(viewport(), "M_scquantizer", synthdata, p_scalaName);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scquantizer() {
-
- M_scquantizer *m = new M_scquantizer(viewport(), "M_scquantizer", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_delay() {
-
- M_delay *m = new M_delay(viewport(), "M_delay", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_mix(int in_channels) {
-
- M_mix *m = new M_mix(in_channels, viewport(), "M_mix", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_stereomix(int in_channels) {
-
- M_stereomix *m = new M_stereomix(in_channels, viewport(), "M_stereomix", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_mix_2() {
-
- newM_mix(2);
-}
-
-void ModularSynth::newM_mix_4() {
-
- newM_mix(4);
-}
-
-void ModularSynth::newM_mix_8() {
-
- newM_mix(8);
-}
-
-void ModularSynth::newM_stereomix_2() {
-
- newM_stereomix(2);
-}
-
-void ModularSynth::newM_stereomix_4() {
-
- newM_stereomix(4);
-}
-
-void ModularSynth::newM_stereomix_8() {
-
- newM_stereomix(8);
-}
-
-void ModularSynth::newM_ladspa(int p_ladspaDesFuncIndex, int n, bool p_newLadspaPoly, bool p_extCtrlPorts) {
-
- QString qs;
-
- qs.sprintf("%s", synthdata->ladspa_dsc_func_list[p_ladspaDesFuncIndex](n)->Name);
- M_ladspa *m = new M_ladspa(viewport(), "M_ladspa", synthdata, p_ladspaDesFuncIndex, n, p_newLadspaPoly, p_extCtrlPorts);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_out() {
-
- if (!synthdata->moduleOutCount) {
- synthdata->pcm_handle = open_pcm(false);
- }
- M_out *m = new M_out(viewport(), "M_out", synthdata);
- synthdata->outModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->moduleOutCount++;
-}
-
-void ModularSynth::newM_wavout() {
-
- M_wavout *m = new M_wavout(viewport(), "M_wavout", synthdata);
- synthdata->wavoutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_midiout() {
-
- M_midiout *m = new M_midiout(viewport(), "M_midiout", synthdata);
- synthdata->midioutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_jackout() {
-
- M_jackout *m = new M_jackout(viewport(), "M_jackout", synthdata);
- synthdata->jackoutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->jackOutCount++;
-// if (!synthdata->jackRunning) {
-// synthdata->activateJack();
-// }
-}
-void ModularSynth::newM_jackin() {
-
- M_jackin *m = new M_jackin(viewport(), "M_jackin", synthdata);
- synthdata->jackinModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->jackInCount++;
-// if (!synthdata->jackRunning) {
-// synthdata->activateJack();
-// }
-}
-
-void ModularSynth::newM_scope() {
-
- M_scope *m = new M_scope(viewport(), "M_scope", synthdata);
- synthdata->scopeModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_spectrum() {
-
- M_spectrum *m = new M_spectrum(viewport(), "M_spectrum", synthdata);
- synthdata->spectrumModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_in() {
-
- if (!synthdata->moduleInCount) {
- synthdata->pcm_capture_handle = open_pcm(true);
- synthdata->doCapture = synthdata->doSynthesis;
- if (!capture->running()) {
- capture->start();
- }
- }
- synthdata->moduleInCount++;
- M_in *m = new M_in(viewport(), "M_in", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcf() {
-
- M_vcf *m = new M_vcf(viewport(), "M_vcf", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::moveModule(QPoint pos) {
-
- int l1;
- Module *m;
- int cx, cy;
-
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if ((m=listModule.at(l1)) == sender()) {
- viewportToContents(pos.x() - m->getMousePressPos().x() + m->pos().x(),
- pos.y() - m->getMousePressPos().y() + m->pos().y(),
- cx, cy);
- moveChild(m, cx, cy);
- }
- }
-}
-
-void ModularSynth::moveTextEdit(QPoint pos) {
-
- int l1;
- TextEdit *te;
- int cx, cy;
-
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- if ((te=listTextEdit.at(l1)) == sender()) {
- viewportToContents(pos.x() - te->getMousePressPos().x() + te->pos().x(),
- pos.y() - te->getMousePressPos().y() + te->pos().y(),
- cx, cy);
- moveChild(te, cx, cy);
- }
- }
-}
-
-void ModularSynth::resizeTextEdit(QPoint pos) {
-
- int l1;
- TextEdit *te;
- int cx, cy;
-
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- if ((te=listTextEdit.at(l1)) == sender()) {
- cx = pos.x();
- cy = pos.y();
- if ((cx > 200) && (cy > 170)) {
- te->setFixedSize(cx + 3, cy + 3);
- }
- }
- }
-}
-
-void ModularSynth::portSelected() {
-
- if (firstPort) {
- firstPort = false;
- connectingPort[0] = (Port *)sender();
- connectingPort[0]->highlighted = true;
- connectingPort[0]->repaint(false);
- } else {
- firstPort = true;
- connectingPort[1] = (Port *)sender();
- connectingPort[0]->highlighted = false;
- connectingPort[0]->repaint(false);
- connectingPort[1]->highlighted = false;
- connectingPort[1]->repaint(false);
- if ((((connectingPort[0]->dir == PORT_IN) && (connectingPort[1]->dir == PORT_OUT))
- ||((connectingPort[1]->dir == PORT_IN) && (connectingPort[0]->dir == PORT_OUT)))
- && (connectingPort[0]->parentModule != connectingPort[1]->parentModule)) {
- connectingPort[0]->connectTo(connectingPort[1]);
- connectingPort[1]->connectTo(connectingPort[0]);
- repaintContents(false);
- } else {
- printf("Connection refused.\n");
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- }
- }
-}
-
-void ModularSynth::updatePortConnections() {
-
- repaintContents(false);
-}
-
-void ModularSynth::deleteModule() {
-
- Module *m;
-
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- firstPort = true;
- m = (Module *)sender();
- midiWidget->deleteModule(m);
- if (m->M_type == M_type_env) {
- synthdata->listM_env.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_vcenv) {
- synthdata->listM_vcenv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_advenv) {
- synthdata->listM_advenv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_dynamicwaves) {
- synthdata->listM_dynamicwaves.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_mcv) {
- synthdata->listM_mcv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_advmcv) {
- synthdata->listM_advmcv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_out) {
- synthdata->moduleOutCount--;
- if (!synthdata->moduleOutCount) {
- sleep(1);
- snd_pcm_close(synthdata->pcm_handle);
- }
- synthdata->outModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_jackout) {
- synthdata->jackOutCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackoutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_jackin) {
- synthdata->jackInCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackinModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_wavout) {
- synthdata->wavoutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_midiout) {
- synthdata->midioutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_scope) {
- synthdata->scopeModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_spectrum) {
- synthdata->spectrumModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_in) {
- synthdata->moduleInCount--;
- if (!synthdata->moduleInCount) {
- synthdata->doCapture = false;
- sleep(1);
- snd_pcm_close(synthdata->pcm_capture_handle);
- }
- }
- listModule.removeRef(m);
- delete(m);
-}
-
-void ModularSynth::deleteTextEdit() {
-
- listTextEdit.removeRef((TextEdit *)sender());
- delete((TextEdit *)sender());
-}
-
-void ModularSynth::deleteTextEdit(TextEdit *te) {
-
- delete(te);
-}
-
-void ModularSynth::deleteModule(Module *m) {
-
- midiWidget->deleteModule(m);
- if (m->M_type == M_type_env) {
- synthdata->listM_env.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_vcenv) {
- synthdata->listM_vcenv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_advenv) {
- synthdata->listM_advenv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_dynamicwaves) {
- synthdata->listM_dynamicwaves.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_mcv) {
- synthdata->listM_mcv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_advmcv) {
- synthdata->listM_advmcv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_out) {
- synthdata->moduleOutCount--;
- if (!synthdata->moduleOutCount) {
- sleep(1);
- snd_pcm_close(synthdata->pcm_handle);
- }
- synthdata->outModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_jackout) {
- synthdata->jackOutCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackoutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_jackin) {
- synthdata->jackInCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackinModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_wavout) {
- synthdata->wavoutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_midiout) {
- synthdata->midioutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_scope) {
- synthdata->scopeModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_spectrum) {
- synthdata->spectrumModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_in) {
- synthdata->moduleInCount--;
- if (!synthdata->moduleInCount) {
- synthdata->doCapture = false;
- sleep(1);
- snd_pcm_close(synthdata->pcm_capture_handle);
- }
- }
- delete(m);
-}
-
-void ModularSynth::clearConfig() {
-
- int l1;
- bool restartSynth;
- QString qs;
-
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d", clientid, portid);
- mainWindow->setCaption(qs);
- restartSynth = synthdata->doSynthesis;
- synthdata->doSynthesis = false;
- synthdata->doCapture = false;
- if (!synthdata->withJack) {
- while(synth->running()) {
- sleep(1);
- }
- } else {
-// synthdata->deactivateJack();
-// sleep(1);
- }
- guiWidget->clearGui();
-// delete guiWidget;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- deleteModule(listModule.at(l1));
- }
- listModule.clear();
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- deleteTextEdit(listTextEdit.at(l1));
- }
- listTextEdit.clear();
- synthdata->moduleID = 0;
- synthdata->moduleCount = 0;
-// guiWidget = new GuiWidget(synthdata, NULL);
-// guiWidget->setCaption("AlsaModularSynth Parameter View");
-// synthdata->guiWidget = (QObject *)guiWidget;
- if (restartSynth) {
- synthdata->doSynthesis = true;
- if (!synthdata->withJack) {
- if (!synth->running()) {
- synth->start();
- } else {
- fprintf(stderr, "Audio thread is already running...\n");
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- } else {
- fprintf(stderr, "Capture thread is already running...\n");
- }
- }
- }
- }
-}
-
-void ModularSynth::load() {
-
- QString config_fn;
-
- if (presetPath.isEmpty()) {
- if (!(config_fn = QString(QFileDialog::getOpenFileName(QString::null, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- } else {
- if (!(config_fn = QString(QFileDialog::getOpenFileName(presetPath, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- }
- load(&config_fn);
-}
-
-void ModularSynth::load(QString *presetName) {
-
- int l1, l2;
- int M_type, moduleID, index, value, x, y, w, h, subID1, subID2;
- int index1, index2, moduleID1, moduleID2, midiSign;
- int index_read1, index_read2, moduleID_read1, moduleID_read2;
- int type, ch, param, isLogInt, midiIndex, sliderMin, sliderMax;
- FILE *f;
- QString config_fn, qs, qs2, ladspaLibName, pluginName, para, scalaName;
- char sc[2048];
- bool restartSynth, isLog, ladspaLoadErr, commentFlag, followConfig;
- int newLadspaPolyFlag, textEditID;
- Module *m;
- int currentProgram;
-
- restartSynth = synthdata->doSynthesis;
- synthdata->doSynthesis = false;
- followConfig = midiWidget->followConfig;
- midiWidget->followConfig = false;
- config_fn = *presetName;
- currentProgram = -1;
- if (!(f = fopen(config_fn, "r"))) {
- QMessageBox::information( this, "AlsaModularSynth", "Could not open file.");
- } else {
- clearConfig();
- qs2 = config_fn.mid(config_fn.findRev('/') + 1);
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d - %s", clientid, portid, qs2.latin1());
- mainWindow->setCaption(qs);
- ladspaLoadErr = false;
- commentFlag = false;
- loadingPatch = true;
- while(fscanf(f, "%s", sc) != EOF) {
- qs = QString(sc);
- if (qs.contains("#PARA#", false)) {
- commentFlag = true;
- }
- if (qs.contains("#ARAP#", false)) {
- commentFlag = false;
- }
- if (qs.contains("Module", false) && !commentFlag) {
- fscanf(f, "%d", &M_type);
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &x);
- fscanf(f, "%d", &y);
- switch ((M_typeEnum)M_type) {
- case M_type_ladspa:
- fscanf(f, "%d", &newLadspaPolyFlag);
- fscanf(f, "%s", sc);
- ladspaLibName = QString(sc);
- fgets(sc, 2048, f);
- sc[strlen(sc)-1] = '\0';
- pluginName = QString(sc+1);
- fprintf(stderr, "Loading LADSPA plugin \"%s\" from library \"%s\".\n", pluginName.latin1(), ladspaLibName.latin1());
- if (!synthdata->getLadspaIDs(ladspaLibName, pluginName, &subID1, &subID2)) {
- sprintf(sc, "Could not find LADSPA plugin \"%s\" from library \"%s\".\n", pluginName.latin1(), ladspaLibName.latin1());
- QMessageBox::information( this, "AlsaModularSynth", QString(sc));
- ladspaLoadErr = true;
- }
- break;
- case M_type_scquantizer:
- fscanf(f, "%s", &sc);
- scalaName = QString(sc);
- break;
- case M_type_scmcv:
- fscanf(f, "%s", &sc);
- scalaName = QString(sc);
- break;
- default:
- fscanf(f, "%d", &subID1);
- fscanf(f, "%d", &subID2);
- break;
- }
- switch((M_typeEnum)M_type) {
- case M_type_custom:
- break;
- case M_type_vco:
- newM_vco();
- break;
- case M_type_vca:
- if (subID1) {
- newM_vca_exp();
- } else {
- newM_vca_lin();
- }
- break;
- case M_type_vcf:
- newM_vcf();
- break;
- case M_type_lfo:
- newM_lfo();
- break;
- case M_type_noise:
- newM_noise();
- break;
- case M_type_delay:
- newM_delay();
- break;
- case M_type_seq:
- newM_seq(subID1);
- break;
- case M_type_env:
- newM_env();
- break;
- case M_type_vcenv:
- newM_vcenv();
- break;
- case M_type_advenv:
- newM_advenv();
- break;
- case M_type_mcv:
- newM_mcv();
- break;
- case M_type_advmcv:
- newM_advmcv();
- break;
- case M_type_scmcv:
- newM_scmcv(&scalaName);
- break;
- case M_type_ringmod:
- newM_ringmod();
- break;
- case M_type_inv:
- newM_inv();
- break;
- case M_type_conv:
- newM_conv();
- break;
- case M_type_sh:
- newM_sh();
- break;
- case M_type_vcswitch:
- newM_vcswitch();
- break;
- case M_type_cvs:
- newM_cvs();
- break;
- case M_type_slew:
- newM_slew();
- break;
- case M_type_quantizer:
- newM_quantizer();
- break;
- case M_type_scquantizer:
- newM_scquantizer(&scalaName);
- break;
- case M_type_mix:
- newM_mix(subID1);
- break;
- case M_type_stereomix:
- newM_stereomix(subID1);
- break;
- case M_type_vcorgan:
- newM_vcorgan(subID1);
- break;
- case M_type_dynamicwaves:
- newM_dynamicwaves(subID1);
- break;
- case M_type_ladspa:
- if (!ladspaLoadErr) {
- newM_ladspa(subID1, subID2, newLadspaPolyFlag & 2, newLadspaPolyFlag & 1);
- }
- break;
- case M_type_out:
- if (synthdata->withJack) {
- newM_jackout();
- } else {
- newM_out();
- }
- break;
- case M_type_jackout:
- if (synthdata->withJack) {
- newM_jackout();
- } else {
- newM_out();
- }
- break;
- case M_type_jackin:
- if (synthdata->withJack) {
- newM_jackin();
- } else {
- newM_in();
- }
- break;
- case M_type_wavout:
- newM_wavout();
- break;
- case M_type_midiout:
- newM_midiout();
- break;
- case M_type_scope:
- newM_scope();
- break;
- case M_type_spectrum:
- newM_spectrum();
- break;
- case M_type_in:
- if (synthdata->withJack) {
- newM_jackin();
- } else {
- newM_in();
- }
- break;
- }
- m = listModule.at(listModule.count()-1);
- moveChild(m, x, y);
- m->moduleID=moduleID;
- qs = m->configDialog->caption();
- qs2 = qs.left(qs.findRev(" "));
- qs.sprintf(" %d", moduleID);
- m->configDialog->setCaption(qs2+qs);
- midiWidget->addModule(m);
- if (synthdata->moduleID <= moduleID) {
- synthdata->moduleID = moduleID+1;
- }
- }
- if (qs.contains("Comment", false) && !commentFlag) {
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &textEditID); // TODO textEditID is not needed yet
- fscanf(f, "%d", &x);
- fscanf(f, "%d", &y);
- fscanf(f, "%d", &w);
- fscanf(f, "%d", &h);
- new_textEdit(x, y, w, h);
- }
- }
- rewind(f);
- while((fscanf(f, "%s", sc) != EOF) && !ladspaLoadErr) {
- qs = QString(sc);
- if (qs.contains("Port", false)) {
- fscanf(f, "%d", &index1);
- fscanf(f, "%d", &index2);
- fscanf(f, "%d", &moduleID1);
- fscanf(f, "%d", &moduleID2);
- moduleID_read1 = 0;
- moduleID_read2 = 0;
- index_read1 = 0;
- index_read2 = 0;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID1) {
- moduleID_read1 = l1;
- }
- if (listModule.at(l1)->moduleID == moduleID2) {
- moduleID_read2 = l1;
- }
- }
- for (l1 = 0; l1 < listModule.at(moduleID_read1)->portList.count(); l1++) {
- if ((listModule.at(moduleID_read1)->portList.at(l1)->index == index1)
- && (listModule.at(moduleID_read1)->portList.at(l1)->dir == PORT_IN)) {
- index_read1 = l1;
- }
- }
- for (l1 = 0; l1 < listModule.at(moduleID_read2)->portList.count(); l1++) {
- if ((listModule.at(moduleID_read2)->portList.at(l1)->index == index2)
- && (listModule.at(moduleID_read2)->portList.at(l1)->dir == PORT_OUT)) {
- index_read2 = l1;
- }
- }
- listModule.at(moduleID_read1)->portList.at(index_read1)->connectTo(listModule.at(moduleID_read2)->portList.at(index_read2));
- listModule.at(moduleID_read2)->portList.at(index_read2)->connectTo(listModule.at(moduleID_read1)->portList.at(index_read1));
- }
- if (qs.contains("FSlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &isLogInt);
- fscanf(f, "%d", &sliderMin);
- fscanf(f, "%d", &sliderMax);
- fscanf(f, "%d", &midiSign);
- isLog = isLogInt == 1;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setLogMode(isLog);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->updateValue(value);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setLogMode(isLog);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setNewMin(sliderMin);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setNewMax(sliderMax);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("ISlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->slider->setValue((int)value);
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("LSlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->slider->setValue((int)value);
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("ComboBox", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->comboBox->setCurrentItem(value);
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("CheckBox", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->checkBox->setChecked(value==1);
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("MIDI", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &type);
- fscanf(f, "%d", &ch);
- fscanf(f, "%d", ¶m);
- MidiController *midiController = new MidiController(type, ch, param);
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- midiIndex = midiWidget->midiControllerList.find(midiController);
- delete(midiController);
- midiController = midiWidget->midiControllerList.at(midiIndex);
- }
- if (qs.contains("FSMIDI", false)) {
- listModule.at(l1)->configDialog->midiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("ISMIDI", false)) {
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("LSMIDI", false)) {
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("CMIDI", false)) {
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->connectToController(midiController);
- }
- if (qs.contains("TMIDI", false)) {
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->connectToController(midiController);
- }
- }
- if (qs.contains("#PARA#", false)) {
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &index);
- fscanf(f, "%s", sc);
- qs = QString(sc);
- if (!qs.contains("#ARAP#", false)) {
- para = QString(sc) + " ";
- } else {
- para = "\n";
- }
- while (!qs.contains("#ARAP#", false)) {
- fscanf(f, "%s", sc);
- qs = QString(sc);
- if (!qs.contains("#ARAP#", false)) {
- para.append(qs+" ");
- }
- }
- listTextEdit.at(textEditID)->textEdit->insertParagraph(para, index);
- }
- if (qs.contains("Frame", false)) {
- qs.truncate(0);
- do {
- fscanf(f, "%s", sc);
- qs += QString(sc);
- if (qs.right(1) != "\"") {
- qs += " ";
- }
- } while (qs.right(1) != "\"");
- qs = qs.mid(1, qs.length()-2);
- guiWidget->addFrame(qs);
- }
- if (qs.contains("Parameter", false)) {
- qs.truncate(0);
- do {
- fscanf(f, "%s", sc);
- qs += QString(sc);
- if (qs.right(1) != "\"") {
- qs += " ";
- }
- } while (qs.right(1) != "\"");
- qs = qs.mid(1, qs.length()-2);
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- guiWidget->addParameter(listModule.at(l1)->configDialog->midiGUIcomponentList.at(index), qs);
- if (listModule.at(l1)->configDialog->midiGUIcomponentList.at(index)->componentType == GUIcomponentType_slider) {
- fscanf(f, "%d", &sliderMin);
- fscanf(f, "%d", &sliderMax);
- fscanf(f, "%d", &isLogInt);
- ((MidiSlider *)guiWidget->parameterList.last())->setNewMin(sliderMin);
- ((MidiSlider *)guiWidget->parameterList.last())->setNewMax(sliderMax);
- ((MidiSlider *)guiWidget->parameterList.last())->setLogMode(isLogInt == 1);
- }
- break;
- }
- }
- }
- if (qs.contains("Program", false)) {
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- if (index != currentProgram) {
- currentProgram = index;
- guiWidget->setPresetCount(currentProgram + 1);
- }
- guiWidget->presetList[currentProgram].append(value);
- }
- }
- if (guiWidget->presetCount) {
- guiWidget->setCurrentPreset(0);
- }
- fclose(f);
- loadingPatch = false;
- }
- synthdata->doSynthesis = true;
- if (!synthdata->withJack) {
- if (restartSynth && !synth->running()) {
- synth->start();
- } else {
- fprintf(stderr, "Audio thread is already running...\n");
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- } else {
- fprintf(stderr, "Capture thread is already running...\n");
- }
- }
- }
- midiWidget->followConfig = followConfig;
-}
-
-void ModularSynth::save() {
-
- Port *port[2];
- int l1, l2, l3, value;
- FILE *f;
- QString config_fn, qs;
- QValueList<int>::iterator it;
-
- if (!(config_fn = QString(QFileDialog::getSaveFileName(savePath, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- if (!(f = fopen(config_fn, "w"))) {
- QMessageBox::information( this, "AlsaModularSynth", "Could not save file.");
- } else {
- for (l1 = 0; l1 < listModule.count(); l1++) {
- fprintf(f, "Module %d %d %d %d ", (int)listModule.at(l1)->M_type, listModule.at(l1)->moduleID,
- listModule.at(l1)->x(), listModule.at(l1)->y());
- switch(listModule.at(l1)->M_type) {
- case M_type_custom:
- break;
- case M_type_vca:
- fprintf(f, "%d 0\n", (int)((M_vca *)listModule.at(l1))->expMode);
- break;
- case M_type_mix:
- fprintf(f, "%d 0\n", ((M_mix *)listModule.at(l1))->in_channels);
- break;
- case M_type_stereomix:
- fprintf(f, "%d 0\n", ((M_stereomix *)listModule.at(l1))->in_channels);
- break;
- case M_type_vcorgan:
- fprintf(f, "%d 0\n", ((M_vcorgan *)listModule.at(l1))->oscCount);
- break;
- case M_type_dynamicwaves:
- fprintf(f, "%d 0\n", ((M_dynamicwaves *)listModule.at(l1))->oscCount);
- break;
- case M_type_seq:
- fprintf(f, "%d 0\n", ((M_seq *)listModule.at(l1))->seqLen);
- break;
- case M_type_ladspa:
- fprintf(f, "%d %s %s\n", 2 * (int)((M_ladspa *)listModule.at(l1))->isPoly
- + (int)((M_ladspa *)listModule.at(l1))->hasExtCtrlPorts,
- synthdata->ladspa_lib_name[((M_ladspa *)listModule.at(l1))->ladspaDesFuncIndex].latin1(),
- ((M_ladspa *)listModule.at(l1))->pluginName.latin1());
- break;
- case M_type_scquantizer:
- qs = ((M_scquantizer *)listModule.at(l1))->sclname.latin1();
- if (qs.contains("/")) {
- qs = qs.mid(qs.findRev("/") + 1);
- }
- fprintf(f, "%s\n", qs.latin1());
- break;
- case M_type_scmcv:
- qs = ((M_scmcv *)listModule.at(l1))->sclname.latin1();
- if (qs.contains("/")) {
- qs = qs.mid(qs.findRev("/") + 1);
- }
- fprintf(f, "%s\n", qs.latin1());
- break;
- default:
- fprintf(f, "0 0\n");
- break;
- }
- for (l2 = 0; l2 < listModule.at(l1)->portList.count(); l2++) {
- port[0] = listModule.at(l1)->portList.at(l2);
- if ((port[0]->dir == PORT_IN) && port[0]->connectedPortList.count()) {
- port[1] = port[0]->connectedPortList.at(0);
- fprintf(f, "Port %d %d %d %d\n", port[0]->index, port[1]->index,
- ((Module *)port[0]->parentModule)->moduleID, ((Module *)port[1]->parentModule)->moduleID);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiSliderList.count(); l2++) {
- fprintf(f, "FSlider %d %d %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->isLog,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->minValue(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->maxValue(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "FSMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->intMidiSliderList.count(); l2++) {
- fprintf(f, "ISlider %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "ISMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->floatIntMidiSliderList.count(); l2++) {
- fprintf(f, "LSlider %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "LSMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiComboBoxList.count(); l2++) {
- fprintf(f, "ComboBox %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->comboBox->currentItem(),
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "CMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiCheckBoxList.count(); l2++) {
- fprintf(f, "CheckBox %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- (int)(listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->checkBox->isChecked()),
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "TMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- }
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- fprintf(f, "Comment %d %d %d %d %d %d\n", listTextEdit.at(l1)->textEditID, l1,
- listTextEdit.at(l1)->x(), listTextEdit.at(l1)->y(),
- listTextEdit.at(l1)->width(), listTextEdit.at(l1)->height());
- }
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- for (l2 = 0; l2 < listTextEdit.at(l1)->textEdit->paragraphs(); l2++) {
- fprintf(f, "#PARA# %d %d %d\n", listTextEdit.at(l1)->textEditID, l1, l2);
- fprintf(f, "%s\n", listTextEdit.at(l1)->textEdit->text(l2).latin1());
- fprintf(f, "#ARAP#\n");
- }
- }
-
- for (l1 = 0; l1 < guiWidget->frameBoxList.count(); l1++) {
- fprintf(f, "Frame \"%s\"\n", guiWidget->frameBoxList.at(l1)->name());
- for (l2 = 0; l2 < guiWidget->parameterList.count(); l2++) {
- if (guiWidget->parameterList.at(l2)->parent() == guiWidget->frameBoxList.at(l1)) {
- fprintf(f, "Parameter \"%s\" %d %d ", guiWidget->parameterList.at(l2)->name(),
- ((Module *)guiWidget->parameterList.at(l2)->parentModule)->moduleID,
- guiWidget->parameterList.at(l2)->midiGUIcomponentListIndex);
- if (guiWidget->parameterList.at(l2)->componentType == GUIcomponentType_slider) {
- fprintf(f, "%d %d %d\n", ((MidiSlider *)guiWidget->parameterList.at(l2))->slider->minValue(),
- ((MidiSlider *)guiWidget->parameterList.at(l2))->slider->maxValue(),
- ((MidiSlider *)guiWidget->parameterList.at(l2))->isLog);
- } else {
- fprintf(f, "\n");
- }
- }
- }
- }
-
- for (l1 = 0; l1 < guiWidget->presetCount; l1++) {
- for (it = guiWidget->presetList[l1].begin(); it != guiWidget->presetList[l1].end(); it++) {
- value = *it;
- fprintf(f, "Program %d %d\n", l1, value);
- }
- }
-
- fclose(f);
- }
-}
-
-void ModularSynth::allVoicesOff() {
-
- int l1, l2;
-
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (synthdata->notePressed[l2]) {
- synthdata->notePressed[l2] = false;
- synthdata->noteActive[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
-}
-
-void ModularSynth::cleanUpSynth() {
-
- fprintf(stderr, "Closing Synth...\n");
- if (synthdata->withJack && synthdata->jackRunning) {
- synthdata->deactivateJack();
- }
- fprintf(stderr, "Ready.\n");
-}
Deleted: ams/trunk/.#modularsynth.cpp.1.4
===================================================================
--- ams/trunk/.#modularsynth.cpp.1.4 2004-10-28 11:24:03 UTC (rev 51)
+++ ams/trunk/.#modularsynth.cpp.1.4 2004-10-28 11:24:17 UTC (rev 52)
@@ -1,2027 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <glob.h>
-#include <dlfcn.h>
-#include <qregexp.h>
-#include <qthread.h>
-#include <qwidget.h>
-#include <qstring.h>
-#include <qslider.h>
-#include <qcheckbox.h>
-#include <qlabel.h>
-#include <qpainter.h>
-#include <qpixmap.h>
-#include <qvbox.h>
-#include <qpopupmenu.h>
-#include <qpointarray.h>
-#include <qmessagebox.h>
-#include <qsocketnotifier.h>
-#include <qfiledialog.h>
-#include <qmainwindow.h>
-#include <qimage.h>
-#include <qpen.h>
-#include <qscrollview.h>
-#include <qlistview.h>
-#include <alsa/asoundlib.h>
-#include <ladspa.h>
-#include <jack/jack.h>
-#include "modularsynth.h"
-#include "port.h"
-#include "midiwidget.h"
-#include "guiwidget.h"
-#include "midicontroller.h"
-#include "ladspadialog.h"
-
-ModularSynth::ModularSynth(int poly, int periodsize, QWidget *parent, const char *name)
- : QScrollView(parent, name, Qt::WResizeNoErase | Qt::WRepaintNoErase | Qt::WStaticContents) {
-
- firstPort = true;
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- connectorStyle = CONNECTOR_BEZIER;
- aboutWidget = new QMessageBox(this);
- mainWindow = (QMainWindow *)parent;
- clientid = 0;
- portid = 0;
- jack_in_ports = 2;
- jack_out_ports = 2;
- synthdata = new SynthData(poly, periodsize);
- midiWidget = new MidiWidget(synthdata, NULL);
- midiWidget->setCaption("AlsaModularSynth Control Center");
- synthdata->midiWidget = (QObject *)midiWidget;
- guiWidget = new GuiWidget(synthdata, NULL);
- guiWidget->setCaption("AlsaModularSynth Parameter View");
- synthdata->guiWidget = (QObject *)guiWidget;
- PCMname = DEFAULT_PCMNAME;
- presetPath = "";
- ladspaDialog = new LadspaDialog(synthdata, NULL);
- QObject::connect(ladspaDialog, SIGNAL(createLadspaModule(int, int, bool, bool)),
- this, SLOT(newM_ladspa(int, int, bool, bool)));
- setPalette(QPalette(QColor(117, 67, 21), QColor(117, 67, 21)));
- loadingPatch = false;
-}
-
-ModularSynth::~ModularSynth()
-{
- delete synthdata;
-}
-
-void ModularSynth::viewportPaintEvent(QPaintEvent *pe) {
-
- QPixmap pm(visibleWidth(), visibleHeight());
- QPainter p(&pm);
- QPen *pen;
- QPointArray qpa(4);
- int l1, l2;
- Port *port[2];
- int port_x[2], port_y[2];
- QPoint port_pos[2];
- int moduleX[2], moduleY[2];
-
- pm.fill(QColor(130, 90, 25));
- p.setPen(QColor(220, 216, 216));
- pen = new QPen(QColor(220, 216, 216), 3);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- for (l2 = 0; l2 < listModule.at(l1)->portList.count(); l2++) {
- port[0] = listModule.at(l1)->portList.at(l2);
- if ((port[0]->dir == PORT_IN) && port[0]->connectedPortList.count()) {
- port[1] = port[0]->connectedPortList.at(0);
- port_pos[0] = port[0]->pos();
- port_pos[1] = port[1]->pos();
- contentsToViewport(childX(port[0]->parentModule), childY(port[0]->parentModule), moduleX[0], moduleY[0]);
- contentsToViewport(childX(port[1]->parentModule), childY(port[1]->parentModule), moduleX[1], moduleY[1]);
- port_x[0] = port_pos[0].x() + moduleX[0];
- port_x[1] = port_pos[1].x() + port[1]->width() + moduleX[1];
- port_y[0] = port_pos[0].y() + moduleY[0] + port[0]->height()/2;
- port_y[1] = port_pos[1].y() + moduleY[1] + port[1]->height()/2;
- if (connectorStyle == CONNECTOR_BEZIER) {
- qpa.setPoint(0, port_x[0], port_y[0]);
- qpa.setPoint(1, (port_x[1] - port_x[0]) / 2 + port_x[0],
- (port_y[1] - port_y[0]) / 2 + port_y[0] + 50);
- qpa.setPoint(2, port_x[1], port_y[1]);
- qpa.setPoint(3, port_x[1], port_y[1]);
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawCubicBezier(qpa);
- }
- if (connectorStyle == CONNECTOR_STRAIGHT) {
- p.drawLine(port_x[0], port_y[0], port_x[1], port_y[1]);
- }
- if (port[0]->parentModule->x() < port[1]->parentModule->x()) {
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 5, port_y[0]);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 6, port_y[0]);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawLine(port_x[0], port_y[0], port_x[0] - 7, port_y[0]);
- }
- if (port[1]->parentModule->x() > port[0]->parentModule->x()) {
- pen->setWidth(5);
- pen->setColor(QColor(150, 140, 140));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 5, port_y[1]);
- pen->setWidth(3);
- pen->setColor(QColor(180, 170, 170));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 6, port_y[1]);
- pen->setWidth(1);
- pen->setColor(QColor(220, 216, 216));
- p.setPen(*pen);
- p.drawLine(port_x[1], port_y[1], port_x[1] + 7, port_y[1]);
- }
- }
- }
- }
- bitBlt(viewport(), 0, 0, &pm);
- delete pen;
-}
-
-void ModularSynth::mousePressEvent(QMouseEvent *ev) {
-
- switch (ev->button()) {
- case Qt::LeftButton:
- break;
- case Qt::RightButton:
- break;
- case Qt::MidButton:
- break;
- default:
- break;
- }
-}
-
-void ModularSynth::mouseReleaseEvent(QMouseEvent *ev) {
-
- switch (ev->button()) {
- case Qt::LeftButton:
- break;
- case Qt::RightButton:
- break;
- case Qt::MidButton:
- if (connectorStyle == CONNECTOR_STRAIGHT) {
- connectorStyle = CONNECTOR_BEZIER;
- } else {
- connectorStyle = CONNECTOR_STRAIGHT;
- }
- repaintContents(false);
- break;
- default:
- break;
- }
-}
-
-QSize ModularSynth::sizeHint() const {
-
- return QSize(SYNTH_MINIMUM_WIDTH, SYNTH_MINIMUM_HEIGHT);
-}
-
-QSizePolicy ModularSynth::sizePolicy() const {
-
- return QSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
-}
-
-
-int ModularSynth::go(bool withJack) {
-
- synthdata->seq_handle = open_seq();
- initSeqNotifier();
- if (withJack) {
- synthdata->initJack(jack_in_ports, jack_out_ports);
- synthdata->doSynthesis = true;
- } else {
- synth = new Synth(synthdata);
- capture = new Capture(synthdata);
- synthdata->doSynthesis = true;
- synthdata->doCapture = false;
- synth->start();
- }
- return(0);
-}
-
-void ModularSynth::displayAbout() {
-
- aboutWidget->about(this, "About AlsaModularSynth", "AlsaModularSynth 1.6.0\n"
- "by Matthias Nagorni\n"
- "(c)2002-2003 SuSE AG Nuremberg\n\n"
- "Documentation and examples can be found in\n"
- "/usr/share/doc/packages/kalsatools\n\n"
- "More presets and updates are available from\n"
- "http://alsamodular.sourceforge.net"
- "\n\nAcknowledgements\n"
- "----------------------\n\n"
- "The VCF Module uses the resonant low-pass filter by Paul Kellett\n"
- "and the Cookbook formulae for audio EQ biquad filter coefficients\n"
- "by Robert Bristow-Johnson. The experimental 24 dB Lowpass filters have\n"
- "been taken from http://musicdsp.org. They are based on the CSound source\n"
- "code, the paper by Stilson/Smith and modifications by Paul Kellett\n"
- "and Timo Tossavainen. The pink noise conversion formula is by Paul\n"
- "Kellett and has been taken from http://musicdsp.org as well.\n\n"
- "The author is grateful to Takashi Iwai for instructions about ALSA.\n"
- "Klaas Freitag, Helmut Herold, Stefan Hundhammer and Arvin Schnell\n"
- "answered many questions about QT. Thanks to Jörg Arndt for valuable\n"
- "hints regarding speed optimization. Torsten Rahn has helped to\n"
- "improve the color scheme of the program. Thanks to Bernhard Kaindl\n"
- "for helpful discussion. Fons Adriaensen has contributed patches for the\n"
- "MCV and Spectrum View modules. He has also contributed many valuable ideas.\n");
- aboutWidget->raise();
-}
-
-void ModularSynth::displayMidiController() {
-
- midiWidget->show();
- midiWidget->raise();
-}
-
-void ModularSynth::displayParameterView() {
-
- guiWidget->show();
- guiWidget->raise();
-}
-
-void ModularSynth::displayLadspaPlugins() {
-
- ladspaDialog->show();
- ladspaDialog->raise();
-}
-
-int ModularSynth::setPeriodsize(int p_periodsize){
-
- synthdata->setPeriodsize(p_periodsize);
- synthdata->setCycleSize(synthdata->periodsize); // TODO allow cyclesize < periodsize
- fprintf(stderr, "Cyclesize: %d Periodsize: %d\n", synthdata->cyclesize, synthdata->periodsize);
- return(0);
-}
-
-int ModularSynth::setPeriods(int p_periods){
-
- synthdata->setPeriods(p_periods);
- return(0);
-}
-
-int ModularSynth::setRate(int p_rate){
-
- synthdata->setRate(p_rate);
- return(0);
-}
-
-int ModularSynth::setChannels(int p_channels){
-
- synthdata->setChannels(p_channels);
- return(0);
-}
-
-int ModularSynth::setPCMname(QString p_name){
-
- PCMname = p_name;
- return(0);
-}
-
-int ModularSynth::setPresetPath(QString name) {
-
- presetPath = name;
- return(0);
-}
-
-int ModularSynth::setSavePath(QString name) {
-
- savePath = name;
- return(0);
-}
-
-snd_pcm_t *ModularSynth::open_pcm(bool openCapture) {
-
- snd_pcm_t *pcm_handle;
- snd_pcm_stream_t stream;
- snd_pcm_hw_params_t *hwparams;
- int buffersize_return;
-
- stream = (openCapture) ? SND_PCM_STREAM_CAPTURE : SND_PCM_STREAM_PLAYBACK;
- if (snd_pcm_open(&pcm_handle, PCMname.latin1(), stream, 0) < 0) {
- fprintf(stderr, "Error opening PCM device %s\n", PCMname.latin1());
- exit(1);
- }
- snd_pcm_hw_params_alloca(&hwparams);
- if (snd_pcm_hw_params_any(pcm_handle, hwparams) < 0) {
- fprintf(stderr, "Can not configure this PCM device.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED) < 0) {
- fprintf(stderr, "Error setting access.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, SND_PCM_FORMAT_S16_LE) < 0) {
- fprintf(stderr, "Error setting format.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, synthdata->rate, 0) < 0) {
- fprintf(stderr, "Error setting rate.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_channels(pcm_handle, hwparams, synthdata->channels) < 0) {
- fprintf(stderr, "Error setting channels.\n");
- exit(1);
- }
- if (snd_pcm_hw_params_set_periods(pcm_handle, hwparams, synthdata->periods, 0) < 0) {
- fprintf(stderr, "Error setting periods.\n");
- exit(1);
- }
- if ((buffersize_return = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams,
- synthdata->periodsize * synthdata->periods)) < 0) {
- fprintf(stderr, "Error setting buffersize.\n");
- exit(1);
- }
- if (buffersize_return != synthdata->periodsize * synthdata->periods) {
- fprintf(stderr, "Buffersize %d is not available on your hardware. Using %d instead.\n",
- synthdata->periodsize, buffersize_return * synthdata->periods);
- setPeriodsize(buffersize_return / synthdata->periods);
- }
- if (snd_pcm_hw_params(pcm_handle, hwparams) < 0) {
- fprintf(stderr, "Error setting HW params.\n");
- exit(1);
- }
- return(pcm_handle);
-}
-
-snd_seq_t *ModularSynth::open_seq() {
-
- snd_seq_t *seq_handle;
- int l1;
- QString qs;
-
- if (snd_seq_open(&seq_handle, "hw", SND_SEQ_OPEN_DUPLEX, 0) < 0) {
- fprintf(stderr, "Error opening ALSA sequencer.\n");
- exit(1);
- }
- snd_seq_set_client_name(seq_handle, "AlsaModularSynth");
- clientid = snd_seq_client_id(seq_handle);
- if ((portid = snd_seq_create_simple_port(seq_handle, "ams",
- SND_SEQ_PORT_CAP_WRITE|SND_SEQ_PORT_CAP_SUBS_WRITE,
- SND_SEQ_PORT_TYPE_APPLICATION)) < 0) {
- fprintf(stderr, "Error creating sequencer port.\n");
- exit(1);
- }
- for (l1 = 0; l1 < 2; l1++) {
- if ((synthdata->midi_out_port[l1] = snd_seq_create_simple_port(seq_handle, "ams",
- SND_SEQ_PORT_CAP_READ|SND_SEQ_PORT_CAP_SUBS_READ,
- SND_SEQ_PORT_TYPE_APPLICATION)) < 0) {
- fprintf(stderr, "Error creating sequencer port.\n");
- exit(1);
- }
- }
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d", clientid, portid);
- mainWindow->setCaption(qs);
- synthdata->jackName.sprintf("ams_%d_%d", clientid, portid);
- return(seq_handle);
-}
-
-int ModularSynth::initSeqNotifier() {
-
- int alsaEventFd = 0;
-
- struct pollfd pfd[1];
- snd_seq_poll_descriptors(synthdata->seq_handle, pfd, 1, POLLIN);
- alsaEventFd = pfd[0].fd;
- seqNotifier = new QSocketNotifier(alsaEventFd, QSocketNotifier::Read);
- QObject::connect(seqNotifier, SIGNAL(activated(int)),
- this, SLOT(midiAction(int)));
- return(0);
-}
-
-void ModularSynth::midiAction(int fd) {
-
- snd_seq_event_t *ev;
- QString qs;
- int l1, l2, osc;
- bool noteActive, foundOsc;
- float min_e;
- MidiController *midiController;
-
- do {
- snd_seq_event_input(synthdata->seq_handle, &ev);
- if (midiWidget->isVisible()) {
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- ||(ev->type == SND_SEQ_EVENT_CONTROL14)
- ||(ev->type == SND_SEQ_EVENT_PITCHBEND)) {
- MidiController *midiController = new MidiController();
- midiController->type = ev->type;
- midiController->ch = ev->data.control.channel;
- midiController->param = (ev->type==SND_SEQ_EVENT_PITCHBEND)
- ? 0 : ev->data.control.param;
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- delete midiController;
- }
- }
- if (midiWidget->noteControllerEnabled &&((ev->type == SND_SEQ_EVENT_NOTEON)
- ||(ev->type == SND_SEQ_EVENT_NOTEOFF))) {
- MidiController *midiController = new MidiController();
- midiController->type = ev->type;
- midiController->ch = ev->data.control.channel;
- midiController->param = ev->data.note.note;
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- delete midiController;
- }
- }
- }
- if (midiWidget->followMidi) {
- for(l1 = 0; l1 < midiWidget->midiControllerList.count(); l1++) {
- midiController = midiWidget->midiControllerList.at(l1);
- if ((midiController->type == ev->type)
- &&(midiController->ch == ev->data.control.channel)) {
- if (ev->type == SND_SEQ_EVENT_PITCHBEND) {
- emit midiController->sendMidiValue((ev->data.control.value + 8192) / 128);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROL14)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value / 128);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(ev->data.note.velocity);
- midiWidget->setSelectedController(midiController);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEOFF)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(0);
- midiWidget->setSelectedController(midiController);
- }
- }
- }
- } else {
- for(l1 = 0; l1 < midiWidget->midiControllerList.count(); l1++) {
- midiController = midiWidget->midiControllerList.at(l1);
- if ((midiController->type == ev->type)
- &&(midiController->ch == ev->data.control.channel)) {
- if (ev->type == SND_SEQ_EVENT_PITCHBEND) {
- emit midiController->sendMidiValue((ev->data.control.value + 8192) / 128);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROL14)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value / 128);
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER)
- && (midiController->param == ev->data.control.param)) {
- emit midiController->sendMidiValue(ev->data.control.value);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(ev->data.note.velocity);
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEOFF)
- && (midiController->param == ev->data.note.note)) {
- emit midiController->sendMidiValue(0);
- }
- }
- }
- }
- if (((ev->type == SND_SEQ_EVENT_NOTEON) || (ev->type == SND_SEQ_EVENT_NOTEOFF))
- && ((synthdata->midiChannel < 0) || (synthdata->midiChannel == ev->data.control.channel))) {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- noteActive = false;
- for (l1 = 0; l1 < synthdata->listM_env.count(); l1++) {
- if (((M_env *)synthdata->listM_env.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_vcenv.count(); l1++) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_advenv.count(); l1++) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- for (l1 = 0; l1 < synthdata->listM_dynamicwaves.count(); l1++) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->noteActive[l2]) {
- noteActive = true;
- }
- }
- synthdata->noteActive[l2] = noteActive || synthdata->notePressed[l2];
- }
- if ((ev->type == SND_SEQ_EVENT_NOTEON) && (ev->data.note.velocity > 0)) {
- foundOsc = false;
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (!synthdata->noteActive[l2]) {
- foundOsc = true;
- synthdata->noteActive[l2] = true;
- synthdata->notePressed[l2] = true;
- synthdata->velocity[l2] = ev->data.note.velocity;
- synthdata->channel[l2] = ev->data.note.channel;
- synthdata->notes[l2] = ev->data.note.note;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOnEvent(l2);
- }
- break;
- }
- }
- if ((synthdata->listM_advenv.count()
- || synthdata->listM_env.count()
- || synthdata->listM_vcenv.count()
- || synthdata->listM_dynamicwaves.count())
- && !foundOsc) {
- min_e = 1.0;
- osc = 0;
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- for (l1 = 0; l1 < synthdata->listM_dynamicwaves.count(); l1++) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->noteActive[l2]) {
- if (((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->e[l2][0] < min_e) {
- min_e = ((M_dynamicwaves *)synthdata->listM_dynamicwaves.at(l1))->e[l2][0];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_env.count(); l1++) {
- if (((M_env *)synthdata->listM_env.at(l1))->noteActive[l2]) {
- if (((M_env *)synthdata->listM_env.at(l1))->e[l2] < min_e) {
- min_e = ((M_env *)synthdata->listM_env.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_vcenv.count(); l1++) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->noteActive[l2]) {
- if (((M_vcenv *)synthdata->listM_vcenv.at(l1))->e[l2] < min_e) {
- min_e = ((M_vcenv *)synthdata->listM_vcenv.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- for (l1 = 0; l1 < synthdata->listM_advenv.count(); l1++) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->noteActive[l2]) {
- if (((M_advenv *)synthdata->listM_advenv.at(l1))->e[l2] < min_e) {
- min_e = ((M_advenv *)synthdata->listM_advenv.at(l1))->e[l2];
- osc = l2;
- }
- }
- }
- }
- synthdata->noteActive[osc] = true;
- synthdata->notePressed[osc] = true;
- synthdata->velocity[osc] = ev->data.note.velocity;
- synthdata->channel[osc] = ev->data.note.channel;
- synthdata->notes[osc] = ev->data.note.note;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOnEvent(osc);
- }
- }
- } else {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if ((synthdata->notes[l2] == ev->data.note.note)
- && (synthdata->channel[l2] == ev->data.note.channel)) {
- synthdata->notePressed[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
- }
- }
- if ((ev->type == SND_SEQ_EVENT_CONTROLLER) && (ev->data.control.param == MIDI_CTL_ALL_NOTES_OFF)) {
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (synthdata->notePressed[l2] && (synthdata->channel[l2] == ev->data.note.channel)) {
- synthdata->notePressed[l2] = false;
- synthdata->noteActive[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
- }
- if (ev->type == SND_SEQ_EVENT_PGMCHANGE) {
- guiWidget->setCurrentPreset(ev->data.control.value);
- }
- for (l1 = 0; l1 < synthdata->listM_advmcv.count(); l1++) {
- switch (ev->type) {
- case SND_SEQ_EVENT_CHANPRESS:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->aftertouchEvent(ev->data.note.channel, ev->data.control.value);
- break;
- case SND_SEQ_EVENT_PITCHBEND:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->pitchbendEvent(ev->data.note.channel, ev->data.control.value);
- break;
- case SND_SEQ_EVENT_CONTROLLER:
- ((M_advmcv *)synthdata->listM_advmcv.at(l1))->controllerEvent(ev->data.note.channel, ev->data.control.param, ev->data.control.value);
- break;
- }
- }
- snd_seq_free_event(ev);
- } while (snd_seq_event_input_pending(synthdata->seq_handle, 0) > 0);
-}
-
-void ModularSynth::initPorts(Module *m) {
-
- int l1;
-
- for (l1 = 0; l1 < m->portList.count(); l1++) {
- QObject::connect(m->portList.at(l1), SIGNAL(portClicked()),
- this, SLOT(portSelected()));
- QObject::connect(m->portList.at(l1), SIGNAL(portDisconnected()),
- this, SLOT(updatePortConnections()));
- }
-}
-
-void ModularSynth::initNewModule(Module *m) {
-
- int cx, cy;
-
- addChild(m);
- viewportToContents((visibleWidth()-m->width())>>1, (visibleHeight()-m->height())>>1, cx, cy);
- moveChild(m, cx, cy);
- m->show();
- QObject::connect(m, SIGNAL(dragged(QPoint)), this, SLOT(moveModule(QPoint)));
- QObject::connect(m, SIGNAL(removeModule()), this, SLOT(deleteModule()));
- listModule.append(m);
- if (!loadingPatch) {
- midiWidget->addModule(m);
- }
- initPorts(m);
-}
-
-void ModularSynth::new_textEdit() {
-
- int cx, cy;
-
- TextEdit *te = new TextEdit(viewport(), "textEdit", synthdata);
- addChild(te);
- viewportToContents((visibleWidth()-te->width())>>1, (visibleHeight()-te->height())>>1, cx, cy);
- moveChild(te, cx, cy);
- te->show();
- QObject::connect(te, SIGNAL(dragged(QPoint)), this, SLOT(moveTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(sizeDragged(QPoint)), this, SLOT(resizeTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(removeTextEdit()), this, SLOT(deleteTextEdit()));
- listTextEdit.append(te);
-}
-
-void ModularSynth::new_textEdit(int x, int y, int w, int h) {
-
- TextEdit *te = new TextEdit(viewport(), "textEdit", synthdata);
- addChild(te);
- te->setFixedSize(w, h);
- moveChild(te, x, y);
- te->show();
- QObject::connect(te, SIGNAL(dragged(QPoint)), this, SLOT(moveTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(sizeDragged(QPoint)), this, SLOT(resizeTextEdit(QPoint)));
- QObject::connect(te, SIGNAL(removeTextEdit()), this, SLOT(deleteTextEdit()));
- listTextEdit.append(te);
-}
-
-void ModularSynth::startSynth() {
-
- if (!synthdata->withJack) {
- synthdata->doSynthesis = true;
- if (!synth->running()) {
- synth->start();
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- }
- }
- } else {
- synthdata->doSynthesis = true;
-// if (!synthdata->jackRunning && (synthdata->jackOutCount + synthdata->jackInCount > 0)) {
-// synthdata->activateJack();
-// }
- }
-}
-
-void ModularSynth::stopSynth() {
-
- synthdata->doSynthesis = false;
- synthdata->doCapture = false;
-// if (synthdata->withJack) {
-// synthdata->deactivateJack();
-// }
-}
-
-void ModularSynth::newM_seq(int seqLen) {
-
- M_seq *m = new M_seq(seqLen, viewport(), "M_seq", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_seq_8() {
-
- newM_seq(8);
-}
-
-void ModularSynth::newM_seq_12() {
-
- newM_seq(12);
-}
-
-void ModularSynth::newM_seq_16() {
-
- newM_seq(16);
-}
-
-void ModularSynth::newM_seq_24() {
-
- newM_seq(24);
-}
-
-void ModularSynth::newM_seq_32() {
-
- newM_seq(32);
-}
-
-void ModularSynth::newM_vcorgan(int oscCount) {
-
- M_vcorgan *m = new M_vcorgan(oscCount, viewport(), "M_vcorgan", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcorgan_4() {
-
- newM_vcorgan(4);
-}
-
-void ModularSynth::newM_vcorgan_6() {
-
- newM_vcorgan(6);
-}
-
-void ModularSynth::newM_vcorgan_8() {
-
- newM_vcorgan(8);
-}
-
-void ModularSynth::newM_dynamicwaves(int oscCount) {
-
- M_dynamicwaves *m = new M_dynamicwaves(oscCount, viewport(), "M_dynamicwaves", synthdata);
- synthdata->listM_dynamicwaves.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_dynamicwaves_4() {
-
- newM_dynamicwaves(4);
-}
-
-void ModularSynth::newM_dynamicwaves_6() {
-
- newM_dynamicwaves(6);
-}
-
-void ModularSynth::newM_dynamicwaves_8() {
-
- newM_dynamicwaves(8);
-}
-
-void ModularSynth::newM_mcv() {
-
- M_mcv *m = new M_mcv(viewport(), "M_mcv", synthdata);
- synthdata->listM_mcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_advmcv() {
-
- M_advmcv *m = new M_advmcv(viewport(), "M_advmcv", synthdata);
- synthdata->listM_advmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scmcv() {
-
- M_scmcv *m = new M_scmcv(viewport(), "M_scmcv", synthdata);
- synthdata->listM_scmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scmcv(QString *p_scalaName) {
-
- M_scmcv *m = new M_scmcv(viewport(), "M_scmcv", synthdata, p_scalaName);
- synthdata->listM_scmcv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_env() {
-
- M_env *m = new M_env(viewport(), "M_env", synthdata);
- synthdata->listM_env.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcenv() {
-
- M_vcenv *m = new M_vcenv(viewport(), "M_vcenv", synthdata);
- synthdata->listM_vcenv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_advenv() {
-
- M_advenv *m = new M_advenv(viewport(), "M_advenv", synthdata);
- synthdata->listM_advenv.append(m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vco() {
-
- M_vco *m = new M_vco(viewport(), "M_vco", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vca_lin() {
-
- M_vca *m = new M_vca(false, viewport(), "M_vca", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vca_exp() {
-
- M_vca *m = new M_vca(true, viewport(), "M_vca", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_lfo() {
-
- M_lfo *m = new M_lfo(viewport(), "M_lfo", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_noise() {
-
- M_noise *m = new M_noise(viewport(), "M_noise", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_ringmod() {
-
- M_ringmod *m = new M_ringmod(viewport(), "M_ringmod", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_inv() {
-
- M_inv *m = new M_inv(viewport(), "M_inv", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_conv() {
-
- M_conv *m = new M_conv(viewport(), "M_conv", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_cvs() {
-
- M_cvs *m = new M_cvs(viewport(), "M_cvs", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_sh() {
-
- M_sh *m = new M_sh(viewport(), "M_sh", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcswitch() {
-
- M_vcswitch *m = new M_vcswitch(viewport(), "M_vcswitch", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_slew() {
-
- M_slew *m = new M_slew(viewport(), "M_slew", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_quantizer() {
-
- M_quantizer *m = new M_quantizer(viewport(), "M_quantizer", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scquantizer(QString *p_scalaName) {
-
- M_scquantizer *m = new M_scquantizer(viewport(), "M_scquantizer", synthdata, p_scalaName);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_scquantizer() {
-
- M_scquantizer *m = new M_scquantizer(viewport(), "M_scquantizer", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_delay() {
-
- M_delay *m = new M_delay(viewport(), "M_delay", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_mix(int in_channels) {
-
- M_mix *m = new M_mix(in_channels, viewport(), "M_mix", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_stereomix(int in_channels) {
-
- M_stereomix *m = new M_stereomix(in_channels, viewport(), "M_stereomix", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_mix_2() {
-
- newM_mix(2);
-}
-
-void ModularSynth::newM_mix_4() {
-
- newM_mix(4);
-}
-
-void ModularSynth::newM_mix_8() {
-
- newM_mix(8);
-}
-
-void ModularSynth::newM_stereomix_2() {
-
- newM_stereomix(2);
-}
-
-void ModularSynth::newM_stereomix_4() {
-
- newM_stereomix(4);
-}
-
-void ModularSynth::newM_stereomix_8() {
-
- newM_stereomix(8);
-}
-
-void ModularSynth::newM_ladspa(int p_ladspaDesFuncIndex, int n, bool p_newLadspaPoly, bool p_extCtrlPorts) {
-
- QString qs;
-
- qs.sprintf("%s", synthdata->ladspa_dsc_func_list[p_ladspaDesFuncIndex](n)->Name);
- M_ladspa *m = new M_ladspa(viewport(), "M_ladspa", synthdata, p_ladspaDesFuncIndex, n, p_newLadspaPoly, p_extCtrlPorts);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_out() {
-
- if (!synthdata->moduleOutCount) {
- synthdata->pcm_handle = open_pcm(false);
- }
- M_out *m = new M_out(viewport(), "M_out", synthdata);
- synthdata->outModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->moduleOutCount++;
-}
-
-void ModularSynth::newM_wavout() {
-
- M_wavout *m = new M_wavout(viewport(), "M_wavout", synthdata);
- synthdata->wavoutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_midiout() {
-
- M_midiout *m = new M_midiout(viewport(), "M_midiout", synthdata);
- synthdata->midioutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_jackout() {
-
- M_jackout *m = new M_jackout(viewport(), "M_jackout", synthdata);
- synthdata->jackoutModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->jackOutCount++;
-// if (!synthdata->jackRunning) {
-// synthdata->activateJack();
-// }
-}
-void ModularSynth::newM_jackin() {
-
- M_jackin *m = new M_jackin(viewport(), "M_jackin", synthdata);
- synthdata->jackinModuleList.append((QObject *)m);
- initNewModule((Module *)m);
- synthdata->jackInCount++;
-// if (!synthdata->jackRunning) {
-// synthdata->activateJack();
-// }
-}
-
-void ModularSynth::newM_scope() {
-
- M_scope *m = new M_scope(viewport(), "M_scope", synthdata);
- synthdata->scopeModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_spectrum() {
-
- M_spectrum *m = new M_spectrum(viewport(), "M_spectrum", synthdata);
- synthdata->spectrumModuleList.append((QObject *)m);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_in() {
-
- if (!synthdata->moduleInCount) {
- synthdata->pcm_capture_handle = open_pcm(true);
- synthdata->doCapture = synthdata->doSynthesis;
- if (!capture->running()) {
- capture->start();
- }
- }
- synthdata->moduleInCount++;
- M_in *m = new M_in(viewport(), "M_in", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::newM_vcf() {
-
- M_vcf *m = new M_vcf(viewport(), "M_vcf", synthdata);
- initNewModule((Module *)m);
-}
-
-void ModularSynth::moveModule(QPoint pos) {
-
- int l1;
- Module *m;
- int cx, cy;
-
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if ((m=listModule.at(l1)) == sender()) {
- viewportToContents(pos.x() - m->getMousePressPos().x() + m->pos().x(),
- pos.y() - m->getMousePressPos().y() + m->pos().y(),
- cx, cy);
- moveChild(m, cx, cy);
- }
- }
-}
-
-void ModularSynth::moveTextEdit(QPoint pos) {
-
- int l1;
- TextEdit *te;
- int cx, cy;
-
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- if ((te=listTextEdit.at(l1)) == sender()) {
- viewportToContents(pos.x() - te->getMousePressPos().x() + te->pos().x(),
- pos.y() - te->getMousePressPos().y() + te->pos().y(),
- cx, cy);
- moveChild(te, cx, cy);
- }
- }
-}
-
-void ModularSynth::resizeTextEdit(QPoint pos) {
-
- int l1;
- TextEdit *te;
- int cx, cy;
-
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- if ((te=listTextEdit.at(l1)) == sender()) {
- cx = pos.x();
- cy = pos.y();
- if ((cx > 200) && (cy > 170)) {
- te->setFixedSize(cx + 3, cy + 3);
- }
- }
- }
-}
-
-void ModularSynth::portSelected() {
-
- if (firstPort) {
- firstPort = false;
- connectingPort[0] = (Port *)sender();
- connectingPort[0]->highlighted = true;
- connectingPort[0]->repaint(false);
- } else {
- firstPort = true;
- connectingPort[1] = (Port *)sender();
- connectingPort[0]->highlighted = false;
- connectingPort[0]->repaint(false);
- connectingPort[1]->highlighted = false;
- connectingPort[1]->repaint(false);
- if ((((connectingPort[0]->dir == PORT_IN) && (connectingPort[1]->dir == PORT_OUT))
- ||((connectingPort[1]->dir == PORT_IN) && (connectingPort[0]->dir == PORT_OUT)))
- && (connectingPort[0]->parentModule != connectingPort[1]->parentModule)) {
- connectingPort[0]->connectTo(connectingPort[1]);
- connectingPort[1]->connectTo(connectingPort[0]);
- repaintContents(false);
- } else {
- printf("Connection refused.\n");
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- }
- }
-}
-
-void ModularSynth::updatePortConnections() {
-
- repaintContents(false);
-}
-
-void ModularSynth::deleteModule() {
-
- Module *m;
-
- connectingPort[0] = NULL;
- connectingPort[1] = NULL;
- firstPort = true;
- m = (Module *)sender();
- midiWidget->deleteModule(m);
- if (m->M_type == M_type_env) {
- synthdata->listM_env.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_vcenv) {
- synthdata->listM_vcenv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_advenv) {
- synthdata->listM_advenv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_dynamicwaves) {
- synthdata->listM_dynamicwaves.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_mcv) {
- synthdata->listM_mcv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_advmcv) {
- synthdata->listM_advmcv.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_out) {
- synthdata->moduleOutCount--;
- if (!synthdata->moduleOutCount) {
- sleep(1);
- snd_pcm_close(synthdata->pcm_handle);
- }
- synthdata->outModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_jackout) {
- synthdata->jackOutCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackoutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_jackin) {
- synthdata->jackInCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackinModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_wavout) {
- synthdata->wavoutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_midiout) {
- synthdata->midioutModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_scope) {
- synthdata->scopeModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_spectrum) {
- synthdata->spectrumModuleList.removeRef((QObject *)sender());
- }
- if (m->M_type == M_type_in) {
- synthdata->moduleInCount--;
- if (!synthdata->moduleInCount) {
- synthdata->doCapture = false;
- sleep(1);
- snd_pcm_close(synthdata->pcm_capture_handle);
- }
- }
- listModule.removeRef(m);
- delete(m);
-}
-
-void ModularSynth::deleteTextEdit() {
-
- listTextEdit.removeRef((TextEdit *)sender());
- delete((TextEdit *)sender());
-}
-
-void ModularSynth::deleteTextEdit(TextEdit *te) {
-
- delete(te);
-}
-
-void ModularSynth::deleteModule(Module *m) {
-
- midiWidget->deleteModule(m);
- if (m->M_type == M_type_env) {
- synthdata->listM_env.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_vcenv) {
- synthdata->listM_vcenv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_advenv) {
- synthdata->listM_advenv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_dynamicwaves) {
- synthdata->listM_dynamicwaves.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_mcv) {
- synthdata->listM_mcv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_advmcv) {
- synthdata->listM_advmcv.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_out) {
- synthdata->moduleOutCount--;
- if (!synthdata->moduleOutCount) {
- sleep(1);
- snd_pcm_close(synthdata->pcm_handle);
- }
- synthdata->outModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_jackout) {
- synthdata->jackOutCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackoutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_jackin) {
- synthdata->jackInCount--;
-// if (synthdata->jackOutCount + synthdata->jackInCount == 0) {
-// synthdata->deactivateJack();
-// }
- synthdata->jackinModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_wavout) {
- synthdata->wavoutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_midiout) {
- synthdata->midioutModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_scope) {
- synthdata->scopeModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_spectrum) {
- synthdata->spectrumModuleList.removeRef((QObject *)m);
- }
- if (m->M_type == M_type_in) {
- synthdata->moduleInCount--;
- if (!synthdata->moduleInCount) {
- synthdata->doCapture = false;
- sleep(1);
- snd_pcm_close(synthdata->pcm_capture_handle);
- }
- }
- delete(m);
-}
-
-void ModularSynth::clearConfig() {
-
- int l1;
- bool restartSynth;
- QString qs;
-
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d", clientid, portid);
- mainWindow->setCaption(qs);
- restartSynth = synthdata->doSynthesis;
- synthdata->doSynthesis = false;
- synthdata->doCapture = false;
- if (!synthdata->withJack) {
- while(synth->running()) {
- sleep(1);
- }
- } else {
-// synthdata->deactivateJack();
-// sleep(1);
- }
- guiWidget->clearGui();
-// delete guiWidget;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- deleteModule(listModule.at(l1));
- }
- listModule.clear();
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- deleteTextEdit(listTextEdit.at(l1));
- }
- listTextEdit.clear();
- synthdata->moduleID = 0;
- synthdata->moduleCount = 0;
-// guiWidget = new GuiWidget(synthdata, NULL);
-// guiWidget->setCaption("AlsaModularSynth Parameter View");
-// synthdata->guiWidget = (QObject *)guiWidget;
- if (restartSynth) {
- synthdata->doSynthesis = true;
- if (!synthdata->withJack) {
- if (!synth->running()) {
- synth->start();
- } else {
- fprintf(stderr, "Audio thread is already running...\n");
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- } else {
- fprintf(stderr, "Capture thread is already running...\n");
- }
- }
- }
- }
-}
-
-void ModularSynth::load() {
-
- QString config_fn;
-
- if (presetPath.isEmpty()) {
- if (!(config_fn = QString(QFileDialog::getOpenFileName(QString::null, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- } else {
- if (!(config_fn = QString(QFileDialog::getOpenFileName(presetPath, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- }
- load(&config_fn);
-}
-
-void ModularSynth::load(QString *presetName) {
-
- int l1, l2;
- int M_type, moduleID, index, value, x, y, w, h, subID1, subID2;
- int index1, index2, moduleID1, moduleID2, midiSign;
- int index_read1, index_read2, moduleID_read1, moduleID_read2;
- int type, ch, param, isLogInt, midiIndex, sliderMin, sliderMax;
- FILE *f;
- QString config_fn, qs, qs2, ladspaLibName, pluginName, para, scalaName;
- char sc[2048];
- bool restartSynth, isLog, ladspaLoadErr, commentFlag, followConfig;
- int newLadspaPolyFlag, textEditID;
- Module *m;
- int currentProgram;
-
- restartSynth = synthdata->doSynthesis;
- synthdata->doSynthesis = false;
- followConfig = midiWidget->followConfig;
- midiWidget->followConfig = false;
- config_fn = *presetName;
- currentProgram = -1;
- if (!(f = fopen(config_fn, "r"))) {
- QMessageBox::information( this, "AlsaModularSynth", "Could not open file.");
- } else {
- clearConfig();
- qs2 = config_fn.mid(config_fn.findRev('/') + 1);
- qs.sprintf("AlsaModularSynth 1.6.0 - %d:%d - %s", clientid, portid, qs2.latin1());
- mainWindow->setCaption(qs);
- ladspaLoadErr = false;
- commentFlag = false;
- loadingPatch = true;
- while(fscanf(f, "%s", sc) != EOF) {
- qs = QString(sc);
- if (qs.contains("#PARA#", false)) {
- commentFlag = true;
- }
- if (qs.contains("#ARAP#", false)) {
- commentFlag = false;
- }
- if (qs.contains("Module", false) && !commentFlag) {
- fscanf(f, "%d", &M_type);
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &x);
- fscanf(f, "%d", &y);
- switch ((M_typeEnum)M_type) {
- case M_type_ladspa:
- fscanf(f, "%d", &newLadspaPolyFlag);
- fscanf(f, "%s", sc);
- ladspaLibName = QString(sc);
- fgets(sc, 2048, f);
- sc[strlen(sc)-1] = '\0';
- pluginName = QString(sc+1);
- fprintf(stderr, "Loading LADSPA plugin \"%s\" from library \"%s\".\n", pluginName.latin1(), ladspaLibName.latin1());
- if (!synthdata->getLadspaIDs(ladspaLibName, pluginName, &subID1, &subID2)) {
- sprintf(sc, "Could not find LADSPA plugin \"%s\" from library \"%s\".\n", pluginName.latin1(), ladspaLibName.latin1());
- QMessageBox::information( this, "AlsaModularSynth", QString(sc));
- ladspaLoadErr = true;
- }
- break;
- case M_type_scquantizer:
- fscanf(f, "%s", &sc);
- scalaName = QString(sc);
- break;
- case M_type_scmcv:
- fscanf(f, "%s", &sc);
- scalaName = QString(sc);
- break;
- default:
- fscanf(f, "%d", &subID1);
- fscanf(f, "%d", &subID2);
- break;
- }
- switch((M_typeEnum)M_type) {
- case M_type_custom:
- break;
- case M_type_vco:
- newM_vco();
- break;
- case M_type_vca:
- if (subID1) {
- newM_vca_exp();
- } else {
- newM_vca_lin();
- }
- break;
- case M_type_vcf:
- newM_vcf();
- break;
- case M_type_lfo:
- newM_lfo();
- break;
- case M_type_noise:
- newM_noise();
- break;
- case M_type_delay:
- newM_delay();
- break;
- case M_type_seq:
- newM_seq(subID1);
- break;
- case M_type_env:
- newM_env();
- break;
- case M_type_vcenv:
- newM_vcenv();
- break;
- case M_type_advenv:
- newM_advenv();
- break;
- case M_type_mcv:
- newM_mcv();
- break;
- case M_type_advmcv:
- newM_advmcv();
- break;
- case M_type_scmcv:
- newM_scmcv(&scalaName);
- break;
- case M_type_ringmod:
- newM_ringmod();
- break;
- case M_type_inv:
- newM_inv();
- break;
- case M_type_conv:
- newM_conv();
- break;
- case M_type_sh:
- newM_sh();
- break;
- case M_type_vcswitch:
- newM_vcswitch();
- break;
- case M_type_cvs:
- newM_cvs();
- break;
- case M_type_slew:
- newM_slew();
- break;
- case M_type_quantizer:
- newM_quantizer();
- break;
- case M_type_scquantizer:
- newM_scquantizer(&scalaName);
- break;
- case M_type_mix:
- newM_mix(subID1);
- break;
- case M_type_stereomix:
- newM_stereomix(subID1);
- break;
- case M_type_vcorgan:
- newM_vcorgan(subID1);
- break;
- case M_type_dynamicwaves:
- newM_dynamicwaves(subID1);
- break;
- case M_type_ladspa:
- if (!ladspaLoadErr) {
- newM_ladspa(subID1, subID2, newLadspaPolyFlag & 2, newLadspaPolyFlag & 1);
- }
- break;
- case M_type_out:
- if (synthdata->withJack) {
- newM_jackout();
- } else {
- newM_out();
- }
- break;
- case M_type_jackout:
- if (synthdata->withJack) {
- newM_jackout();
- } else {
- newM_out();
- }
- break;
- case M_type_jackin:
- if (synthdata->withJack) {
- newM_jackin();
- } else {
- newM_in();
- }
- break;
- case M_type_wavout:
- newM_wavout();
- break;
- case M_type_midiout:
- newM_midiout();
- break;
- case M_type_scope:
- newM_scope();
- break;
- case M_type_spectrum:
- newM_spectrum();
- break;
- case M_type_in:
- if (synthdata->withJack) {
- newM_jackin();
- } else {
- newM_in();
- }
- break;
- }
- m = listModule.at(listModule.count()-1);
- moveChild(m, x, y);
- m->moduleID=moduleID;
- qs = m->configDialog->caption();
- qs2 = qs.left(qs.findRev(" "));
- qs.sprintf(" %d", moduleID);
- m->configDialog->setCaption(qs2+qs);
- midiWidget->addModule(m);
- if (synthdata->moduleID <= moduleID) {
- synthdata->moduleID = moduleID+1;
- }
- }
- if (qs.contains("Comment", false) && !commentFlag) {
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &textEditID); // TODO textEditID is not needed yet
- fscanf(f, "%d", &x);
- fscanf(f, "%d", &y);
- fscanf(f, "%d", &w);
- fscanf(f, "%d", &h);
- new_textEdit(x, y, w, h);
- }
- }
- rewind(f);
- while((fscanf(f, "%s", sc) != EOF) && !ladspaLoadErr) {
- qs = QString(sc);
- if (qs.contains("Port", false)) {
- fscanf(f, "%d", &index1);
- fscanf(f, "%d", &index2);
- fscanf(f, "%d", &moduleID1);
- fscanf(f, "%d", &moduleID2);
- moduleID_read1 = 0;
- moduleID_read2 = 0;
- index_read1 = 0;
- index_read2 = 0;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID1) {
- moduleID_read1 = l1;
- }
- if (listModule.at(l1)->moduleID == moduleID2) {
- moduleID_read2 = l1;
- }
- }
- for (l1 = 0; l1 < listModule.at(moduleID_read1)->portList.count(); l1++) {
- if ((listModule.at(moduleID_read1)->portList.at(l1)->index == index1)
- && (listModule.at(moduleID_read1)->portList.at(l1)->dir == PORT_IN)) {
- index_read1 = l1;
- }
- }
- for (l1 = 0; l1 < listModule.at(moduleID_read2)->portList.count(); l1++) {
- if ((listModule.at(moduleID_read2)->portList.at(l1)->index == index2)
- && (listModule.at(moduleID_read2)->portList.at(l1)->dir == PORT_OUT)) {
- index_read2 = l1;
- }
- }
- listModule.at(moduleID_read1)->portList.at(index_read1)->connectTo(listModule.at(moduleID_read2)->portList.at(index_read2));
- listModule.at(moduleID_read2)->portList.at(index_read2)->connectTo(listModule.at(moduleID_read1)->portList.at(index_read1));
- }
- if (qs.contains("FSlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &isLogInt);
- fscanf(f, "%d", &sliderMin);
- fscanf(f, "%d", &sliderMax);
- fscanf(f, "%d", &midiSign);
- isLog = isLogInt == 1;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setLogMode(isLog);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->updateValue(value);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setLogMode(isLog);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setNewMin(sliderMin);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->setNewMax(sliderMax);
- listModule.at(l1)->configDialog->midiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("ISlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->slider->setValue((int)value);
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("LSlider", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->slider->setValue((int)value);
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("ComboBox", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->comboBox->setCurrentItem(value);
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("CheckBox", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- fscanf(f, "%d", &midiSign);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->checkBox->setChecked(value==1);
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->midiSign = midiSign;
- break;
- }
- }
- }
- if (qs.contains("MIDI", false)) {
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &type);
- fscanf(f, "%d", &ch);
- fscanf(f, "%d", ¶m);
- MidiController *midiController = new MidiController(type, ch, param);
- if (!midiWidget->midiControllerList.contains(midiController)) {
- midiWidget->addMidiController(midiController);
- } else {
- midiIndex = midiWidget->midiControllerList.find(midiController);
- delete(midiController);
- midiController = midiWidget->midiControllerList.at(midiIndex);
- }
- if (qs.contains("FSMIDI", false)) {
- listModule.at(l1)->configDialog->midiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("ISMIDI", false)) {
- listModule.at(l1)->configDialog->intMidiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("LSMIDI", false)) {
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(index)->connectToController(midiController);
- }
- if (qs.contains("CMIDI", false)) {
- listModule.at(l1)->configDialog->midiComboBoxList.at(index)->connectToController(midiController);
- }
- if (qs.contains("TMIDI", false)) {
- listModule.at(l1)->configDialog->midiCheckBoxList.at(index)->connectToController(midiController);
- }
- }
- if (qs.contains("#PARA#", false)) {
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &textEditID);
- fscanf(f, "%d", &index);
- fscanf(f, "%s", sc);
- qs = QString(sc);
- if (!qs.contains("#ARAP#", false)) {
- para = QString(sc) + " ";
- } else {
- para = "\n";
- }
- while (!qs.contains("#ARAP#", false)) {
- fscanf(f, "%s", sc);
- qs = QString(sc);
- if (!qs.contains("#ARAP#", false)) {
- para.append(qs+" ");
- }
- }
- listTextEdit.at(textEditID)->textEdit->insertParagraph(para, index);
- }
- if (qs.contains("Frame", false)) {
- qs.truncate(0);
- do {
- fscanf(f, "%s", sc);
- qs += QString(sc);
- if (qs.right(1) != "\"") {
- qs += " ";
- }
- } while (qs.right(1) != "\"");
- qs = qs.mid(1, qs.length()-2);
- guiWidget->addFrame(qs);
- }
- if (qs.contains("Parameter", false)) {
- qs.truncate(0);
- do {
- fscanf(f, "%s", sc);
- qs += QString(sc);
- if (qs.right(1) != "\"") {
- qs += " ";
- }
- } while (qs.right(1) != "\"");
- qs = qs.mid(1, qs.length()-2);
- fscanf(f, "%d", &moduleID);
- fscanf(f, "%d", &index);
- for (l1 = 0; l1 < listModule.count(); l1++) {
- if (listModule.at(l1)->moduleID == moduleID) {
- guiWidget->addParameter(listModule.at(l1)->configDialog->midiGUIcomponentList.at(index), qs);
- if (listModule.at(l1)->configDialog->midiGUIcomponentList.at(index)->componentType == GUIcomponentType_slider) {
- fscanf(f, "%d", &sliderMin);
- fscanf(f, "%d", &sliderMax);
- fscanf(f, "%d", &isLogInt);
- ((MidiSlider *)guiWidget->parameterList.last())->setNewMin(sliderMin);
- ((MidiSlider *)guiWidget->parameterList.last())->setNewMax(sliderMax);
- ((MidiSlider *)guiWidget->parameterList.last())->setLogMode(isLogInt == 1);
- }
- break;
- }
- }
- }
- if (qs.contains("Program", false)) {
- fscanf(f, "%d", &index);
- fscanf(f, "%d", &value);
- if (index != currentProgram) {
- currentProgram = index;
- guiWidget->setPresetCount(currentProgram + 1);
- }
- guiWidget->presetList[currentProgram].append(value);
- }
- }
- if (guiWidget->presetCount) {
- guiWidget->setCurrentPreset(0);
- }
- fclose(f);
- loadingPatch = false;
- }
- synthdata->doSynthesis = true;
- if (!synthdata->withJack) {
- if (restartSynth && !synth->running()) {
- synth->start();
- } else {
- fprintf(stderr, "Audio thread is already running...\n");
- }
- if (synthdata->moduleInCount) {
- synthdata->doCapture = true;
- if (!capture->running()) {
- capture->start();
- } else {
- fprintf(stderr, "Capture thread is already running...\n");
- }
- }
- }
- midiWidget->followConfig = followConfig;
-}
-
-void ModularSynth::save() {
-
- Port *port[2];
- int l1, l2, l3, value;
- FILE *f;
- QString config_fn, qs;
- QValueList<int>::iterator it;
-
- if (!(config_fn = QString(QFileDialog::getSaveFileName(savePath, "AlsaModularSynth files (*.ams)")))) {
- return;
- }
- if (!(f = fopen(config_fn, "w"))) {
- QMessageBox::information( this, "AlsaModularSynth", "Could not save file.");
- } else {
- for (l1 = 0; l1 < listModule.count(); l1++) {
- fprintf(f, "Module %d %d %d %d ", (int)listModule.at(l1)->M_type, listModule.at(l1)->moduleID,
- listModule.at(l1)->x(), listModule.at(l1)->y());
- switch(listModule.at(l1)->M_type) {
- case M_type_custom:
- break;
- case M_type_vca:
- fprintf(f, "%d 0\n", (int)((M_vca *)listModule.at(l1))->expMode);
- break;
- case M_type_mix:
- fprintf(f, "%d 0\n", ((M_mix *)listModule.at(l1))->in_channels);
- break;
- case M_type_stereomix:
- fprintf(f, "%d 0\n", ((M_stereomix *)listModule.at(l1))->in_channels);
- break;
- case M_type_vcorgan:
- fprintf(f, "%d 0\n", ((M_vcorgan *)listModule.at(l1))->oscCount);
- break;
- case M_type_dynamicwaves:
- fprintf(f, "%d 0\n", ((M_dynamicwaves *)listModule.at(l1))->oscCount);
- break;
- case M_type_seq:
- fprintf(f, "%d 0\n", ((M_seq *)listModule.at(l1))->seqLen);
- break;
- case M_type_ladspa:
- fprintf(f, "%d %s %s\n", 2 * (int)((M_ladspa *)listModule.at(l1))->isPoly
- + (int)((M_ladspa *)listModule.at(l1))->hasExtCtrlPorts,
- synthdata->ladspa_lib_name[((M_ladspa *)listModule.at(l1))->ladspaDesFuncIndex].latin1(),
- ((M_ladspa *)listModule.at(l1))->pluginName.latin1());
- break;
- case M_type_scquantizer:
- qs = ((M_scquantizer *)listModule.at(l1))->sclname.latin1();
- if (qs.contains("/")) {
- qs = qs.mid(qs.findRev("/") + 1);
- }
- fprintf(f, "%s\n", qs.latin1());
- break;
- case M_type_scmcv:
- qs = ((M_scmcv *)listModule.at(l1))->sclname.latin1();
- if (qs.contains("/")) {
- qs = qs.mid(qs.findRev("/") + 1);
- }
- fprintf(f, "%s\n", qs.latin1());
- break;
- default:
- fprintf(f, "0 0\n");
- break;
- }
- for (l2 = 0; l2 < listModule.at(l1)->portList.count(); l2++) {
- port[0] = listModule.at(l1)->portList.at(l2);
- if ((port[0]->dir == PORT_IN) && port[0]->connectedPortList.count()) {
- port[1] = port[0]->connectedPortList.at(0);
- fprintf(f, "Port %d %d %d %d\n", port[0]->index, port[1]->index,
- ((Module *)port[0]->parentModule)->moduleID, ((Module *)port[1]->parentModule)->moduleID);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiSliderList.count(); l2++) {
- fprintf(f, "FSlider %d %d %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->isLog,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->minValue(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->slider->maxValue(),
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "FSMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->intMidiSliderList.count(); l2++) {
- fprintf(f, "ISlider %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "ISMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->intMidiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->floatIntMidiSliderList.count(); l2++) {
- fprintf(f, "LSlider %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->slider->value(),
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "LSMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->floatIntMidiSliderList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiComboBoxList.count(); l2++) {
- fprintf(f, "ComboBox %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->comboBox->currentItem(),
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "CMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiComboBoxList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- for (l2 = 0; l2 < listModule.at(l1)->configDialog->midiCheckBoxList.count(); l2++) {
- fprintf(f, "CheckBox %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- (int)(listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->checkBox->isChecked()),
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiSign);
- for (l3 = 0; l3 < listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.count(); l3++) {
- fprintf(f, "TMIDI %d %d %d %d %d\n", listModule.at(l1)->moduleID, l2,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->type,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->ch,
- listModule.at(l1)->configDialog->midiCheckBoxList.at(l2)->midiControllerList.at(l3)->param);
- }
- }
- }
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- fprintf(f, "Comment %d %d %d %d %d %d\n", listTextEdit.at(l1)->textEditID, l1,
- listTextEdit.at(l1)->x(), listTextEdit.at(l1)->y(),
- listTextEdit.at(l1)->width(), listTextEdit.at(l1)->height());
- }
- for (l1 = 0; l1 < listTextEdit.count(); l1++) {
- for (l2 = 0; l2 < listTextEdit.at(l1)->textEdit->paragraphs(); l2++) {
- fprintf(f, "#PARA# %d %d %d\n", listTextEdit.at(l1)->textEditID, l1, l2);
- fprintf(f, "%s\n", listTextEdit.at(l1)->textEdit->text(l2).latin1());
- fprintf(f, "#ARAP#\n");
- }
- }
-
- for (l1 = 0; l1 < guiWidget->frameBoxList.count(); l1++) {
- fprintf(f, "Frame \"%s\"\n", guiWidget->frameBoxList.at(l1)->name());
- for (l2 = 0; l2 < guiWidget->parameterList.count(); l2++) {
- if (guiWidget->parameterList.at(l2)->parent() == guiWidget->frameBoxList.at(l1)) {
- fprintf(f, "Parameter \"%s\" %d %d ", guiWidget->parameterList.at(l2)->name(),
- ((Module *)guiWidget->parameterList.at(l2)->parentModule)->moduleID,
- guiWidget->parameterList.at(l2)->midiGUIcomponentListIndex);
- if (guiWidget->parameterList.at(l2)->componentType == GUIcomponentType_slider) {
- fprintf(f, "%d %d %d\n", ((MidiSlider *)guiWidget->parameterList.at(l2))->slider->minValue(),
- ((MidiSlider *)guiWidget->parameterList.at(l2))->slider->maxValue(),
- ((MidiSlider *)guiWidget->parameterList.at(l2))->isLog);
- } else {
- fprintf(f, "\n");
- }
- }
- }
- }
-
- for (l1 = 0; l1 < guiWidget->presetCount; l1++) {
- for (it = guiWidget->presetList[l1].begin(); it != guiWidget->presetList[l1].end(); it++) {
- value = *it;
- fprintf(f, "Program %d %d\n", l1, value);
- }
- }
-
- fclose(f);
- }
-}
-
-void ModularSynth::allVoicesOff() {
-
- int l1, l2;
-
- for (l2 = 0; l2 < synthdata->poly; l2++) {
- if (synthdata->notePressed[l2]) {
- synthdata->notePressed[l2] = false;
- synthdata->noteActive[l2] = false;
- for (l1 = 0; l1 < listModule.count(); l1++) {
- listModule.at(l1)->noteOffEvent(l2);
- }
- }
- }
-}
-
-void ModularSynth::cleanUpSynth() {
-
- fprintf(stderr, "Closing Synth...\n");
- if (synthdata->withJack && synthdata->jackRunning) {
- synthdata->deactivateJack();
- }
- fprintf(stderr, "Ready.\n");
-}
Deleted: ams/trunk/debian/.#changelog.1.3
===================================================================
--- ams/trunk/debian/.#changelog.1.3 2004-10-28 11:24:03 UTC (rev 51)
+++ ams/trunk/debian/.#changelog.1.3 2004-10-28 11:24:17 UTC (rev 52)
@@ -1,42 +0,0 @@
-ams (1.6.0-0test3) unstable; urgency=low
-
- * added watch file
- * ams will open /usr/share/ams as the default patch directory
- * removed ams.examples; all the patches are now in /usr/share/ams
- * debian/control: added dpatch and libqt3-compat-headers build dependency
-
- -- Free Ekanayaka <free@agnula.org> Thu, 4 Dec 2003 11:23:31 +0600
-
-ams (1.6.0-0test2) unstable; urgency=low
-
- * debian/ams.1: added manpage (submitted by <d.phillips@agnula.org>)
- * depends on libjack-dev instead than libjack0.71.2-dev
- * debian/ams: small script to export the correct value for LADSPA_PATH
-
- -- Andrea Glorioso <andrea.glorioso@agnula.org> Fri, 21 Nov 2003 12:08:10 +0100
-
-ams (1.6.0-0test1) unstable; urgency=low
-
- * New upstream version.
- * Using dpatch from now on.
-
- -- Andrea Glorioso <andrea.glorioso@agnula.org> Thu, 20 Nov 2003 12:16:00 +0100
-
-ams (1.5.9-1.agnula-1) unstable; urgency=low
-
- * Repackaged for AGNULA.
-
- -- Free Ekanayaka <free@centrotemporeale.it> Tue, 22 Jul 2003 11:13:36 +0200
-
-ams (1.5.9-1) unstable; urgency=low
-
- * New upstream.
-
- -- Free Ekanayaka <free@centrotemporeale.it> Fri, 4 Jul 2003 10:01:37 +0200
-
-ams (1.4.12-1) unstable; urgency=low
-
- * Initial Release.
-
- -- Free Ekanayaka <free@centrotemporeale.it> Wed, 25 Sep 2002 12:14:00 +0000
-