| @@ -136,15 +136,6 @@ $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
| moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
| tmake: Makefile | |||||
| Makefile: SpiralSynthModular.pro | |||||
| tmake SpiralSynthModular.pro -o Makefile | |||||
| dist: | |||||
| $(TAR) SpiralSynthModular.tar SpiralSynthModular.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) | |||||
| $(GZIP) SpiralSynthModular.tar | |||||
| clean: | clean: | ||||
| -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
| -rm -f *~ core | -rm -f *~ core | ||||
| @@ -105,15 +105,6 @@ $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
| moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
| tmake: Makefile | |||||
| Makefile: LADSPAPlugin.pro | |||||
| tmake LADSPAPlugin.pro -o Makefile | |||||
| dist: | |||||
| $(TAR) LADSPAPlugin.tar LADSPAPlugin.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) | |||||
| $(GZIP) LADSPAPlugin.tar | |||||
| clean: | clean: | ||||
| -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
| -rm -f *~ core | -rm -f *~ core | ||||
| @@ -129,20 +129,12 @@ void LFOPlugin::Execute() { | |||||
| } | } | ||||
| void LFOPlugin::StreamOut(ostream &s) { | void LFOPlugin::StreamOut(ostream &s) { | ||||
| s << m_Version << " " << *this; | |||||
| s << m_Version << " " << (int)m_Type << " " << m_Freq << " "; | |||||
| } | } | ||||
| void LFOPlugin::StreamIn(istream &s) { | void LFOPlugin::StreamIn(istream &s) { | ||||
| int version; | int version; | ||||
| s >> version >> *this; | |||||
| s >> version; | |||||
| s >> (int&)m_Type >> m_Freq; | |||||
| } | } | ||||
| istream &operator>> (istream &s, LFOPlugin &o) { | |||||
| s >> (int&)o.m_Type >> o.m_Freq; | |||||
| return s; | |||||
| } | |||||
| ostream &operator<< (ostream &s, LFOPlugin &o) { | |||||
| s << (int)o.m_Type << " " << o.m_Freq << " "; | |||||
| return s; | |||||
| } | |||||
| @@ -52,11 +52,6 @@ class LFOPlugin : public SpiralPlugin { | |||||
| float m_Freq; | float m_Freq; | ||||
| Sample m_Table[NUM_TABLES]; | Sample m_Table[NUM_TABLES]; | ||||
| int m_TableLength; | int m_TableLength; | ||||
| friend std::istream &operator>> (std::istream &s, LFOPlugin &o); | |||||
| friend std::ostream &operator<< (std::ostream &s, LFOPlugin &o); | |||||
| }; | }; | ||||
| std::istream &operator>> (std::istream &s, LFOPlugin &o); | |||||
| std::ostream &operator<< (std::ostream &s, LFOPlugin &o); | |||||
| #endif | #endif | ||||
| @@ -102,7 +102,7 @@ void MeterPluginGUI::draw() { | |||||
| m_BufSize = m_GUICH->GetInt("DataSize"); | m_BufSize = m_GUICH->GetInt("DataSize"); | ||||
| delete[] m_Data; | delete[] m_Data; | ||||
| m_Data = new float[m_BufSize]; | m_Data = new float[m_BufSize]; | ||||
| } | |||||
| } | |||||
| if (m_GUICH->GetBool ("DataReady")) m_GUICH->GetData ("AudioData", m_Data); | if (m_GUICH->GetBool ("DataReady")) m_GUICH->GetData ("AudioData", m_Data); | ||||
| else memset (m_Data, 0, m_BufSize * sizeof (float)); | else memset (m_Data, 0, m_BufSize * sizeof (float)); | ||||
| @@ -118,7 +118,7 @@ void MeterPluginGUI::draw() { | |||||
| Meter->value (datum); | Meter->value (datum); | ||||
| Meter->redraw(); | Meter->redraw(); | ||||
| // Yeuck - have I REALLY used stdio for that - this is supposed to be C++ | // Yeuck - have I REALLY used stdio for that - this is supposed to be C++ | ||||
| //snprintf (label_buf, 64, "%1.5f", *m_Data); | |||||
| snprintf (label_buf, 64, "%1.5f", datum); | |||||
| char* c = label_buf; | char* c = label_buf; | ||||
| for (int display=0; display<8; display++) { | for (int display=0; display<8; display++) { | ||||
| Digits[display] -> dp (off); | Digits[display] -> dp (off); | ||||
| @@ -96,15 +96,6 @@ $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
| moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
| tmake: Makefile | |||||
| Makefile: NoteSnapPlugin.pro | |||||
| tmake NoteSnapPlugin.pro -o Makefile | |||||
| dist: | |||||
| $(TAR) NoteSnapPlugin.tar NoteSnapPlugin.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) | |||||
| $(GZIP) NoteSnapPlugin.tar | |||||
| clean: | clean: | ||||
| -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
| -rm -f *~ core | -rm -f *~ core | ||||
| @@ -99,15 +99,6 @@ $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
| moc: $(SRCMOC) | moc: $(SRCMOC) | ||||
| tmake: Makefile | |||||
| Makefile: StereoMixerPlugin.pro | |||||
| tmake StereoMixerPlugin.pro -o Makefile | |||||
| dist: | |||||
| $(TAR) StereoMixerPlugin.tar StereoMixerPlugin.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) | |||||
| $(GZIP) StereoMixerPlugin.tar | |||||
| clean: | clean: | ||||
| -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | ||||
| -rm -f *~ core | -rm -f *~ core | ||||
| @@ -0,0 +1,147 @@ | |||||
| ####### Compiler, tools and options | |||||
| CC = gcc | |||||
| CXX = g++ | |||||
| CFLAGS = @CFLAGS@ @FLTK_CFLAGS@ | |||||
| CXXFLAGS= @CXXFLAGS@ @FLTK_CXXFLAGS@ | |||||
| INCPATH = -I/usr/X11R6/include | |||||
| LINK = g++ -shared | |||||
| LFLAGS = | |||||
| LIBS = @FLTK_LIBS@ | |||||
| MOC = moc | |||||
| UIC = | |||||
| TAR = tar -cf | |||||
| GZIP = gzip -9f | |||||
| INSTALL = @INSTALL@ | |||||
| ###### Autoconf variables | |||||
| prefix = @prefix@ | |||||
| exec_prefix = @exec_prefix@ | |||||
| bindir = @bindir@ | |||||
| sbindir = @sbindir@ | |||||
| libexecdir = @libexecdir@ | |||||
| datadir = @datadir@ | |||||
| sysconfdir = @sysconfdir@ | |||||
| sharedstatedir = @sharedstatedir@ | |||||
| localstatedir = @localstatedir@ | |||||
| libdir = @libdir@ | |||||
| infodir = @infodir@ | |||||
| mandir = @mandir@ | |||||
| ####### Files | |||||
| HEADERS = TranslatePlugin.h \ | |||||
| TranslatePluginGUI.h \ | |||||
| ../SpiralPlugin.h \ | |||||
| ../SpiralPluginGUI.h \ | |||||
| ../../ChannelHandler.h \ | |||||
| ../../Sample.h \ | |||||
| ../../../GUI/Widgets/SpiralGUI.H | |||||
| SOURCES = TranslatePlugin.C \ | |||||
| TranslatePluginGUI.C \ | |||||
| ../SpiralPlugin.C \ | |||||
| ../SpiralPluginGUI.C \ | |||||
| ../../ChannelHandler.C \ | |||||
| ../../Sample.C \ | |||||
| ../../../GUI/Widgets/SpiralGUI.C | |||||
| OBJECTS = TranslatePlugin.o \ | |||||
| TranslatePluginGUI.o \ | |||||
| ../SpiralPlugin.o \ | |||||
| ../SpiralPluginGUI.o \ | |||||
| ../../ChannelHandler.o \ | |||||
| ../../Sample.o \ | |||||
| ../../../GUI/Widgets/SpiralGUI.o | |||||
| INTERFACES = | |||||
| UICDECLS = | |||||
| UICIMPLS = | |||||
| SRCMOC = | |||||
| OBJMOC = | |||||
| DIST = | |||||
| TARGET = TranslatePlugin.so | |||||
| ####### Implicit rules | |||||
| .SUFFIXES: .cpp .cxx .cc .C .c | |||||
| .cpp.o: | |||||
| $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | |||||
| .cxx.o: | |||||
| $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | |||||
| .cc.o: | |||||
| $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | |||||
| .C.o: | |||||
| $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< | |||||
| .c.o: | |||||
| $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< | |||||
| ####### Build rules | |||||
| all: $(TARGET) | |||||
| $(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) | |||||
| $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS) | |||||
| moc: $(SRCMOC) | |||||
| dist: | |||||
| $(TAR) TranslatePlugin.tar TranslatePlugin.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST) | |||||
| $(GZIP) TranslatePlugin.tar | |||||
| clean: | |||||
| -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET) | |||||
| -rm -f *~ core | |||||
| install: | |||||
| $(INSTALL) $(TARGET) $(libdir)/SpiralPlugins | |||||
| ####### Sub-libraries | |||||
| ###### Combined headers | |||||
| ####### Compile | |||||
| ../SpiralPlugin.o: ../SpiralPlugin.C \ | |||||
| ../SpiralPlugin.h \ | |||||
| ../../ChannelHandler.h \ | |||||
| ../../Sample.h | |||||
| ../SpiralPluginGUI.o: ../SpiralPluginGUI.C \ | |||||
| ../SpiralPluginGUI.h \ | |||||
| ../SpiralPlugin.h \ | |||||
| ../../ChannelHandler.h \ | |||||
| ../../../GUI/Widgets/SpiralGUI.H | |||||
| ../../../GUI/Widgets/SpiralGUI.o: ../../../GUI/Widgets/SpiralGUI.C \ | |||||
| ../../../GUI/Widgets/SpiralGUI.H | |||||
| ../../Sample.o: ../../Sample.C \ | |||||
| ../../Sample.h | |||||
| TranslatePlugin.o: TranslatePlugin.C \ | |||||
| TranslatePlugin.h \ | |||||
| TranslatePluginGUI.h \ | |||||
| ../../NoteTable.h \ | |||||
| ../SpiralPlugin.h \ | |||||
| ../SpiralPluginGUI.h \ | |||||
| SpiralIcon.xpm | |||||
| TranslatePluginGUI.o: TranslatePluginGUI.C \ | |||||
| TranslatePlugin.h \ | |||||
| TranslatePluginGUI.h \ | |||||
| ../SpiralPlugin.h \ | |||||
| ../SpiralPluginGUI.h \ | |||||
| ../../../GUI/Widgets/SpiralGUI.H | |||||
| ../../ChannelHandler.o: ../../ChannelHandler.C \ | |||||
| ../../ChannelHandler.h | |||||
| @@ -0,0 +1,321 @@ | |||||
| /* XPM */ | |||||
| static char * SpiralIcon_xpm[] = { | |||||
| "36 36 282 2", | |||||
| " c None", | |||||
| ". c #8B889B", | |||||
| "+ c #9C99AA", | |||||
| "@ c #ADAAB9", | |||||
| "# c #837F94", | |||||
| "$ c #7D7990", | |||||
| "% c #9995A7", | |||||
| "& c #67627C", | |||||
| "* c #CDCBD4", | |||||
| "= c #FCFCFC", | |||||
| "- c #D1D0D8", | |||||
| "; c #FFFFFF", | |||||
| "> c #F1F1F3", | |||||
| ", c #848095", | |||||
| "' c #2A2248", | |||||
| ") c #CFCED6", | |||||
| "! c #68637D", | |||||
| "~ c #ABA8B6", | |||||
| "{ c #D5D3DB", | |||||
| "] c #9490A2", | |||||
| "^ c #C4C4C4", | |||||
| "/ c #1D1C1D", | |||||
| "( c #313134", | |||||
| "_ c #EEEFEE", | |||||
| ": c #FBFBFB", | |||||
| "< c #EFEFEF", | |||||
| "[ c #7B768D", | |||||
| "} c #464060", | |||||
| "| c #DEDEE1", | |||||
| "1 c #CBCACC", | |||||
| "2 c #EEEEF1", | |||||
| "3 c #79758C", | |||||
| "4 c #FBFBFC", | |||||
| "5 c #A2A2A2", | |||||
| "6 c #000000", | |||||
| "7 c #F5F6F5", | |||||
| "8 c #747474", | |||||
| "9 c #2A2A2B", | |||||
| "0 c #403958", | |||||
| "a c #7D788F", | |||||
| "b c #C0BEC8", | |||||
| "c c #BCBAC6", | |||||
| "d c #BCBAC5", | |||||
| "e c #625C79", | |||||
| "f c #2B2932", | |||||
| "g c #191919", | |||||
| "h c #CCCCCC", | |||||
| "i c #807B91", | |||||
| "j c #3B3556", | |||||
| "k c #F2F2F4", | |||||
| "l c #929292", | |||||
| "m c #0E0E0E", | |||||
| "n c #BFBFBF", | |||||
| "o c #111111", | |||||
| "p c #100E15", | |||||
| "q c #868689", | |||||
| "r c #FEFDFE", | |||||
| "s c #D9D7DE", | |||||
| "t c #9C98AA", | |||||
| "u c #FDFCFD", | |||||
| "v c #DDDDDD", | |||||
| "w c #575755", | |||||
| "x c #5E5E5E", | |||||
| "y c #C4C2CD", | |||||
| "z c #423C5C", | |||||
| "A c #F0F0F2", | |||||
| "B c #939393", | |||||
| "C c #555555", | |||||
| "D c #4A4A4A", | |||||
| "E c #010101", | |||||
| "F c #282828", | |||||
| "G c #C2C2C2", | |||||
| "H c #DBDAE0", | |||||
| "I c #615C78", | |||||
| "J c #F6F6F7", | |||||
| "K c #DADADA", | |||||
| "L c #545454", | |||||
| "M c #0F0F0F", | |||||
| "N c #B8B8B8", | |||||
| "O c #48445C", | |||||
| "P c #2B2B2C", | |||||
| "Q c #181900", | |||||
| "R c #D3D3D3", | |||||
| "S c #C1BEC9", | |||||
| "T c #474060", | |||||
| "U c #31294D", | |||||
| "V c #716C85", | |||||
| "W c #65607A", | |||||
| "X c #625D78", | |||||
| "Y c #D5D4DB", | |||||
| "Z c #F7F7F7", | |||||
| "` c #8B8B8B", | |||||
| " . c #161616", | |||||
| ".. c #0C0C0C", | |||||
| "+. c #111300", | |||||
| "@. c #151600", | |||||
| "#. c #050500", | |||||
| "$. c #191A00", | |||||
| "%. c #393643", | |||||
| "&. c #47415F", | |||||
| "*. c #9692A4", | |||||
| "=. c #D9D8DE", | |||||
| "-. c #F7F7F8", | |||||
| ";. c #918DA0", | |||||
| ">. c #B8B5C1", | |||||
| ",. c #D1D1D1", | |||||
| "'. c #252525", | |||||
| "). c #0A0B00", | |||||
| "!. c #101000", | |||||
| "~. c #070800", | |||||
| "{. c #727175", | |||||
| "]. c #FEFEFF", | |||||
| "^. c #9D99AA", | |||||
| "/. c #DBD9E0", | |||||
| "(. c #E9E9E9", | |||||
| "_. c #CBCBCB", | |||||
| ":. c #E0E0E0", | |||||
| "<. c #6C6C6C", | |||||
| "[. c #0B0B00", | |||||
| "}. c #515151", | |||||
| "|. c #A6A6A7", | |||||
| "1. c #827E93", | |||||
| "2. c #615C77", | |||||
| "3. c #EAEAED", | |||||
| "4. c #DFDFE1", | |||||
| "5. c #060700", | |||||
| "6. c #060600", | |||||
| "7. c #FFFF00", | |||||
| "8. c #1E1D24", | |||||
| "9. c #9894A7", | |||||
| "0. c #B1AEBB", | |||||
| "a. c #69686F", | |||||
| "b. c #000001", | |||||
| "c. c #101100", | |||||
| "d. c #615C76", | |||||
| "e. c #5F5A75", | |||||
| "f. c #413E4D", | |||||
| "g. c #020203", | |||||
| "h. c #050600", | |||||
| "i. c #1A1A1C", | |||||
| "j. c #C3C1CB", | |||||
| "k. c #9D9D9D", | |||||
| "l. c #202020", | |||||
| "m. c #383838", | |||||
| "n. c #4C4C4C", | |||||
| "o. c #C9C7D0", | |||||
| "p. c #F1F1F1", | |||||
| "q. c #F8F8F8", | |||||
| "r. c #232323", | |||||
| "s. c #050408", | |||||
| "t. c #AEACB9", | |||||
| "u. c #FEFEFE", | |||||
| "v. c #1D1D1D", | |||||
| "w. c #B7B5C1", | |||||
| "x. c #9390A2", | |||||
| "y. c #BBBBBB", | |||||
| "z. c #414141", | |||||
| "A. c #030303", | |||||
| "B. c #28272A", | |||||
| "C. c #F4F4F6", | |||||
| "D. c #605B76", | |||||
| "E. c #736E86", | |||||
| "F. c #D8D8D8", | |||||
| "G. c #727272", | |||||
| "H. c #101010", | |||||
| "I. c #848486", | |||||
| "J. c #CCCBD3", | |||||
| "K. c #747087", | |||||
| "L. c #6D6881", | |||||
| "M. c #1C1C1C", | |||||
| "N. c #242424", | |||||
| "O. c #656566", | |||||
| "P. c #F6F6F6", | |||||
| "Q. c #E8E6EA", | |||||
| "R. c #706B84", | |||||
| "S. c #E3E1E6", | |||||
| "T. c #474746", | |||||
| "U. c #151515", | |||||
| "V. c #C8C8C8", | |||||
| "W. c #AEAEAE", | |||||
| "X. c #080808", | |||||
| "Y. c #373639", | |||||
| "Z. c #FDFCFE", | |||||
| "`. c #ABA8B7", | |||||
| " + c #F1F0F3", | |||||
| ".+ c #6D6980", | |||||
| "++ c #0A090E", | |||||
| "@+ c #95929E", | |||||
| "#+ c #0A0810", | |||||
| "$+ c #0D0D0D", | |||||
| "%+ c #050505", | |||||
| "&+ c #5B5A5C", | |||||
| "*+ c #F7F6F7", | |||||
| "=+ c #F4F3F5", | |||||
| "-+ c #908C9F", | |||||
| ";+ c #C8C6D0", | |||||
| ">+ c #837E96", | |||||
| ",+ c #86868A", | |||||
| "'+ c #070608", | |||||
| ")+ c #ECEBEE", | |||||
| "!+ c #5B5571", | |||||
| "~+ c #646078", | |||||
| "{+ c #AFAFB0", | |||||
| "]+ c #454545", | |||||
| "^+ c #363636", | |||||
| "/+ c #7A7A7A", | |||||
| "(+ c #C8C8C9", | |||||
| "_+ c #212025", | |||||
| ":+ c #060607", | |||||
| "<+ c #969699", | |||||
| "[+ c #FAFAFA", | |||||
| "}+ c #F8F8F9", | |||||
| "|+ c #A29EAF", | |||||
| "1+ c #F7F6F8", | |||||
| "2+ c #F0F0F1", | |||||
| "3+ c #B8B7B9", | |||||
| "4+ c #E4E4E4", | |||||
| "5+ c #FDFDFD", | |||||
| "6+ c #A5A2B2", | |||||
| "7+ c #3B3456", | |||||
| "8+ c #A8A5B4", | |||||
| "9+ c #525252", | |||||
| "0+ c #848387", | |||||
| "a+ c #CDCDCD", | |||||
| "b+ c #8D899C", | |||||
| "c+ c #494262", | |||||
| "d+ c #68627C", | |||||
| "e+ c #40395A", | |||||
| "f+ c #ECECEC", | |||||
| "g+ c #020202", | |||||
| "h+ c #B4B5B5", | |||||
| "i+ c #0B0B0B", | |||||
| "j+ c #313232", | |||||
| "k+ c #E3E3E3", | |||||
| "l+ c #B1AEBC", | |||||
| "m+ c #BDBBC6", | |||||
| "n+ c #3C3556", | |||||
| "o+ c #898599", | |||||
| "p+ c #EDEDED", | |||||
| "q+ c #39393A", | |||||
| "r+ c #040404", | |||||
| "s+ c #333333", | |||||
| "t+ c #F5F5F5", | |||||
| "u+ c #2B2B2B", | |||||
| "v+ c #2D2A3D", | |||||
| "w+ c #B6B4C1", | |||||
| "x+ c #F5F5F6", | |||||
| "y+ c #605A76", | |||||
| "z+ c #DAD8DF", | |||||
| "A+ c #F5F4F6", | |||||
| "B+ c #615B76", | |||||
| "C+ c #524D6A", | |||||
| "D+ c #E4E3E8", | |||||
| "E+ c #D5D5D5", | |||||
| "F+ c #1B1B1B", | |||||
| "G+ c #303030", | |||||
| "H+ c #AAABAB", | |||||
| "I+ c #585464", | |||||
| "J+ c #B0AEBB", | |||||
| "K+ c #A29FAF", | |||||
| "L+ c #E9E8E9", | |||||
| "M+ c #787779", | |||||
| "N+ c #0F0E15", | |||||
| "O+ c #2D2D2E", | |||||
| "P+ c #595959", | |||||
| "Q+ c #FAFAFB", | |||||
| "R+ c #807B92", | |||||
| "S+ c #B0ADBB", | |||||
| "T+ c #E8E7EB", | |||||
| "U+ c #3A3258", | |||||
| "V+ c #E6E5EA", | |||||
| "W+ c #DFDEE3", | |||||
| "X+ c #443E5E", | |||||
| "Y+ c #BAB8C4", | |||||
| "Z+ c #C1BFCA", | |||||
| "`+ c #E0E0E5", | |||||
| " @ c #D0CED6", | |||||
| ".@ c #362F52", | |||||
| "+@ c #CECCD5", | |||||
| "@@ c #413A5B", | |||||
| "#@ c #6A657F", | |||||
| "$@ c #9793A6", | |||||
| " ", | |||||
| " ", | |||||
| " ", | |||||
| " . + @ # $ % ", | |||||
| " & * = * - ; > , ' ; ; ; ) ! ", | |||||
| " ~ ; ; { ] ; ^ / ( _ ; : < [ ", | |||||
| " } | 1 2 3 4 5 6 6 7 : 8 9 0 a b ", | |||||
| " c : d e f g h i j k l 6 m ; n o 6 p q r s ", | |||||
| " t u ; v w 6 6 x y z A B 6 C ; D E 6 F G ; H ", | |||||
| " I J ; ; K L 6 6 M N O P E 6 6 6 Q Q M R S T U V W ", | |||||
| " X Y ; ; ; ; Z ` .6 ..6 6 6 6 6 +.@.#.$.%.&.*.=.-.;. ", | |||||
| " >.; ; ; ; ; ; = ,.'.6 ).!.~.6 6 6 6 6 6 E {.].; ; ^. ", | |||||
| " /.; ; (.R h _.:.<.6 [.~.6 6 6 6 6 6 6 6 6 E }.|.4 1. ", | |||||
| " 2.3.; 4...6 6 6 6 6 5.6.7.7.7.7.7.7.7.7.6 7.6 6 8.9. ", | |||||
| " V @ 0.a.b.6 6 6 6 6 c.6 7.6 6 6 6 6 6 7.6 6 7.6 ", | |||||
| " d.e.f.6 g.6 6 6 6 h.6 7.6 6 6 6 6 6 7.6 6 6 7.i. ", | |||||
| " j.; ; k.l.l.m.n.7.7.7.7.7.6 6 6 6 6 6 7.7.7.7.7.7. ", | |||||
| " o.; ; p.q.; ; ; r.6 6 6 7.6 6 6 6 6 6 7.6 6 6 7.s. ", | |||||
| " t.; ; ; ; u.; ; v.6 6 6 7.6 6 6 6 6 6 7.6 6 7.6 6 w., ", | |||||
| " x.; ; u.; : y.z.A.6 6 6 7.7.7.7.7.7.7.7.6 7.6 6 B.u.C.D. ", | |||||
| " E.; ; ; F.G.H.6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 I.; ; J.K. ", | |||||
| " L.J ; : M.6 6 6 6 N...6 6 6 6 6 6 6 6 6 6 6 6 6 O.P.; ; Q.R. ", | |||||
| " S.; ; T.6 E 6 U.V.W.X.6 6 6 6 6 6 6 6 6 6 6 6 6 Y.Z.; ; > R. ", | |||||
| " `.; +.+++6 6 W.u.; @+#+6 6 6 6 6 6 6 6 $+%+6 6 6 &+*+; ; =+-+ ", | |||||
| " R.;+! >+,+'+x ; ; )+!+~+{+l ]+6 6 6 ^+/+(+_+6 6 6 :+<+[+; ; }+@ ", | |||||
| " |+1+2+3+4+5+; 6+7+8+; P.]+6 6 E 9+; ; 0+6 6 E 6 o a+; ; = b+ ", | |||||
| " c+> ; ; ; ; ; ; d+e+; ; f+m.6 6 g+D ; ; h+i+6 6 6 j+k+; ; l+ ", | |||||
| " > ; ; ; ; m+n+o+; ; p+q+6 6 r+s+; ; t+u+6 6 v+w+; x+3 ", | |||||
| " y+z+= ; A+B+C+D+; ; E+F+6 6 g+G+; ; ; H+9+I+ ", | |||||
| " J+4 K+ X ; ; ; L+M+G+N+O+P+; ; ; u.Q+R+ ", | |||||
| " S+; ; ; ; ; T+U+V+; ; ; ; = W+X+ ", | |||||
| " Y+Z+`+4 ; ; @.@+@; ; ; s o+T ", | |||||
| " @@ #@$@o+ ", | |||||
| " ", | |||||
| " ", | |||||
| " "}; | |||||
| @@ -0,0 +1,148 @@ | |||||
| /* SpiralSound | |||||
| * Copyleft (C) 2003 Andy Preston <andy@clublinux.co.uk> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * (at your option) any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * You should have received a copy of the GNU General Public License | |||||
| * along with this program; if not, write to the Free Software | |||||
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| */ | |||||
| #include "TranslatePlugin.h" | |||||
| #include "TranslatePluginGUI.h" | |||||
| #include "SpiralIcon.xpm" | |||||
| #include "../../NoteTable.h" | |||||
| using namespace std; | |||||
| extern "C" { | |||||
| SpiralPlugin* SpiralPlugin_CreateInstance () { return new TranslatePlugin; } | |||||
| char** SpiralPlugin_GetIcon () { return SpiralIcon_xpm; } | |||||
| int SpiralPlugin_GetID () { return 121; } | |||||
| string SpiralPlugin_GetGroupName() { return "Control"; } | |||||
| } | |||||
| /////////////////////////////////////////////////////// | |||||
| float TranslatePass::Translate (float i) { | |||||
| return i; | |||||
| } | |||||
| float TranslateNoteToFreq::Translate (float i) { | |||||
| return (i + 1.0f) * (MAX_FREQ / 2); | |||||
| } | |||||
| float TranslateFreqToNote::Translate (float i) { | |||||
| return (i / MAX_FREQ * 2) - 1.0f; | |||||
| } | |||||
| float TranslateNoteToVolt::Translate (float i) { | |||||
| float Freq = (i + 1.0f) * (MAX_FREQ / 2); | |||||
| float Dif, MinDif = 30000; | |||||
| int Match=0; | |||||
| for (int c=0; c<131; c++) { | |||||
| Dif = fabs (NoteTable[c] - Freq); | |||||
| if (Dif > MinDif) break; | |||||
| MinDif = Dif; | |||||
| Match = c; | |||||
| } | |||||
| return (float)Match; | |||||
| } | |||||
| float TranslateVoltToNote::Translate (float i) { | |||||
| return (NoteTable[int (i)] / MAX_FREQ * 2) - 1.0f; | |||||
| } | |||||
| /////////////////////////////////////////////////////// | |||||
| TranslatePlugin::TranslatePlugin () : | |||||
| m_Method (tr_Pass), | |||||
| m_Translator (NULL) | |||||
| { | |||||
| m_PluginInfo.Name = "Translate"; | |||||
| m_PluginInfo.Width = 150; | |||||
| m_PluginInfo.Height = 60; | |||||
| m_PluginInfo.NumInputs = 1; | |||||
| m_PluginInfo.NumOutputs = 1; | |||||
| m_PluginInfo.PortTips.push_back ("Input"); | |||||
| m_PluginInfo.PortTips.push_back ("Output"); | |||||
| m_AudioCH->Register ("Method", &m_Method); | |||||
| SetUpTranslatorClass (); | |||||
| } | |||||
| TranslatePlugin::~TranslatePlugin () { | |||||
| if (m_Translator) delete m_Translator; | |||||
| } | |||||
| PluginInfo &TranslatePlugin::Initialise (const HostInfo *Host) { | |||||
| return SpiralPlugin::Initialise (Host); | |||||
| } | |||||
| SpiralGUIType *TranslatePlugin::CreateGUI() { | |||||
| return new TranslatePluginGUI (m_PluginInfo.Width, m_PluginInfo.Height, this, m_AudioCH, m_HostInfo); | |||||
| } | |||||
| void TranslatePlugin::SetUpTranslatorClass (void) { | |||||
| if (m_Translator) { | |||||
| delete m_Translator; | |||||
| m_Translator = NULL; | |||||
| } | |||||
| switch (m_Method) { | |||||
| case tr_Pass: | |||||
| m_Translator = new TranslatePass; | |||||
| break; | |||||
| case tr_NoteToFreq: | |||||
| m_Translator = new TranslateNoteToFreq; | |||||
| break; | |||||
| case tr_FreqToNote: | |||||
| m_Translator = new TranslateFreqToNote; | |||||
| break; | |||||
| case tr_NoteToVolt: | |||||
| m_Translator = new TranslateNoteToVolt; | |||||
| break; | |||||
| case tr_VoltToNote: | |||||
| m_Translator = new TranslateVoltToNote; | |||||
| break; | |||||
| } | |||||
| } | |||||
| void TranslatePlugin::ExecuteCommands () { | |||||
| if (m_AudioCH->IsCommandWaiting ()) { | |||||
| switch (m_AudioCH->GetCommand()) { | |||||
| case SETMETHOD: | |||||
| SetUpTranslatorClass (); | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| void TranslatePlugin::Execute () { | |||||
| for (int n=0; n<m_HostInfo->BUFSIZE; n++) { | |||||
| SetOutput (0, n, m_Translator->Translate (GetInput (0, n))); | |||||
| } | |||||
| } | |||||
| void TranslatePlugin::StreamOut (ostream &s) { | |||||
| s << m_Version << endl; | |||||
| s << m_Method; | |||||
| } | |||||
| void TranslatePlugin::StreamIn (istream &s) { | |||||
| int version; | |||||
| s >> version; | |||||
| s >> m_Method; | |||||
| SetUpTranslatorClass (); | |||||
| } | |||||
| @@ -0,0 +1,78 @@ | |||||
| /* SpiralSound | |||||
| * Copyleft (C) 2003 Andy Preston <andy@clublinux.co.uk> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * (at your option) any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * You should have received a copy of the GNU General Public License | |||||
| * along with this program; if not, write to the Free Software | |||||
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| */ | |||||
| #include "../SpiralPlugin.h" | |||||
| #include <FL/Fl_Pixmap.H> | |||||
| #ifndef TranslatePLUGIN | |||||
| #define TranslatePLUGIN | |||||
| class TranslatePlugin; | |||||
| class TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i) = 0; | |||||
| }; | |||||
| class TranslatePass : public TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i); | |||||
| }; | |||||
| class TranslateNoteToFreq : public TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i); | |||||
| }; | |||||
| class TranslateFreqToNote : public TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i); | |||||
| }; | |||||
| class TranslateNoteToVolt : public TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i); | |||||
| }; | |||||
| class TranslateVoltToNote : public TranslateClass { | |||||
| public: | |||||
| virtual float Translate (float i); | |||||
| }; | |||||
| //////////////////////////////////////////////////////////////////////// | |||||
| class TranslatePlugin : public SpiralPlugin { | |||||
| public: | |||||
| TranslatePlugin(); | |||||
| virtual ~TranslatePlugin (); | |||||
| virtual PluginInfo& Initialise (const HostInfo *Host); | |||||
| virtual SpiralGUIType* CreateGUI (); | |||||
| virtual void Execute (); | |||||
| enum GUICommands { NOCMD, SETMETHOD }; | |||||
| virtual void ExecuteCommands (); | |||||
| virtual void StreamOut (std::ostream &s); | |||||
| virtual void StreamIn (std::istream &s); | |||||
| enum TranMethod { tr_Pass, tr_NoteToFreq, tr_FreqToNote, tr_NoteToVolt, tr_VoltToNote }; | |||||
| int GetMethod (void) { return m_Method; } | |||||
| private: | |||||
| int m_Method; | |||||
| TranslateClass *m_Translator; | |||||
| void SetUpTranslatorClass (void); | |||||
| }; | |||||
| #endif | |||||
| @@ -0,0 +1,62 @@ | |||||
| /* SpiralPlugin | |||||
| * Copyleft (C) 2003 Andy Preston <andy@clublinux.co.uk> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * (at your option) any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * You should have received a copy of the GNU General Public License | |||||
| * along with this program; if not, write to the Free Software | |||||
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| */ | |||||
| #include "TranslatePluginGUI.h" | |||||
| #include <FL/fl_draw.h> | |||||
| using namespace std; | |||||
| //////////////////////////////////////////// | |||||
| TranslatePluginGUI::TranslatePluginGUI (int w, int h,TranslatePlugin *o,ChannelHandler *ch,const HostInfo *Info) : | |||||
| SpiralPluginGUI (w, h, o, ch) | |||||
| { | |||||
| m_Method = new Fl_Choice (0, 20, 150, 20, ""); | |||||
| //m_Method->color (Info->GUI_COLOUR); | |||||
| m_Method->box (FL_PLASTIC_UP_BOX); | |||||
| m_Method->textsize (10); | |||||
| m_Method->labelsize (10); | |||||
| m_Method->callback ((Fl_Callback*) cb_Method); | |||||
| m_Method->add ("Pass Through"); | |||||
| m_Method->add ("Note -> Frequency"); | |||||
| m_Method->add ("Frequency -> Note"); | |||||
| m_Method->add ("Note -> Note Number"); | |||||
| m_Method->add ("Note Number -> Note"); | |||||
| m_Method->value (0); | |||||
| add (m_Method); | |||||
| end (); | |||||
| } | |||||
| void TranslatePluginGUI::UpdateValues (SpiralPlugin *o) { | |||||
| TranslatePlugin *Plugin = (TranslatePlugin *)o; | |||||
| m_Method->value (Plugin->GetMethod ()); | |||||
| } | |||||
| inline void TranslatePluginGUI::cb_Method_i (Fl_Choice *o, void *v) { | |||||
| m_GUICH->Set ("Method", int (o->value ())); | |||||
| m_GUICH->SetCommand (TranslatePlugin::SETMETHOD); | |||||
| } | |||||
| void TranslatePluginGUI::cb_Method (Fl_Choice *o, void *v) { | |||||
| ((TranslatePluginGUI*)(o->parent ()))->cb_Method_i (o, v); | |||||
| } | |||||
| const string TranslatePluginGUI::GetHelpText (const string &loc) { | |||||
| return string("") | |||||
| + "Translates control voltages into other formats."; | |||||
| } | |||||
| @@ -0,0 +1,39 @@ | |||||
| /* SpiralPlugin | |||||
| * Copyleft (C) 2003 Andy Preston <andy@clublinux.co.uk> | |||||
| * | |||||
| * This program is free software; you can redistribute it and/or modify | |||||
| * it under the terms of the GNU General Public License as published by | |||||
| * the Free Software Foundation; either version 2 of the License, or | |||||
| * (at your option) any later version. | |||||
| * | |||||
| * This program is distributed in the hope that it will be useful, | |||||
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
| * GNU General Public License for more details. | |||||
| * | |||||
| * You should have received a copy of the GNU General Public License | |||||
| * along with this program; if not, write to the Free Software | |||||
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||||
| */ | |||||
| #include <FL/Fl.H> | |||||
| #include <FL/Fl_Choice.H> | |||||
| #include "TranslatePlugin.h" | |||||
| #include "../SpiralPluginGUI.h" | |||||
| #ifndef TranslateGUI | |||||
| #define TranslateGUI | |||||
| class TranslatePluginGUI : public SpiralPluginGUI { | |||||
| public: | |||||
| TranslatePluginGUI (int w, int h, TranslatePlugin *o, ChannelHandler *ch, const HostInfo *Info); | |||||
| virtual void UpdateValues (SpiralPlugin *o); | |||||
| protected: | |||||
| const std::string GetHelpText (const std::string &loc); | |||||
| private: | |||||
| Fl_Choice *m_Method; | |||||
| inline void cb_Method_i (Fl_Choice *o, void *v); | |||||
| static void cb_Method (Fl_Choice *o, void *v); | |||||
| }; | |||||
| #endif | |||||
| @@ -126,7 +126,7 @@ void SynthModular::ClearUp() | |||||
| if (i->second->m_Device) | if (i->second->m_Device) | ||||
| { | { | ||||
| if (i->second->m_Device->Kill()); | if (i->second->m_Device->Kill()); | ||||
| } | |||||
| } | |||||
| i->second->m_DeviceGUI->Clear(); | i->second->m_DeviceGUI->Clear(); | ||||
| if (i->second->m_DeviceGUI->GetPluginWindow()) | if (i->second->m_DeviceGUI->GetPluginWindow()) | ||||
| @@ -46,7 +46,7 @@ MeterPlugin MidiPlugin MixSwitchPlugin MixerPlugin MoogFilterPlugin MousePlugin | |||||
| NoteSnapPlugin OperatorPlugin OscillatorPlugin OutputPlugin PoshSamplerPlugin \ | NoteSnapPlugin OperatorPlugin OscillatorPlugin OutputPlugin PoshSamplerPlugin \ | ||||
| RingModPlugin SVFilterPlugin SampleHoldPlugin ScopePlugin SeqSelectorPlugin \ | RingModPlugin SVFilterPlugin SampleHoldPlugin ScopePlugin SeqSelectorPlugin \ | ||||
| SmoothPlugin SpiralLoopPlugin SplitSwitchPlugin SplitterPlugin StereoMixerPlugin \ | SmoothPlugin SpiralLoopPlugin SplitSwitchPlugin SplitterPlugin StereoMixerPlugin \ | ||||
| StreamPlugin SwitchPlugin TransposePlugin TrigPlugin WaveShaperPlugin \ | |||||
| StreamPlugin SwitchPlugin TranslatePlugin TransposePlugin TrigPlugin WaveShaperPlugin \ | |||||
| WaveTablePlugin XFadePlugin" | WaveTablePlugin XFadePlugin" | ||||
| dnl Check whether jack is present or has been disabled | dnl Check whether jack is present or has been disabled | ||||
| @@ -258,6 +258,7 @@ SpiralSound/Plugins/SplitterPlugin/Makefile | |||||
| SpiralSound/Plugins/StereoMixerPlugin/Makefile | SpiralSound/Plugins/StereoMixerPlugin/Makefile | ||||
| SpiralSound/Plugins/StreamPlugin/Makefile | SpiralSound/Plugins/StreamPlugin/Makefile | ||||
| SpiralSound/Plugins/SwitchPlugin/Makefile | SpiralSound/Plugins/SwitchPlugin/Makefile | ||||
| SpiralSound/Plugins/TranslatePlugin/Makefile | |||||
| SpiralSound/Plugins/TransposePlugin/Makefile | SpiralSound/Plugins/TransposePlugin/Makefile | ||||
| SpiralSound/Plugins/TrigPlugin/Makefile | SpiralSound/Plugins/TrigPlugin/Makefile | ||||
| SpiralSound/Plugins/WaveShaperPlugin/Makefile | SpiralSound/Plugins/WaveShaperPlugin/Makefile | ||||