Added LB302 BassSynth, 302 sample project, and modified Knob for 64bit systems.

Read plugins/lb302/README for more information.


git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@455 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Paul Giblock
2007-02-03 09:28:50 +00:00
parent a9b452f0b4
commit e4ddcea99b
12 changed files with 3068 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ SUBDIRS = \
flp_import \
kicker \
$(LADSPA_DIRS) \
lb302 \
live_tool \
midi_import \
organic \

View File

@@ -0,0 +1,972 @@
lb302.lo lb302.o: lb302.cpp ../../include/qt3support.h \
/usr/qt/3/include/qglobal.h /usr/qt/3/include/qconfig.h \
/usr/qt/3/include/qmodules.h /usr/qt/3/include/qfeatures.h \
/usr/qt/3/include/qpair.h /usr/qt/3/include/qglobal.h \
/usr/qt/3/include/qdatastream.h /usr/qt/3/include/qiodevice.h \
/usr/qt/3/include/qcstring.h /usr/qt/3/include/qmemarray.h \
/usr/qt/3/include/qgarray.h /usr/qt/3/include/qshared.h \
/usr/qt/3/include/qwinexport.h /usr/include/string.h \
/usr/include/gentoo-multilib/amd64/string.h /usr/include/features.h \
/usr/include/gentoo-multilib/amd64/features.h /usr/include/sys/cdefs.h \
/usr/include/gentoo-multilib/amd64/sys/cdefs.h \
/usr/include/bits/wordsize.h \
/usr/include/gentoo-multilib/amd64/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gentoo-multilib/amd64/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h \
/usr/include/xlocale.h /usr/include/gentoo-multilib/amd64/xlocale.h \
/usr/qt/3/include/qstring.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h \
/usr/include/limits.h /usr/include/gentoo-multilib/amd64/limits.h \
/usr/include/bits/posix1_lim.h \
/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h \
/usr/include/bits/local_lim.h \
/usr/include/gentoo-multilib/amd64/bits/local_lim.h \
/usr/include/linux/limits.h /usr/include/bits/posix2_lim.h \
/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h \
/usr/include/bits/xopen_lim.h \
/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h \
/usr/include/bits/stdio_lim.h \
/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib \
/usr/include/stdlib.h /usr/include/gentoo-multilib/amd64/stdlib.h \
/usr/include/bits/waitflags.h \
/usr/include/gentoo-multilib/amd64/bits/waitflags.h \
/usr/include/bits/waitstatus.h \
/usr/include/gentoo-multilib/amd64/bits/waitstatus.h \
/usr/include/endian.h /usr/include/gentoo-multilib/amd64/endian.h \
/usr/include/bits/endian.h \
/usr/include/gentoo-multilib/amd64/bits/endian.h \
/usr/include/sys/types.h /usr/include/gentoo-multilib/amd64/sys/types.h \
/usr/include/bits/types.h \
/usr/include/gentoo-multilib/amd64/bits/types.h \
/usr/include/bits/typesizes.h \
/usr/include/gentoo-multilib/amd64/bits/typesizes.h /usr/include/time.h \
/usr/include/gentoo-multilib/amd64/time.h /usr/include/sys/select.h \
/usr/include/gentoo-multilib/amd64/sys/select.h \
/usr/include/bits/select.h \
/usr/include/gentoo-multilib/amd64/bits/select.h \
/usr/include/bits/sigset.h \
/usr/include/gentoo-multilib/amd64/bits/sigset.h \
/usr/include/bits/time.h /usr/include/gentoo-multilib/amd64/bits/time.h \
/usr/include/sys/sysmacros.h \
/usr/include/gentoo-multilib/amd64/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h \
/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/gentoo-multilib/amd64/alloca.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio \
/usr/include/stdio.h /usr/include/gentoo-multilib/amd64/stdio.h \
/usr/include/libio.h /usr/include/gentoo-multilib/amd64/libio.h \
/usr/include/_G_config.h /usr/include/gentoo-multilib/amd64/_G_config.h \
/usr/include/wchar.h /usr/include/gentoo-multilib/amd64/wchar.h \
/usr/include/bits/wchar.h \
/usr/include/gentoo-multilib/amd64/bits/wchar.h /usr/include/gconv.h \
/usr/include/gentoo-multilib/amd64/gconv.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h \
/usr/include/bits/sys_errlist.h \
/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h \
/usr/include/bits/stdio.h \
/usr/include/gentoo-multilib/amd64/bits/stdio.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale \
/usr/include/locale.h /usr/include/gentoo-multilib/amd64/locale.h \
/usr/include/bits/locale.h \
/usr/include/gentoo-multilib/amd64/bits/locale.h \
/usr/include/langinfo.h /usr/include/gentoo-multilib/amd64/langinfo.h \
/usr/include/nl_types.h /usr/include/gentoo-multilib/amd64/nl_types.h \
/usr/include/iconv.h /usr/include/gentoo-multilib/amd64/iconv.h \
/usr/include/libintl.h /usr/include/gentoo-multilib/amd64/libintl.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/gentoo-multilib/amd64/pthread.h \
/usr/include/sched.h /usr/include/gentoo-multilib/amd64/sched.h \
/usr/include/bits/sched.h \
/usr/include/gentoo-multilib/amd64/bits/sched.h /usr/include/signal.h \
/usr/include/gentoo-multilib/amd64/signal.h /usr/include/bits/setjmp.h \
/usr/include/gentoo-multilib/amd64/bits/setjmp.h /usr/include/unistd.h \
/usr/include/gentoo-multilib/amd64/unistd.h \
/usr/include/bits/posix_opt.h \
/usr/include/gentoo-multilib/amd64/bits/posix_opt.h \
/usr/include/bits/environments.h \
/usr/include/gentoo-multilib/amd64/bits/environments.h \
/usr/include/bits/confname.h \
/usr/include/gentoo-multilib/amd64/bits/confname.h \
/usr/include/getopt.h /usr/include/gentoo-multilib/amd64/getopt.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype \
/usr/include/ctype.h /usr/include/gentoo-multilib/amd64/ctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime \
/usr/include/stdint.h /usr/include/gentoo-multilib/amd64/stdint.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc \
/usr/qt/3/include/qfileinfo.h /usr/qt/3/include/qfile.h \
/usr/qt/3/include/qdatetime.h /usr/qt/3/include/qnamespace.h \
/usr/qt/3/include/qdom.h lb302.h ../../include/instrument.h \
../../config.h ../../include/qt3support.h /usr/qt/3/include/qwidget.h \
/usr/qt/3/include/qwindowdefs.h /usr/qt/3/include/qobjectdefs.h \
/usr/qt/3/include/qobject.h /usr/qt/3/include/qevent.h \
/usr/qt/3/include/qregion.h /usr/qt/3/include/qrect.h \
/usr/qt/3/include/qsize.h /usr/qt/3/include/qpoint.h \
/usr/qt/3/include/qmime.h /usr/qt/3/include/qmap.h \
/usr/qt/3/include/qpair.h /usr/qt/3/include/qvaluelist.h \
/usr/qt/3/include/qtl.h /usr/qt/3/include/qtextstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iterator \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype \
/usr/include/wctype.h /usr/include/gentoo-multilib/amd64/wctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/list \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/map \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h \
/usr/qt/3/include/qpaintdevice.h /usr/qt/3/include/qpalette.h \
/usr/qt/3/include/qcolor.h /usr/qt/3/include/qstringlist.h \
/usr/qt/3/include/qstrlist.h /usr/qt/3/include/qptrlist.h \
/usr/qt/3/include/qglist.h /usr/qt/3/include/qptrcollection.h \
/usr/qt/3/include/qbrush.h /usr/qt/3/include/qfont.h \
/usr/qt/3/include/qfontmetrics.h /usr/qt/3/include/qfontinfo.h \
/usr/qt/3/include/qsizepolicy.h /usr/qt/3/include/qvaluevector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/vector \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc \
../../include/plugin.h /usr/qt/3/include/qstring.h \
../../include/types.h ../../include/journalling_object.h \
../../include/engine.h /usr/qt/3/include/qvariant.h \
/usr/qt/3/include/qvaluestack.h ../../include/embed.h \
/usr/qt/3/include/qpixmap.h ../../include/base64.h \
../../include/mixer.h /usr/qt/3/include/qobject.h \
/usr/qt/3/include/qmutex.h ../../include/volume.h \
../../include/panning.h ../../include/note.h ../../include/midi_time.h \
../../include/play_handle.h ../../include/effect_board.h \
../../include/led_checkbox.h ../../include/automatable_button.h \
../../include/automatable_object.h /usr/include/math.h \
/usr/include/gentoo-multilib/amd64/math.h /usr/include/bits/huge_val.h \
/usr/include/gentoo-multilib/amd64/bits/huge_val.h \
/usr/include/bits/huge_valf.h \
/usr/include/gentoo-multilib/amd64/bits/huge_valf.h \
/usr/include/bits/huge_vall.h \
/usr/include/gentoo-multilib/amd64/bits/huge_vall.h \
/usr/include/bits/inf.h /usr/include/gentoo-multilib/amd64/bits/inf.h \
/usr/include/bits/nan.h /usr/include/gentoo-multilib/amd64/bits/nan.h \
/usr/include/bits/mathdef.h \
/usr/include/gentoo-multilib/amd64/bits/mathdef.h \
/usr/include/bits/mathcalls.h \
/usr/include/gentoo-multilib/amd64/bits/mathcalls.h \
/usr/include/bits/mathinline.h \
/usr/include/gentoo-multilib/amd64/bits/mathinline.h \
../../include/automation_editor.h ../../include/automation_pattern.h \
../../include/track.h /usr/qt/3/include/qvaluelist.h \
../../include/rubberband.h ../../include/level_object.h \
../../include/xqmap.h /usr/qt/3/include/qmap.h \
../../include/templates.h /usr/qt/3/include/qtl.h \
/usr/qt/3/include/qguardedptr.h ../../include/effect_lib.h \
../../include/lmms_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream \
../../include/instrument_track.h /usr/qt/3/include/qapplication.h \
/usr/qt/3/include/qdesktopwidget.h /usr/qt/3/include/qwidget.h \
/usr/qt/3/include/qasciidict.h /usr/qt/3/include/qgdict.h \
/usr/qt/3/include/qtranslator.h /usr/qt/3/include/qpushbutton.h \
/usr/qt/3/include/qbutton.h /usr/qt/3/include/qkeysequence.h \
/usr/qt/3/include/qiconset.h /usr/qt/3/include/qpixmap.h \
/usr/qt/3/include/qpainter.h /usr/qt/3/include/qpen.h \
/usr/qt/3/include/qpointarray.h /usr/qt/3/include/qwmatrix.h \
../../include/midi_event_processor.h ../../include/gui_templates.h \
/usr/qt/3/include/qpaintdevicemetrics.h /usr/qt/3/include/qfont.h \
/usr/qt/3/include/qdesktopwidget.h ../../include/tab_widget.h \
../../include/spc_bg_hndl_widget.h ../../include/volume_knob.h \
../../include/knob.h /usr/qt/3/include/qpoint.h \
../../include/instrument.h ../../include/instrument_play_handle.h \
../../include/note_play_handle.h ../../include/basic_filters.h \
../../include/bb_track.h ../../include/instrument_track.h \
../../include/templates.h ../../include/buffer_allocator.h \
../../include/knob.h ../../src/lib/embed.cpp ../../include/qt3support.h \
/usr/qt/3/include/qimage.h ../../include/embed.h \
../../include/config_mgr.h /usr/qt/3/include/qdialog.h \
embedded_resources.h ../../include/embed.h lb302.moc \
/usr/qt/3/include/qmetaobject.h /usr/qt/3/include/qconnection.h \
/usr/qt/3/include/private/qucomextra_p.h \
/usr/qt/3/include/private/qucom_p.h /usr/qt/3/include/quuid.h
../../include/qt3support.h:
/usr/qt/3/include/qglobal.h:
/usr/qt/3/include/qconfig.h:
/usr/qt/3/include/qmodules.h:
/usr/qt/3/include/qfeatures.h:
/usr/qt/3/include/qpair.h:
/usr/qt/3/include/qglobal.h:
/usr/qt/3/include/qdatastream.h:
/usr/qt/3/include/qiodevice.h:
/usr/qt/3/include/qcstring.h:
/usr/qt/3/include/qmemarray.h:
/usr/qt/3/include/qgarray.h:
/usr/qt/3/include/qshared.h:
/usr/qt/3/include/qwinexport.h:
/usr/include/string.h:
/usr/include/gentoo-multilib/amd64/string.h:
/usr/include/features.h:
/usr/include/gentoo-multilib/amd64/features.h:
/usr/include/sys/cdefs.h:
/usr/include/gentoo-multilib/amd64/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gentoo-multilib/amd64/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gentoo-multilib/amd64/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h:
/usr/include/xlocale.h:
/usr/include/gentoo-multilib/amd64/xlocale.h:
/usr/qt/3/include/qstring.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/gentoo-multilib/amd64/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/gentoo-multilib/amd64/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h:
/usr/include/bits/stdio_lim.h:
/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib:
/usr/include/stdlib.h:
/usr/include/gentoo-multilib/amd64/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/gentoo-multilib/amd64/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/gentoo-multilib/amd64/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/gentoo-multilib/amd64/endian.h:
/usr/include/bits/endian.h:
/usr/include/gentoo-multilib/amd64/bits/endian.h:
/usr/include/sys/types.h:
/usr/include/gentoo-multilib/amd64/sys/types.h:
/usr/include/bits/types.h:
/usr/include/gentoo-multilib/amd64/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/gentoo-multilib/amd64/bits/typesizes.h:
/usr/include/time.h:
/usr/include/gentoo-multilib/amd64/time.h:
/usr/include/sys/select.h:
/usr/include/gentoo-multilib/amd64/sys/select.h:
/usr/include/bits/select.h:
/usr/include/gentoo-multilib/amd64/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/gentoo-multilib/amd64/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/gentoo-multilib/amd64/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/gentoo-multilib/amd64/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/gentoo-multilib/amd64/alloca.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio:
/usr/include/stdio.h:
/usr/include/gentoo-multilib/amd64/stdio.h:
/usr/include/libio.h:
/usr/include/gentoo-multilib/amd64/libio.h:
/usr/include/_G_config.h:
/usr/include/gentoo-multilib/amd64/_G_config.h:
/usr/include/wchar.h:
/usr/include/gentoo-multilib/amd64/wchar.h:
/usr/include/bits/wchar.h:
/usr/include/gentoo-multilib/amd64/bits/wchar.h:
/usr/include/gconv.h:
/usr/include/gentoo-multilib/amd64/gconv.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h:
/usr/include/bits/sys_errlist.h:
/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/gentoo-multilib/amd64/bits/stdio.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale:
/usr/include/locale.h:
/usr/include/gentoo-multilib/amd64/locale.h:
/usr/include/bits/locale.h:
/usr/include/gentoo-multilib/amd64/bits/locale.h:
/usr/include/langinfo.h:
/usr/include/gentoo-multilib/amd64/langinfo.h:
/usr/include/nl_types.h:
/usr/include/gentoo-multilib/amd64/nl_types.h:
/usr/include/iconv.h:
/usr/include/gentoo-multilib/amd64/iconv.h:
/usr/include/libintl.h:
/usr/include/gentoo-multilib/amd64/libintl.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/gentoo-multilib/amd64/pthread.h:
/usr/include/sched.h:
/usr/include/gentoo-multilib/amd64/sched.h:
/usr/include/bits/sched.h:
/usr/include/gentoo-multilib/amd64/bits/sched.h:
/usr/include/signal.h:
/usr/include/gentoo-multilib/amd64/signal.h:
/usr/include/bits/setjmp.h:
/usr/include/gentoo-multilib/amd64/bits/setjmp.h:
/usr/include/unistd.h:
/usr/include/gentoo-multilib/amd64/unistd.h:
/usr/include/bits/posix_opt.h:
/usr/include/gentoo-multilib/amd64/bits/posix_opt.h:
/usr/include/bits/environments.h:
/usr/include/gentoo-multilib/amd64/bits/environments.h:
/usr/include/bits/confname.h:
/usr/include/gentoo-multilib/amd64/bits/confname.h:
/usr/include/getopt.h:
/usr/include/gentoo-multilib/amd64/getopt.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype:
/usr/include/ctype.h:
/usr/include/gentoo-multilib/amd64/ctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime:
/usr/include/stdint.h:
/usr/include/gentoo-multilib/amd64/stdint.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc:
/usr/qt/3/include/qfileinfo.h:
/usr/qt/3/include/qfile.h:
/usr/qt/3/include/qdatetime.h:
/usr/qt/3/include/qnamespace.h:
/usr/qt/3/include/qdom.h:
lb302.h:
../../include/instrument.h:
../../config.h:
../../include/qt3support.h:
/usr/qt/3/include/qwidget.h:
/usr/qt/3/include/qwindowdefs.h:
/usr/qt/3/include/qobjectdefs.h:
/usr/qt/3/include/qobject.h:
/usr/qt/3/include/qevent.h:
/usr/qt/3/include/qregion.h:
/usr/qt/3/include/qrect.h:
/usr/qt/3/include/qsize.h:
/usr/qt/3/include/qpoint.h:
/usr/qt/3/include/qmime.h:
/usr/qt/3/include/qmap.h:
/usr/qt/3/include/qpair.h:
/usr/qt/3/include/qvaluelist.h:
/usr/qt/3/include/qtl.h:
/usr/qt/3/include/qtextstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iterator:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype:
/usr/include/wctype.h:
/usr/include/gentoo-multilib/amd64/wctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/list:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/map:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h:
/usr/qt/3/include/qpaintdevice.h:
/usr/qt/3/include/qpalette.h:
/usr/qt/3/include/qcolor.h:
/usr/qt/3/include/qstringlist.h:
/usr/qt/3/include/qstrlist.h:
/usr/qt/3/include/qptrlist.h:
/usr/qt/3/include/qglist.h:
/usr/qt/3/include/qptrcollection.h:
/usr/qt/3/include/qbrush.h:
/usr/qt/3/include/qfont.h:
/usr/qt/3/include/qfontmetrics.h:
/usr/qt/3/include/qfontinfo.h:
/usr/qt/3/include/qsizepolicy.h:
/usr/qt/3/include/qvaluevector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/vector:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc:
../../include/plugin.h:
/usr/qt/3/include/qstring.h:
../../include/types.h:
../../include/journalling_object.h:
../../include/engine.h:
/usr/qt/3/include/qvariant.h:
/usr/qt/3/include/qvaluestack.h:
../../include/embed.h:
/usr/qt/3/include/qpixmap.h:
../../include/base64.h:
../../include/mixer.h:
/usr/qt/3/include/qobject.h:
/usr/qt/3/include/qmutex.h:
../../include/volume.h:
../../include/panning.h:
../../include/note.h:
../../include/midi_time.h:
../../include/play_handle.h:
../../include/effect_board.h:
../../include/led_checkbox.h:
../../include/automatable_button.h:
../../include/automatable_object.h:
/usr/include/math.h:
/usr/include/gentoo-multilib/amd64/math.h:
/usr/include/bits/huge_val.h:
/usr/include/gentoo-multilib/amd64/bits/huge_val.h:
/usr/include/bits/huge_valf.h:
/usr/include/gentoo-multilib/amd64/bits/huge_valf.h:
/usr/include/bits/huge_vall.h:
/usr/include/gentoo-multilib/amd64/bits/huge_vall.h:
/usr/include/bits/inf.h:
/usr/include/gentoo-multilib/amd64/bits/inf.h:
/usr/include/bits/nan.h:
/usr/include/gentoo-multilib/amd64/bits/nan.h:
/usr/include/bits/mathdef.h:
/usr/include/gentoo-multilib/amd64/bits/mathdef.h:
/usr/include/bits/mathcalls.h:
/usr/include/gentoo-multilib/amd64/bits/mathcalls.h:
/usr/include/bits/mathinline.h:
/usr/include/gentoo-multilib/amd64/bits/mathinline.h:
../../include/automation_editor.h:
../../include/automation_pattern.h:
../../include/track.h:
/usr/qt/3/include/qvaluelist.h:
../../include/rubberband.h:
../../include/level_object.h:
../../include/xqmap.h:
/usr/qt/3/include/qmap.h:
../../include/templates.h:
/usr/qt/3/include/qtl.h:
/usr/qt/3/include/qguardedptr.h:
../../include/effect_lib.h:
../../include/lmms_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream:
../../include/instrument_track.h:
/usr/qt/3/include/qapplication.h:
/usr/qt/3/include/qdesktopwidget.h:
/usr/qt/3/include/qwidget.h:
/usr/qt/3/include/qasciidict.h:
/usr/qt/3/include/qgdict.h:
/usr/qt/3/include/qtranslator.h:
/usr/qt/3/include/qpushbutton.h:
/usr/qt/3/include/qbutton.h:
/usr/qt/3/include/qkeysequence.h:
/usr/qt/3/include/qiconset.h:
/usr/qt/3/include/qpixmap.h:
/usr/qt/3/include/qpainter.h:
/usr/qt/3/include/qpen.h:
/usr/qt/3/include/qpointarray.h:
/usr/qt/3/include/qwmatrix.h:
../../include/midi_event_processor.h:
../../include/gui_templates.h:
/usr/qt/3/include/qpaintdevicemetrics.h:
/usr/qt/3/include/qfont.h:
/usr/qt/3/include/qdesktopwidget.h:
../../include/tab_widget.h:
../../include/spc_bg_hndl_widget.h:
../../include/volume_knob.h:
../../include/knob.h:
/usr/qt/3/include/qpoint.h:
../../include/instrument.h:
../../include/instrument_play_handle.h:
../../include/note_play_handle.h:
../../include/basic_filters.h:
../../include/bb_track.h:
../../include/instrument_track.h:
../../include/templates.h:
../../include/buffer_allocator.h:
../../include/knob.h:
../../src/lib/embed.cpp:
../../include/qt3support.h:
/usr/qt/3/include/qimage.h:
../../include/embed.h:
../../include/config_mgr.h:
/usr/qt/3/include/qdialog.h:
embedded_resources.h:
../../include/embed.h:
lb302.moc:
/usr/qt/3/include/qmetaobject.h:
/usr/qt/3/include/qconnection.h:
/usr/qt/3/include/private/qucomextra_p.h:
/usr/qt/3/include/private/qucom_p.h:
/usr/qt/3/include/quuid.h:

View File

@@ -0,0 +1,981 @@
lb303.lo lb303.o: lb303.cpp ../../include/qt3support.h \
/usr/qt/3/include/qglobal.h /usr/qt/3/include/qconfig.h \
/usr/qt/3/include/qmodules.h /usr/qt/3/include/qfeatures.h \
/usr/qt/3/include/qpair.h /usr/qt/3/include/qglobal.h \
/usr/qt/3/include/qdatastream.h /usr/qt/3/include/qiodevice.h \
/usr/qt/3/include/qcstring.h /usr/qt/3/include/qmemarray.h \
/usr/qt/3/include/qgarray.h /usr/qt/3/include/qshared.h \
/usr/qt/3/include/qwinexport.h /usr/include/string.h \
/usr/include/gentoo-multilib/amd64/string.h /usr/include/features.h \
/usr/include/gentoo-multilib/amd64/features.h /usr/include/sys/cdefs.h \
/usr/include/gentoo-multilib/amd64/sys/cdefs.h \
/usr/include/bits/wordsize.h \
/usr/include/gentoo-multilib/amd64/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gentoo-multilib/amd64/gnu/stubs.h \
/usr/include/gnu/stubs-64.h \
/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h \
/usr/include/xlocale.h /usr/include/gentoo-multilib/amd64/xlocale.h \
/usr/qt/3/include/qstring.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h \
/usr/include/limits.h /usr/include/gentoo-multilib/amd64/limits.h \
/usr/include/bits/posix1_lim.h \
/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h \
/usr/include/bits/local_lim.h \
/usr/include/gentoo-multilib/amd64/bits/local_lim.h \
/usr/include/linux/limits.h /usr/include/bits/posix2_lim.h \
/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h \
/usr/include/bits/xopen_lim.h \
/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h \
/usr/include/bits/stdio_lim.h \
/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib \
/usr/include/stdlib.h /usr/include/gentoo-multilib/amd64/stdlib.h \
/usr/include/bits/waitflags.h \
/usr/include/gentoo-multilib/amd64/bits/waitflags.h \
/usr/include/bits/waitstatus.h \
/usr/include/gentoo-multilib/amd64/bits/waitstatus.h \
/usr/include/endian.h /usr/include/gentoo-multilib/amd64/endian.h \
/usr/include/bits/endian.h \
/usr/include/gentoo-multilib/amd64/bits/endian.h \
/usr/include/sys/types.h /usr/include/gentoo-multilib/amd64/sys/types.h \
/usr/include/bits/types.h \
/usr/include/gentoo-multilib/amd64/bits/types.h \
/usr/include/bits/typesizes.h \
/usr/include/gentoo-multilib/amd64/bits/typesizes.h /usr/include/time.h \
/usr/include/gentoo-multilib/amd64/time.h /usr/include/sys/select.h \
/usr/include/gentoo-multilib/amd64/sys/select.h \
/usr/include/bits/select.h \
/usr/include/gentoo-multilib/amd64/bits/select.h \
/usr/include/bits/sigset.h \
/usr/include/gentoo-multilib/amd64/bits/sigset.h \
/usr/include/bits/time.h /usr/include/gentoo-multilib/amd64/bits/time.h \
/usr/include/sys/sysmacros.h \
/usr/include/gentoo-multilib/amd64/sys/sysmacros.h \
/usr/include/bits/pthreadtypes.h \
/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h \
/usr/include/alloca.h /usr/include/gentoo-multilib/amd64/alloca.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio \
/usr/include/stdio.h /usr/include/gentoo-multilib/amd64/stdio.h \
/usr/include/libio.h /usr/include/gentoo-multilib/amd64/libio.h \
/usr/include/_G_config.h /usr/include/gentoo-multilib/amd64/_G_config.h \
/usr/include/wchar.h /usr/include/gentoo-multilib/amd64/wchar.h \
/usr/include/bits/wchar.h \
/usr/include/gentoo-multilib/amd64/bits/wchar.h /usr/include/gconv.h \
/usr/include/gentoo-multilib/amd64/gconv.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h \
/usr/include/bits/sys_errlist.h \
/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h \
/usr/include/bits/stdio.h \
/usr/include/gentoo-multilib/amd64/bits/stdio.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale \
/usr/include/locale.h /usr/include/gentoo-multilib/amd64/locale.h \
/usr/include/bits/locale.h \
/usr/include/gentoo-multilib/amd64/bits/locale.h \
/usr/include/langinfo.h /usr/include/gentoo-multilib/amd64/langinfo.h \
/usr/include/nl_types.h /usr/include/gentoo-multilib/amd64/nl_types.h \
/usr/include/iconv.h /usr/include/gentoo-multilib/amd64/iconv.h \
/usr/include/libintl.h /usr/include/gentoo-multilib/amd64/libintl.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h \
/usr/include/pthread.h /usr/include/gentoo-multilib/amd64/pthread.h \
/usr/include/sched.h /usr/include/gentoo-multilib/amd64/sched.h \
/usr/include/bits/sched.h \
/usr/include/gentoo-multilib/amd64/bits/sched.h /usr/include/signal.h \
/usr/include/gentoo-multilib/amd64/signal.h /usr/include/bits/setjmp.h \
/usr/include/gentoo-multilib/amd64/bits/setjmp.h /usr/include/unistd.h \
/usr/include/gentoo-multilib/amd64/unistd.h \
/usr/include/bits/posix_opt.h \
/usr/include/gentoo-multilib/amd64/bits/posix_opt.h \
/usr/include/bits/environments.h \
/usr/include/gentoo-multilib/amd64/bits/environments.h \
/usr/include/bits/confname.h \
/usr/include/gentoo-multilib/amd64/bits/confname.h \
/usr/include/getopt.h /usr/include/gentoo-multilib/amd64/getopt.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype \
/usr/include/ctype.h /usr/include/gentoo-multilib/amd64/ctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime \
/usr/include/stdint.h /usr/include/gentoo-multilib/amd64/stdint.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc \
/usr/qt/3/include/qfileinfo.h /usr/qt/3/include/qfile.h \
/usr/qt/3/include/qdatetime.h /usr/qt/3/include/qnamespace.h \
/usr/qt/3/include/qdom.h lb303.h ../../include/instrument.h \
../../config.h ../../include/qt3support.h /usr/qt/3/include/qwidget.h \
/usr/qt/3/include/qwindowdefs.h /usr/qt/3/include/qobjectdefs.h \
/usr/qt/3/include/qobject.h /usr/qt/3/include/qevent.h \
/usr/qt/3/include/qregion.h /usr/qt/3/include/qrect.h \
/usr/qt/3/include/qsize.h /usr/qt/3/include/qpoint.h \
/usr/qt/3/include/qmime.h /usr/qt/3/include/qmap.h \
/usr/qt/3/include/qpair.h /usr/qt/3/include/qvaluelist.h \
/usr/qt/3/include/qtl.h /usr/qt/3/include/qtextstream.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iterator \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype \
/usr/include/wctype.h /usr/include/gentoo-multilib/amd64/wctype.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/list \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/map \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h \
/usr/qt/3/include/qpaintdevice.h /usr/qt/3/include/qpalette.h \
/usr/qt/3/include/qcolor.h /usr/qt/3/include/qstringlist.h \
/usr/qt/3/include/qstrlist.h /usr/qt/3/include/qptrlist.h \
/usr/qt/3/include/qglist.h /usr/qt/3/include/qptrcollection.h \
/usr/qt/3/include/qbrush.h /usr/qt/3/include/qfont.h \
/usr/qt/3/include/qfontmetrics.h /usr/qt/3/include/qfontinfo.h \
/usr/qt/3/include/qsizepolicy.h /usr/qt/3/include/qvaluevector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/vector \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc \
../../include/plugin.h /usr/qt/3/include/qstring.h \
../../include/types.h ../../include/journalling_object.h \
../../include/engine.h /usr/qt/3/include/qvariant.h \
/usr/qt/3/include/qvaluestack.h ../../include/embed.h \
/usr/qt/3/include/qpixmap.h ../../include/base64.h \
../../include/mixer.h /usr/qt/3/include/qobject.h \
/usr/qt/3/include/qmutex.h ../../include/volume.h \
../../include/panning.h ../../include/note.h ../../include/midi_time.h \
../../include/play_handle.h ../../include/effect_board.h \
../../include/led_checkbox.h ../../include/automatable_button.h \
../../include/automatable_object.h /usr/include/math.h \
/usr/include/gentoo-multilib/amd64/math.h /usr/include/bits/huge_val.h \
/usr/include/gentoo-multilib/amd64/bits/huge_val.h \
/usr/include/bits/huge_valf.h \
/usr/include/gentoo-multilib/amd64/bits/huge_valf.h \
/usr/include/bits/huge_vall.h \
/usr/include/gentoo-multilib/amd64/bits/huge_vall.h \
/usr/include/bits/inf.h /usr/include/gentoo-multilib/amd64/bits/inf.h \
/usr/include/bits/nan.h /usr/include/gentoo-multilib/amd64/bits/nan.h \
/usr/include/bits/mathdef.h \
/usr/include/gentoo-multilib/amd64/bits/mathdef.h \
/usr/include/bits/mathcalls.h \
/usr/include/gentoo-multilib/amd64/bits/mathcalls.h \
/usr/include/bits/mathinline.h \
/usr/include/gentoo-multilib/amd64/bits/mathinline.h \
../../include/automation_editor.h ../../include/automation_pattern.h \
../../include/track.h /usr/qt/3/include/qvaluelist.h \
../../include/rubberband.h ../../include/level_object.h \
../../include/xqmap.h /usr/qt/3/include/qmap.h \
../../include/templates.h /usr/qt/3/include/qtl.h \
/usr/qt/3/include/qguardedptr.h ../../include/effect_lib.h \
../../include/lmms_constants.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/fstream \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/basic_file.h \
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/fstream.tcc \
../../include/instrument_track.h /usr/qt/3/include/qapplication.h \
/usr/qt/3/include/qdesktopwidget.h /usr/qt/3/include/qwidget.h \
/usr/qt/3/include/qasciidict.h /usr/qt/3/include/qgdict.h \
/usr/qt/3/include/qtranslator.h /usr/qt/3/include/qpushbutton.h \
/usr/qt/3/include/qbutton.h /usr/qt/3/include/qkeysequence.h \
/usr/qt/3/include/qiconset.h /usr/qt/3/include/qpixmap.h \
/usr/qt/3/include/qpainter.h /usr/qt/3/include/qpen.h \
/usr/qt/3/include/qpointarray.h /usr/qt/3/include/qwmatrix.h \
../../include/midi_event_processor.h ../../include/gui_templates.h \
/usr/qt/3/include/qpaintdevicemetrics.h /usr/qt/3/include/qfont.h \
/usr/qt/3/include/qdesktopwidget.h ../../include/tab_widget.h \
../../include/spc_bg_hndl_widget.h ../../include/volume_knob.h \
../../include/knob.h /usr/qt/3/include/qpoint.h \
../../include/instrument.h ../../include/instrument_play_handle.h \
../../include/note_play_handle.h ../../include/basic_filters.h \
../../include/bb_track.h ../../include/instrument_track.h \
../../include/templates.h ../../include/buffer_allocator.h \
../../include/knob.h ../../src/lib/embed.cpp ../../include/qt3support.h \
/usr/qt/3/include/qimage.h ../../include/embed.h \
../../include/config_mgr.h /usr/qt/3/include/qdialog.h \
embedded_resources.h ../../include/embed.h lb303.moc \
/usr/qt/3/include/qmetaobject.h /usr/qt/3/include/qconnection.h \
/usr/qt/3/include/private/qucomextra_p.h \
/usr/qt/3/include/private/qucom_p.h /usr/qt/3/include/quuid.h
../../include/qt3support.h:
/usr/qt/3/include/qglobal.h:
/usr/qt/3/include/qconfig.h:
/usr/qt/3/include/qmodules.h:
/usr/qt/3/include/qfeatures.h:
/usr/qt/3/include/qpair.h:
/usr/qt/3/include/qglobal.h:
/usr/qt/3/include/qdatastream.h:
/usr/qt/3/include/qiodevice.h:
/usr/qt/3/include/qcstring.h:
/usr/qt/3/include/qmemarray.h:
/usr/qt/3/include/qgarray.h:
/usr/qt/3/include/qshared.h:
/usr/qt/3/include/qwinexport.h:
/usr/include/string.h:
/usr/include/gentoo-multilib/amd64/string.h:
/usr/include/features.h:
/usr/include/gentoo-multilib/amd64/features.h:
/usr/include/sys/cdefs.h:
/usr/include/gentoo-multilib/amd64/sys/cdefs.h:
/usr/include/bits/wordsize.h:
/usr/include/gentoo-multilib/amd64/bits/wordsize.h:
/usr/include/gnu/stubs.h:
/usr/include/gentoo-multilib/amd64/gnu/stubs.h:
/usr/include/gnu/stubs-64.h:
/usr/include/gentoo-multilib/amd64/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stddef.h:
/usr/include/xlocale.h:
/usr/include/gentoo-multilib/amd64/xlocale.h:
/usr/qt/3/include/qstring.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/limits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/syslimits.h:
/usr/include/limits.h:
/usr/include/gentoo-multilib/amd64/limits.h:
/usr/include/bits/posix1_lim.h:
/usr/include/gentoo-multilib/amd64/bits/posix1_lim.h:
/usr/include/bits/local_lim.h:
/usr/include/gentoo-multilib/amd64/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/bits/posix2_lim.h:
/usr/include/gentoo-multilib/amd64/bits/posix2_lim.h:
/usr/include/bits/xopen_lim.h:
/usr/include/gentoo-multilib/amd64/bits/xopen_lim.h:
/usr/include/bits/stdio_lim.h:
/usr/include/gentoo-multilib/amd64/bits/stdio_lim.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/string:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++config.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/os_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/cpu_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stringfwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/char_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstring:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstddef:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algobase.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/climits:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdlib:
/usr/include/stdlib.h:
/usr/include/gentoo-multilib/amd64/stdlib.h:
/usr/include/bits/waitflags.h:
/usr/include/gentoo-multilib/amd64/bits/waitflags.h:
/usr/include/bits/waitstatus.h:
/usr/include/gentoo-multilib/amd64/bits/waitstatus.h:
/usr/include/endian.h:
/usr/include/gentoo-multilib/amd64/endian.h:
/usr/include/bits/endian.h:
/usr/include/gentoo-multilib/amd64/bits/endian.h:
/usr/include/sys/types.h:
/usr/include/gentoo-multilib/amd64/sys/types.h:
/usr/include/bits/types.h:
/usr/include/gentoo-multilib/amd64/bits/types.h:
/usr/include/bits/typesizes.h:
/usr/include/gentoo-multilib/amd64/bits/typesizes.h:
/usr/include/time.h:
/usr/include/gentoo-multilib/amd64/time.h:
/usr/include/sys/select.h:
/usr/include/gentoo-multilib/amd64/sys/select.h:
/usr/include/bits/select.h:
/usr/include/gentoo-multilib/amd64/bits/select.h:
/usr/include/bits/sigset.h:
/usr/include/gentoo-multilib/amd64/bits/sigset.h:
/usr/include/bits/time.h:
/usr/include/gentoo-multilib/amd64/bits/time.h:
/usr/include/sys/sysmacros.h:
/usr/include/gentoo-multilib/amd64/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h:
/usr/include/gentoo-multilib/amd64/bits/pthreadtypes.h:
/usr/include/alloca.h:
/usr/include/gentoo-multilib/amd64/alloca.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iosfwd:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++locale.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cstdio:
/usr/include/stdio.h:
/usr/include/gentoo-multilib/amd64/stdio.h:
/usr/include/libio.h:
/usr/include/gentoo-multilib/amd64/libio.h:
/usr/include/_G_config.h:
/usr/include/gentoo-multilib/amd64/_G_config.h:
/usr/include/wchar.h:
/usr/include/gentoo-multilib/amd64/wchar.h:
/usr/include/bits/wchar.h:
/usr/include/gentoo-multilib/amd64/bits/wchar.h:
/usr/include/gconv.h:
/usr/include/gentoo-multilib/amd64/gconv.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/stdarg.h:
/usr/include/bits/sys_errlist.h:
/usr/include/gentoo-multilib/amd64/bits/sys_errlist.h:
/usr/include/bits/stdio.h:
/usr/include/gentoo-multilib/amd64/bits/stdio.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/clocale:
/usr/include/locale.h:
/usr/include/gentoo-multilib/amd64/locale.h:
/usr/include/bits/locale.h:
/usr/include/gentoo-multilib/amd64/bits/locale.h:
/usr/include/langinfo.h:
/usr/include/gentoo-multilib/amd64/langinfo.h:
/usr/include/nl_types.h:
/usr/include/gentoo-multilib/amd64/nl_types.h:
/usr/include/iconv.h:
/usr/include/gentoo-multilib/amd64/iconv.h:
/usr/include/libintl.h:
/usr/include/gentoo-multilib/amd64/libintl.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++io.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/gthr-default.h:
/usr/include/pthread.h:
/usr/include/gentoo-multilib/amd64/pthread.h:
/usr/include/sched.h:
/usr/include/gentoo-multilib/amd64/sched.h:
/usr/include/bits/sched.h:
/usr/include/gentoo-multilib/amd64/bits/sched.h:
/usr/include/signal.h:
/usr/include/gentoo-multilib/amd64/signal.h:
/usr/include/bits/setjmp.h:
/usr/include/gentoo-multilib/amd64/bits/setjmp.h:
/usr/include/unistd.h:
/usr/include/gentoo-multilib/amd64/unistd.h:
/usr/include/bits/posix_opt.h:
/usr/include/gentoo-multilib/amd64/bits/posix_opt.h:
/usr/include/bits/environments.h:
/usr/include/gentoo-multilib/amd64/bits/environments.h:
/usr/include/bits/confname.h:
/usr/include/gentoo-multilib/amd64/bits/confname.h:
/usr/include/getopt.h:
/usr/include/gentoo-multilib/amd64/getopt.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cctype:
/usr/include/ctype.h:
/usr/include/gentoo-multilib/amd64/ctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/postypes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwchar:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ctime:
/usr/include/stdint.h:
/usr/include/gentoo-multilib/amd64/stdint.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/functexcept.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception_defines.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_pair.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/cpp_type_traits.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_types.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator_base_funcs.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/concept_check.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/debug/debug.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/memory:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/c++allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ext/new_allocator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/new:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/exception:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_construct.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_uninitialized.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_raw_storage_iter.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/limits:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_function.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/atomicity.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/atomic_word.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/algorithm:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_algo.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_heap.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tempbuf.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_string.tcc:
/usr/qt/3/include/qfileinfo.h:
/usr/qt/3/include/qfile.h:
/usr/qt/3/include/qdatetime.h:
/usr/qt/3/include/qnamespace.h:
/usr/qt/3/include/qdom.h:
lb303.h:
../../include/instrument.h:
../../config.h:
../../include/qt3support.h:
/usr/qt/3/include/qwidget.h:
/usr/qt/3/include/qwindowdefs.h:
/usr/qt/3/include/qobjectdefs.h:
/usr/qt/3/include/qobject.h:
/usr/qt/3/include/qevent.h:
/usr/qt/3/include/qregion.h:
/usr/qt/3/include/qrect.h:
/usr/qt/3/include/qsize.h:
/usr/qt/3/include/qpoint.h:
/usr/qt/3/include/qmime.h:
/usr/qt/3/include/qmap.h:
/usr/qt/3/include/qpair.h:
/usr/qt/3/include/qvaluelist.h:
/usr/qt/3/include/qtl.h:
/usr/qt/3/include/qtextstream.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iterator:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/ios:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/localefwd.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ios_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_classes.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/streambuf:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/streambuf_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/cwctype:
/usr/include/wctype.h:
/usr/include/gentoo-multilib/amd64/wctype.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_base.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/ctype_inline.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/codecvt.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/time_members.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/messages_members.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/basic_ios.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/ostream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/locale:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/locale_facets.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/typeinfo:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/istream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/istream.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stream_iterator.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/list:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_list.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/list.tcc:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/map:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_tree.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_map.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_multimap.h:
/usr/qt/3/include/qpaintdevice.h:
/usr/qt/3/include/qpalette.h:
/usr/qt/3/include/qcolor.h:
/usr/qt/3/include/qstringlist.h:
/usr/qt/3/include/qstrlist.h:
/usr/qt/3/include/qptrlist.h:
/usr/qt/3/include/qglist.h:
/usr/qt/3/include/qptrcollection.h:
/usr/qt/3/include/qbrush.h:
/usr/qt/3/include/qfont.h:
/usr/qt/3/include/qfontmetrics.h:
/usr/qt/3/include/qfontinfo.h:
/usr/qt/3/include/qsizepolicy.h:
/usr/qt/3/include/qvaluevector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/vector:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_vector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/stl_bvector.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/vector.tcc:
../../include/plugin.h:
/usr/qt/3/include/qstring.h:
../../include/types.h:
../../include/journalling_object.h:
../../include/engine.h:
/usr/qt/3/include/qvariant.h:
/usr/qt/3/include/qvaluestack.h:
../../include/embed.h:
/usr/qt/3/include/qpixmap.h:
../../include/base64.h:
../../include/mixer.h:
/usr/qt/3/include/qobject.h:
/usr/qt/3/include/qmutex.h:
../../include/volume.h:
../../include/panning.h:
../../include/note.h:
../../include/midi_time.h:
../../include/play_handle.h:
../../include/effect_board.h:
../../include/led_checkbox.h:
../../include/automatable_button.h:
../../include/automatable_object.h:
/usr/include/math.h:
/usr/include/gentoo-multilib/amd64/math.h:
/usr/include/bits/huge_val.h:
/usr/include/gentoo-multilib/amd64/bits/huge_val.h:
/usr/include/bits/huge_valf.h:
/usr/include/gentoo-multilib/amd64/bits/huge_valf.h:
/usr/include/bits/huge_vall.h:
/usr/include/gentoo-multilib/amd64/bits/huge_vall.h:
/usr/include/bits/inf.h:
/usr/include/gentoo-multilib/amd64/bits/inf.h:
/usr/include/bits/nan.h:
/usr/include/gentoo-multilib/amd64/bits/nan.h:
/usr/include/bits/mathdef.h:
/usr/include/gentoo-multilib/amd64/bits/mathdef.h:
/usr/include/bits/mathcalls.h:
/usr/include/gentoo-multilib/amd64/bits/mathcalls.h:
/usr/include/bits/mathinline.h:
/usr/include/gentoo-multilib/amd64/bits/mathinline.h:
../../include/automation_editor.h:
../../include/automation_pattern.h:
../../include/track.h:
/usr/qt/3/include/qvaluelist.h:
../../include/rubberband.h:
../../include/level_object.h:
../../include/xqmap.h:
/usr/qt/3/include/qmap.h:
../../include/templates.h:
/usr/qt/3/include/qtl.h:
/usr/qt/3/include/qguardedptr.h:
../../include/effect_lib.h:
../../include/lmms_constants.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/iostream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/fstream:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/x86_64-pc-linux-gnu/bits/basic_file.h:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4/bits/fstream.tcc:
../../include/instrument_track.h:
/usr/qt/3/include/qapplication.h:
/usr/qt/3/include/qdesktopwidget.h:
/usr/qt/3/include/qwidget.h:
/usr/qt/3/include/qasciidict.h:
/usr/qt/3/include/qgdict.h:
/usr/qt/3/include/qtranslator.h:
/usr/qt/3/include/qpushbutton.h:
/usr/qt/3/include/qbutton.h:
/usr/qt/3/include/qkeysequence.h:
/usr/qt/3/include/qiconset.h:
/usr/qt/3/include/qpixmap.h:
/usr/qt/3/include/qpainter.h:
/usr/qt/3/include/qpen.h:
/usr/qt/3/include/qpointarray.h:
/usr/qt/3/include/qwmatrix.h:
../../include/midi_event_processor.h:
../../include/gui_templates.h:
/usr/qt/3/include/qpaintdevicemetrics.h:
/usr/qt/3/include/qfont.h:
/usr/qt/3/include/qdesktopwidget.h:
../../include/tab_widget.h:
../../include/spc_bg_hndl_widget.h:
../../include/volume_knob.h:
../../include/knob.h:
/usr/qt/3/include/qpoint.h:
../../include/instrument.h:
../../include/instrument_play_handle.h:
../../include/note_play_handle.h:
../../include/basic_filters.h:
../../include/bb_track.h:
../../include/instrument_track.h:
../../include/templates.h:
../../include/buffer_allocator.h:
../../include/knob.h:
../../src/lib/embed.cpp:
../../include/qt3support.h:
/usr/qt/3/include/qimage.h:
../../include/embed.h:
../../include/config_mgr.h:
/usr/qt/3/include/qdialog.h:
embedded_resources.h:
../../include/embed.h:
lb303.moc:
/usr/qt/3/include/qmetaobject.h:
/usr/qt/3/include/qconnection.h:
/usr/qt/3/include/private/qucomextra_p.h:
/usr/qt/3/include/private/qucom_p.h:
/usr/qt/3/include/quuid.h:

33
plugins/lb302/Makefile.am Normal file
View File

@@ -0,0 +1,33 @@
AUTOMAKE_OPTIONS = foreign 1.4
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/src/lib -I.
AM_CXXFLAGS := $(AM_CXXFLAGS) $(QT_CXXFLAGS) -DPLUGIN_NAME="lb302"
%.moc: ./%.h
$(MOC) -o $@ $<
MOC_FILES = ./lb302.moc
BUILT_SOURCES = $(MOC_FILES) ./embedded_resources.h
EMBEDDED_RESOURCES = $(wildcard *png)
./embedded_resources.h: $(EMBEDDED_RESOURCES)
$(BIN2RES) $(EMBEDDED_RESOURCES) > $@
EXTRA_DIST = $(EMBEDDED_RESOURCES)
CLEANFILES = $(MOC_FILES) ./embedded_resources.h
pkglib_LTLIBRARIES= liblb302.la
liblb302_la_SOURCES = lb302.cpp lb302.h
$(liblb302_la_SOURCES): ./embedded_resources.h

87
plugins/lb302/README Normal file
View File

@@ -0,0 +1,87 @@
LB303 Bass Synth - Known bugs, issues, and missing features
-----------------------------------------------------------
2007.02.03 - First release
--------------------------
Important note, in the current incarnation there are many behaviors,
constants, and other items that will be changed. This will result
in a change of the instrument's timbre and functionality. Therefore,
it would be wise to not make any masterpieces with the synth at
this point in time.
BUG:
Fix the awful clicking cause by adjacent notes. This problem seems
to be caused by 'unexhausted buffers' That is, the problem manifests
itself to a greater degree when the user "buffer size" configuration
is increased to over 1024 frames or so. The problem is much less
noticable when the buffer size is set to 64 frames.
BUG:
The synth does not make accomodations for sampling rates other than
44100. This should be easy to fix, but I haven't gotten around to
it; nor do I have the means to test it.
BUG:
I get segfaults now and then. Granted, I've rarely used LMMS
without also using LB302, so I do not know if the problem is actually
in the Bass Synth. I have gotten the backtraces a few times:
...
mixer::renderNextBuffer()
mixer::nextAudioBuffer()
QOBject::activate_signal()
??()
and
...
instrumentTrack::play()
notePlayHandle()
instrumentTrack::processOutEvent()
fadeButton::activate()
QSingleShotTimer::start()
qStartTimer()
qKillTimer()
QGList::insertAt()
TODO:
Add accent feature. This isn't as bad as it sounds, but will require
some tweaking to get right.
TODO:
LB302 contains code for a short fixed-length default decay. If a
released note is using a user-defined VCA from the instrument
panel, then LB302 should not do anything special. However, if no
envelope is specified, then LB302 should request enough release-frames
in order to apply the built-in exponential decay.
TODO:
The original TB303's square wave is not 50% duty cycle. The peaks are
supposed to slope down slightly. It would be nice to be able to
configure this. In fact, each waveform could have a parameter knob to
change some aspect of the wave. See lb302.cpp:643 for more info.
TODO:
Must decide on proper action to take when a slide note is interrupted
by another slide note. Right now, the slide-from frequency is always
replaced with the prior note. However, we may wish to maintain the
current frequency in order to make the sound more continuous.
TODO:
The default filter's distortion could use some work.
effectLib::distortion<> gets the job done, but the coefficients need
to more closely match that of lb302Filter3Pole's tanh distortion.
TODO:
Slide decay needs a better knob mapping. sqrt()? lb302.cpp:588
TODO:
Consider making the slide trigger set the note to slide TO as opposed
to the note to slide FROM. I originally did FROM in order to match
the real 303. However, TO may be more intuitive.
TODO:
Various code refactoring, as well as precomputing some values.
TODO:
Remove one of the sawtooth waveforms in favor of the other?

BIN
plugins/lb302/artwork.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

771
plugins/lb302/lb302.cpp Normal file
View File

@@ -0,0 +1,771 @@
/*
* lb302.cpp - implementation of class lb302 which is a bass synth attempting
* to emulate the Roland TB303 bass synth
*
* Copyright (c) 2006-2007 Paul Giblock <pgib/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
* lb302FilterIIR2 is based on the gsyn filter code by Andy Sloane.
*
* lb302Filter3Pole is based on the TB303 instrument written by
* Josep M Comajuncosas for the CSounds library
*
* 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 (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#include "qt3support.h"
#ifdef QT4
#include <Qt/QtXml>
#else
#include <qdom.h>
#endif
#include "lb302.h"
#include "instrument_track.h"
#include "instrument_play_handle.h"
#include "note_play_handle.h"
#include "templates.h"
#include "buffer_allocator.h"
#include "knob.h"
#undef SINGLE_SOURCE_COMPILE
#include "embed.cpp"
#include "lb302.moc"
// Envelope Recalculation period
#define ENVINC 64
//
// New config
//
#define LB_24_IGNORE_ENVELOPE
#define LB_FILTERED
//#define LB_24_RES_TRICK
#define LB_DIST_RATIO 4.0
#define LB_24_VOL_ADJUST 3.0
//
// Old config
//
#define LB_HZ 44100.0f
using namespace std;
extern "C"
{
plugin::descriptor lb302_plugin_descriptor =
{
STRINGIFY_PLUGIN_NAME( PLUGIN_NAME ),
"LB302",
QT_TRANSLATE_NOOP( "pluginBrowser",
"Incomplete monophonic immitation tb303" ),
"Paul Giblock <pgib/at/users.sf.net>",
0x0100,
plugin::Instrument,
new QPixmap( PLUGIN_NAME::getIconPixmap( "logo" ) ),
NULL
};
}
//
// lb302Filter
//
lb302Filter::lb302Filter(lb302FilterState* p_fs) :
fs(p_fs),
vcf_c0(0),
vcf_e0(0),
vcf_e1(0)
{
};
void lb302Filter::recalc()
{
vcf_e1 = exp(6.109 + 1.5876*(fs->envmod) + 2.1553*(fs->cutoff) - 1.2*(1.0-(fs->reso)));
vcf_e0 = exp(5.613 - 0.8*(fs->envmod) + 2.1553*(fs->cutoff) - 0.7696*(1.0-(fs->reso)));
vcf_e0*=M_PI/44100.0;
vcf_e1*=M_PI/44100.0;
vcf_e1 -= vcf_e0;
};
void lb302Filter::envRecalc()
{
vcf_c0 *= fs->envdecay; // Filter Decay. vcf_decay is adjusted for Hz and ENVINC
vcf_rescoeff = exp(-1.20 + 3.455*(fs->reso));
};
void lb302Filter::playNote()
{
vcf_c0 = vcf_e1;
}
//
// lb302FilterIIR2
//
lb302FilterIIR2::lb302FilterIIR2(lb302FilterState* p_fs) :
lb302Filter(p_fs),
vcf_d1(0),
vcf_d2(0),
vcf_a(0),
vcf_b(0),
vcf_c(1)
{
m_dist = new effectLib::distortion<>( 1.0, 1.0f);
};
void lb302FilterIIR2::recalc()
{
lb302Filter::recalc();
//m_dist->setThreshold(0.5+(fs->dist*2.0));
m_dist->setThreshold(fs->dist*75.0);
};
void lb302FilterIIR2::envRecalc()
{
float k, w;
lb302Filter::envRecalc();
w = vcf_e0 + vcf_c0; // e0 is adjusted for Hz and doesn't need ENVINC
k = exp(-w/vcf_rescoeff);
// Does this mean c0 is inheritantly?
vcf_a = 2.0*cos(2.0*w) * k;
vcf_b = -k*k;
vcf_c = 1.0 - vcf_a - vcf_b;
}
float lb302FilterIIR2::process(const float& samp)
{
float ret = vcf_a*vcf_d1 + vcf_b*vcf_d2 + vcf_c*samp;
// Delayed samples for filter
vcf_d2 = vcf_d1;
vcf_d1 = ret;
if(fs->dist > 0)
ret=m_dist->nextSample(ret);
// output = IIR2 + dry
return ret;
}
//
// lb302Filter3Pole
//
lb302Filter3Pole::lb302Filter3Pole(lb302FilterState *p_fs) :
lb302Filter(p_fs),
ay1(0),
ay2(0),
aout(0),
lastin(0)
{
};
void lb302Filter3Pole::recalc()
{
// DO NOT CALL BASE CLASS
vcf_e0 = 0.000001;
vcf_e1 = 1.0;
}
// TODO: Try using k instead of vcf_reso
void lb302Filter3Pole::envRecalc()
{
float w,k;
float kfco;
lb302Filter::envRecalc();
w = vcf_e0 + vcf_c0; // e0 is adjusted for Hz and doesn't need ENVINC
k = (fs->cutoff > 0.975)?0.975:fs->cutoff;
kfco = 50.f+(k)*((2300.f-1600.f*(fs->envmod))+(w)*(700.f+1500.f*(k)+(1500.f+(k)*(44100.f/2.f-6000.f))*(fs->envmod)));
//+iacc*(.3+.7*kfco*kenvmod)*kaccent*kaccurve*2000
//printf("w: %f \t %f\n",w,kfco);
#ifdef LB_24_IGNORE_ENVELOPE
// kfcn = fs->cutoff;
kfcn = 2.0 * kfco / LB_HZ;
#else
kfcn = w;
#endif
kp = ((-2.7528*kfcn + 3.0429)*kfcn + 1.718)*kfcn - 0.9984;
kp1 = kp+1.0;
kp1h = 0.5*kp1;
#ifdef LB_24_RES_TRICK
k = exp(-w/vcf_rescoeff);
kres = (((k))) * (((-2.7079*kp1 + 10.963)*kp1 - 14.934)*kp1 + 8.4974);
#else
kres = (((fs->reso))) * (((-2.7079*kp1 + 10.963)*kp1 - 14.934)*kp1 + 8.4974);
#endif
value = 1.0+( (fs->dist) *(1.5 + 2.0*kres*(1.0-kfcn))); // ENVMOD was DIST*/
}
float lb302Filter3Pole::process(const float& samp)
{
float ax1 = lastin;
float ay11 = ay1;
float ay31 = ay2;
lastin = (samp) - tanh(kres*aout);
ay1 = kp1h * (lastin+ax1) - kp*ay1;
ay2 = kp1h * (ay1 + ay11) - kp*ay2;
aout = kp1h * (ay2 + ay31) - kp*aout;
return tanh(aout*value)*LB_24_VOL_ADJUST/(1.0+fs->dist);
}
//
// LBSynth
//
lb302Synth::lb302Synth( instrumentTrack * _channel_track ) :
instrument( _channel_track, &lb302_plugin_descriptor )
{
// GUI
vcf_cut_knob = new knob( knobBright_26, this, tr( "VCF Cutoff Frequency" ),
eng(), _channel_track );
vcf_cut_knob->setRange( 0.0f, 1.5f, 0.005f ); // Originally [0,1.0]
vcf_cut_knob->setInitValue( 0.75f );
vcf_cut_knob->move( 75, 130 );
vcf_cut_knob->setHintText( tr( "Cutoff Freq:" ) + " ", "" );
vcf_cut_knob->setLabel( tr("CUT") );
vcf_res_knob = new knob( knobBright_26, this, tr( "VCF Resonance" ),
eng(), _channel_track );
vcf_res_knob->setRange( 0.0f, 1.25f, 0.005f ); // Originally [0,1.0]
vcf_res_knob->setInitValue( 0.75f );
vcf_res_knob->move( 120, 130 );
vcf_res_knob->setHintText( tr( "Resonance:" ) + " ", "" );
vcf_res_knob->setLabel( tr("RES") );
vcf_mod_knob = new knob( knobBright_26, this, tr( "VCF Envelope Mod" ),
eng(), _channel_track );
vcf_mod_knob->setRange( 0.0f, 1.0f, 0.005f ); // Originally [0,1.0]
vcf_mod_knob->setInitValue( 1.0f );
vcf_mod_knob->move( 165, 130 );
vcf_mod_knob->setHintText( tr( "Env Mod:" ) + " ", "" );
vcf_mod_knob->setLabel( tr("ENV MOD") );
vcf_dec_knob = new knob( knobBright_26, this, tr( "VCF Envelope Decay" ),
eng(), _channel_track );
vcf_dec_knob->setRange( 0.0f, 1.0f, 0.005f ); // Originally [0,1.0]
vcf_dec_knob->setInitValue( 0.1f );
vcf_dec_knob->move( 210, 130 );
vcf_dec_knob->setHintText( tr( "Decay:" ) + " ", "" );
vcf_dec_knob->setLabel( tr("DEC") );
slideToggle = new ledCheckBox( "Slide", this,
tr( "Slide" ),
eng(), _channel_track );
slideToggle->move( 10, 180 );
accentToggle = new ledCheckBox( "Accent", this,
tr( "Accent" ),
eng(), _channel_track );
accentToggle->move( 10, 200 );
accentToggle->setDisabled(true);
deadToggle = new ledCheckBox( "Dead", this,
tr( "Dead" ),
eng(), _channel_track );
deadToggle->move( 10, 220 );
db24Toggle = new ledCheckBox( "24dB/oct", this,
tr( "303-es-que, 24dB/octave, 3 pole filter" ),
eng(), _channel_track );
db24Toggle->move( 10, 150);
slide_dec_knob = new knob( knobBright_26, this, tr( "Slide Decay" ),
eng(), _channel_track );
slide_dec_knob->setRange( 0.0f, 1.0f, 0.005f ); // Originally [0,1.0]
slide_dec_knob->setInitValue( 0.6f );
slide_dec_knob->move( 210, 75 );
slide_dec_knob->setHintText( tr( "Slide Decay:" ) + " ", "" );
slide_dec_knob->setLabel( tr( "SLIDE"));
vco_fine_detune_knob = new knob( knobBright_26, this,
tr("Fine detuning of the VCO. Ranged between -100 and 100 centes."),
eng(), _channel_track );
vco_fine_detune_knob->setRange(-100.0f, 100.0f, 1.0f);
vco_fine_detune_knob->setInitValue(0.0f);
vco_fine_detune_knob->move(165,75);
vco_fine_detune_knob->setHintText( tr( "VCO Fine Detuning:") + " ", "cents");
vco_fine_detune_knob->setLabel( tr( "DETUNE"));
dist_knob = new knob( knobBright_26, this, tr( "Distortion" ),
eng(), _channel_track );
dist_knob->setRange( 0.0f, 1.0f, 0.01f ); // Originally [0,1.0]
dist_knob->setInitValue( 0.0f );
dist_knob->move( 210, 190 );
dist_knob->setHintText( tr( "DIST:" ) + " ", "" );
dist_knob->setLabel( tr( "DIST"));
wave_knob = new knob( knobBright_26, this, tr( "Waveform" ),
eng(), _channel_track );
wave_knob->setRange( 0.0f, 5.0f, 1.0f ); // Originally [0,1.0]
wave_knob->setInitValue( 0.0f );
wave_knob->move( 120, 75 );
wave_knob->setHintText( tr( "EAVE:" ) + " ", "" );
wave_knob->setLabel( tr( "WAVE"));
connect( vcf_cut_knob, SIGNAL( valueChanged( float ) ),
this, SLOT ( filterChanged( float ) ) );
connect( vcf_res_knob, SIGNAL( valueChanged( float ) ),
this, SLOT ( filterChanged( float ) ) );
connect( vcf_mod_knob, SIGNAL( valueChanged( float ) ),
this, SLOT ( filterChanged( float ) ) );
connect( vcf_dec_knob, SIGNAL( valueChanged( float ) ),
this, SLOT ( filterChanged( float ) ) );
connect( vco_fine_detune_knob, SIGNAL( valueChanged( float ) ),
this, SLOT ( detuneChanged( float) ) );
connect( db24Toggle, SIGNAL( toggled( bool ) ),
this, SLOT ( db24Toggled( bool) ) );
connect( dist_knob, SIGNAL( valueChanged(float) ),
this, SLOT ( filterChanged( float )));
connect( wave_knob, SIGNAL( valueChanged(float) ),
this, SLOT ( waveChanged( float )));
#ifdef QT4
setAutoFillBackground( TRUE );
QPalette pal;
pal.setBrush( backgroundRole(), PLUGIN_NAME::getIconPixmap(
"artwork" ) );
setPalette( pal );
#else
setErasePixmap( PLUGIN_NAME::getIconPixmap( "artwork" ) );
#endif
// SYNTH
vco_inc = 0.0;
vco_c = 0;
vco_k = 0;
vco_slide = 0; vco_slideinc = 0;
fs.cutoff = 0; fs.envmod = 0;
fs.reso = 0; fs.envdecay = 0;
fs.dist = 0;
vcf_envpos = ENVINC;
vco_detune = 0;
vca_mode = 2; vca_a = 0;
//vca_attack = 1.0 - 0.94406088;
vca_attack = 1.0 - 0.96406088;
vca_decay = 0.99897516;
vco_shape = SAWTOOTH;
vca_a0 = 0.5; // Experimenting between original (0.5) and 1.0
vcf = new lb302FilterIIR2(&fs);
recalcFilter();
lastFramesPlayed = 0;
filterChanged(0.0);
detuneChanged(0.0);
}
lb302Synth::~lb302Synth()
{
delete vcf;
}
void lb302Synth::saveSettings( QDomDocument & _doc,
QDomElement & _this )
{
vcf_cut_knob->saveSettings( _doc, _this, "vcf_cut" );
vcf_res_knob->saveSettings( _doc, _this, "vcf_res" );
vcf_mod_knob->saveSettings( _doc, _this, "vcf_mod" );
vcf_dec_knob->saveSettings( _doc, _this, "vcf_dec" );
vco_fine_detune_knob->saveSettings( _doc, _this, "vco_detune" );
wave_knob->saveSettings( _doc, _this, "shape");
dist_knob->saveSettings( _doc, _this, "dist");
slide_dec_knob->saveSettings( _doc, _this, "slide_dec");
slideToggle->saveSettings( _doc, _this, "slide");
deadToggle->saveSettings( _doc, _this, "dead");
db24Toggle->saveSettings( _doc, _this, "db24");
}
void lb302Synth::loadSettings( const QDomElement & _this )
{
vcf_cut_knob->loadSettings( _this, "vcf_cut" );
vcf_res_knob->loadSettings( _this, "vcf_res" );
vcf_mod_knob->loadSettings( _this, "vcf_mod" );
vcf_dec_knob->loadSettings( _this, "vcf_dec" );
vco_fine_detune_knob->loadSettings( _this, "vco_detune" );
dist_knob->loadSettings( _this, "dist");
wave_knob->loadSettings( _this, "shape");
slide_dec_knob->loadSettings( _this, "slide_dec");
slideToggle->loadSettings( _this, "slide");
deadToggle->loadSettings( _this, "dead");
db24Toggle->loadSettings( _this, "db24");
filterChanged(0.0);
detuneChanged(0.0);
}
// TODO: Split into one function per knob. envdecay doesn't require
// recalcFilter.
void lb302Synth::filterChanged( float )
{
fs.cutoff = vcf_cut_knob->value();
fs.reso = vcf_res_knob->value();
fs.envmod = vcf_mod_knob->value();
fs.dist = LB_DIST_RATIO*dist_knob->value();
float d = 0.2 + (2.3*vcf_dec_knob->value());
d*=LB_HZ; // d *= smpl rate
fs.envdecay = pow(0.1, 1.0/d * ENVINC); // decay is 0.1 to the 1/d * ENVINC
// vcf_envdecay is now adjusted for both
// sampling rate and ENVINC
recalcFilter();
}
void lb302Synth::db24Toggled( bool )
{
delete vcf;
if(db24Toggle->isChecked()) {
vcf = new lb302Filter3Pole(&fs);
}
else {
vcf = new lb302FilterIIR2(&fs);
}
recalcFilter();
}
void lb302Synth::detuneChanged( float )
{
float freq = vco_inc*LB_HZ/vco_detune;
float slidebase_freq=0;
if(vco_slide) {
printf("Detune on slide.\n");
slidebase_freq = vco_slidebase*LB_HZ/vco_detune;
}
vco_detune = powf(2.0f, (float)vco_fine_detune_knob->value()/1200.0f);
vco_inc = freq*vco_detune/LB_HZ;
// If a slide note is pending,
if(vco_slideinc)
vco_slideinc = vco_inc;
// If currently sliding,
// May need to rescale vco_slide as well
if(vco_slide)
vco_slidebase=slidebase_freq*vco_detune/LB_HZ;
}
// TODO: Set vco_shape in here.
void lb302Synth::waveChanged( float )
{
switch(int(rint(wave_knob->value()))) {
case 0: wave_knob->setHintText(tr("Sawtooth "),""); break;
case 1: wave_knob->setHintText(tr("Inverted Sawtooth "),""); break;
case 2: wave_knob->setHintText(tr("Triangle "),""); break;
case 3: wave_knob->setHintText(tr("Square "),""); break;
case 4: wave_knob->setHintText(tr("Rounded Square "),""); break;
case 5: wave_knob->setHintText(tr("Moog "),""); break;
}
}
QString lb302Synth::nodeName( void ) const
{
return( lb302_plugin_descriptor.name );
}
// OBSOLETE. Break apart once we get Q_OBJECT to work. >:[
void lb302Synth::recalcFilter()
{
vcf->recalc();
// THIS IS OLD 3pole/24dB code, I may reintegrate it. Don't need it
// right now. Should be toggled by LB_24_RES_TRICK at the moment.
/*kfcn = 2.0 * (((vcf_cutoff*3000))) / LB_HZ;
kp = ((-2.7528*kfcn + 3.0429)*kfcn + 1.718)*kfcn - 0.9984;
kp1 = kp+1.0;
kp1h = 0.5*kp1;
kres = (((vcf_reso))) * (((-2.7079*kp1 + 10.963)*kp1 - 14.934)*kp1 + 8.4974);
value = 1.0+( (((0))) *(1.5 + 2.0*kres*(1.0-kfcn))); // ENVMOD was DIST*/
vcf_envpos = ENVINC; // Trigger filter update in process()
}
int lb302Synth::process(sampleFrame *outbuf, const Uint32 size)
{
unsigned int i;
float w;
float samp;
for(i=0;i<size;i++) {
// update vcf
if(vcf_envpos >= ENVINC) {
vcf->envRecalc();
vcf_envpos = 0;
if (vco_slide) {
vco_inc=vco_slidebase-vco_slide;
// Calculate coeff from dec_knob on knob change.
vco_slide*= 0.9+(slide_dec_knob->value()*0.0999); // TODO: Adjust for Hz and ENVINC
}
}
sample_cnt++;
vcf_envpos++;
// 01/21/07 Changed to VCF -> VCA instead of VCA -> VCF
#ifdef LB_FILTERED
samp = vcf->process(vco_k)*2.0*vca_a;
#else
samp = vco_k*vca_a;
#endif
for(int c=0; c<DEFAULT_CHANNELS; c++) {
outbuf[i][c]=samp;
}
// update vco
vco_c += vco_inc;
if(vco_c > 0.5) vco_c -= 1.0;
switch(int(rint(wave_knob->value()))) {
case 0: vco_shape = SAWTOOTH; break;
case 1: vco_shape = INVERTED_SAWTOOTH; break;
case 2: vco_shape = TRIANGLE; break;
case 3: vco_shape = SQUARE; break;
case 4: vco_shape = ROUND_SQUARE; break;
case 5: vco_shape = MOOG; break;
default: vco_shape = SAWTOOTH; break;
}
// add vco_shape_param the changes the shape of each curve.
// merge sawtooths with triangle and square with round square?
switch (vco_shape) {
case SAWTOOTH: // p0: curviness of line
vco_k = vco_c; // Is this sawtooth backwards?
break;
case INVERTED_SAWTOOTH: // p0: curviness of line
vco_k = -vco_c; // Is this sawtooth backwards?
break;
// TODO: I think TRIANGLE is broken.
case TRIANGLE: // p0: duty rev.saw<->triangle<->saw p1: curviness
vco_k = (vco_c*2.0)+0.5;
if (vco_k>0.5) vco_k = 1.0-vco_k;
break;
case SQUARE: // p0: slope of top
vco_k = (vco_c<0)?0.5:-0.5;
break;
case ROUND_SQUARE: // p0: width of round
vco_k = (vco_c<0)?(sqrtf(1-(vco_c*vco_c*4))-0.5):-0.5;
break;
case MOOG: // Maybe the fall should be exponential/sinsoidal instead of quadric.
// [-0.5, 0]: Rise, [0,0.25]: Slope down, [0.25,0.5]: Low
vco_k = (vco_c*2.0)+0.5;
if (vco_k>1.0) vco_k = -0.5 ;
else if (vco_k>0.5) {
w = 2*(vco_k-0.5)-1;
vco_k = 0.5 - sqrtf(1-(w*w));
vco_k *= 2.0; // MOOG wave gets filtered away
}
break;
}
// Make it louder. For the better?
//vco_k*=2.0;
// Handle Envelope
// TODO: Add decay once I figure out how to extend past the end of a note.
if(sample_cnt>=0.5*44100 /*sz/2*/) vca_mode = 2;
if(vca_mode==0) vca_a+=(vca_a0-vca_a)*vca_attack;
else if(vca_mode == 1) {
vca_a *= vca_decay;
// the following line actually speeds up processing
if(vca_a < (1/65536.0)) { vca_a = 0; vca_mode = 2; }
}
}
return 1;
}
void lb302Synth::playNote( notePlayHandle * _n, bool )
{
//int nidx = _n->index();
//if( _n->nphsOfInstrumentTrack(_n->getInstrumentTrack()).first() != _n )
//if( _n->released() && _n->nphsOfInstrumentTrack( _n->getInstrumentTrack() ).count() > 1 )
// return;
/*
if (_n->released() ) {
if( notePlayHandle::nphsOfInstrumentTrack( getInstrumentTrack() ).size() > 0
&& notePlayHandle::nphsOfInstrumentTrack( getInstrumentTrack(),
TRUE ).last() == _n )
{
return;
}
}
*/
if ( _n->totalFramesPlayed() <= lastFramesPlayed ) {
float freq = getInstrumentTrack()->frequency( _n );
// TODO: Try moving to the if() below
if(deadToggle->value()==0) {
sample_cnt = 0;
vca_mode = 0; vca_a = 0;
}
// Adjust inc on SampRate change or detuning change
vco_inc = freq*vco_detune/LB_HZ; // TODO: Use actual sampling rate.
// Initiate Slide
// TODO: Break out into function, should be called again on detuneChanged
if (vco_slideinc) {
vco_slide = vco_inc-vco_slideinc;
vco_slidebase = vco_inc;
vco_slideinc = 0;
}
else {
vco_slide = 0;
}
// End break-out
// Slide note, save inc for next note
if (slideToggle->value()) {
vco_slideinc = vco_inc; // May need to equal vco_slidebase+vco_slide if last note slid
}
recalcFilter();
if(deadToggle->value()==0){
// Swap next two blocks??
vcf->playNote();
// Ensure envelope is recalculated
vcf_envpos = ENVINC;
// Double Check
vca_mode = 0;
vca_a = 0.0;
}
}
const Uint32 frames = eng()->getMixer()->framesPerAudioBuffer();
sampleFrame *buf = bufferAllocator::alloc<sampleFrame>( frames );
if (buf) {
process(buf, frames);
getInstrumentTrack()->processAudioBuffer( buf, frames, _n );
bufferAllocator::free( buf );
}
lastFramesPlayed = _n->totalFramesPlayed();
}
void lb302Synth::deleteNotePluginData( notePlayHandle * _n )
{
}
extern "C"
{
// neccessary for getting instance out of shared lib
plugin * lmms_plugin_main( void * _data )
{
return( new lb302Synth(
static_cast<instrumentTrack *>( _data ) ) );
}
}

219
plugins/lb302/lb302.h Normal file
View File

@@ -0,0 +1,219 @@
/*
* lb302.h - declaration of class lb302 which is a bass synth attempting to
* emulate the Roland TB303 bass synth
*
* Copyright (c) 2006-2007 Paul Giblock <pgib/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
* lb302FilterIIR2 is based on the gsyn filter code by Andy Sloane.
*
* lb302Filter3Pole is based on the TB303 instrument written by
* Josep M Comajuncosas for the CSounds library
*
* 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 (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#ifndef _LB302_H_
#define _LB302_H_
#include "instrument.h"
#include "led_checkbox.h"
#include "effect_lib.h"
#include <iostream>
class knob;
class notePlayHandle;
class lb302FilterState
{
public:
float cutoff;
float reso;
float envmod;
float envdecay;
float dist;
};
class lb302Filter
{
public:
lb302Filter(lb302FilterState* p_fs);
virtual ~lb302Filter() {};
virtual void recalc();
virtual void envRecalc();
virtual float process(const float& samp)=0;
virtual void playNote();
protected:
lb302FilterState *fs;
// Filter Decay
float vcf_c0; // c0=e1 on retrigger; c0*=ed every sample; cutoff=e0+c0
float vcf_e0, // e0 and e1 for interpolation
vcf_e1;
float vcf_rescoeff; // Resonance coefficient [0.30,9.54]
};
class lb302FilterIIR2 : public lb302Filter
{
public:
lb302FilterIIR2(lb302FilterState* p_fs);
virtual void recalc();
virtual void envRecalc();
virtual float process(const float& samp);
protected:
float vcf_d1, // d1 and d2 are added back into the sample with
vcf_d2; // vcf_a and b as coefficients. IIR2 resonance
// loop.
// IIR2 Coefficients for mixing dry and delay.
float vcf_a, // Mixing coefficients for the final sound.
vcf_b, //
vcf_c;
effectLib::monoToStereoAdaptor<effectLib::distortion<> > * m_dist_fx;
effectLib::distortion<> * m_dist;
};
class lb302Filter3Pole : public lb302Filter
{
public:
lb302Filter3Pole(lb302FilterState* p_fs);
//virtual void recalc();
virtual void envRecalc();
virtual void recalc();
virtual float process(const float& samp);
protected:
float kfcn,
kp,
kp1,
kp1h,
kres;
float ay1,
ay2,
aout,
lastin,
value;
};
class lb302Synth : public instrument
{
Q_OBJECT
public:
lb302Synth( instrumentTrack * _channel_track );
virtual ~lb302Synth();
virtual void FASTCALL playNote( notePlayHandle * _n,
bool _try_parallelizing );
virtual void FASTCALL deleteNotePluginData( notePlayHandle * _n );
virtual void FASTCALL saveSettings( QDomDocument & _doc,
QDomElement & _parent );
virtual void FASTCALL loadSettings( const QDomElement & _this );
virtual QString nodeName( void ) const;
virtual bool isMonophonic(void) const {
return true;
}
private:
private:
knob * vcf_cut_knob;
knob * vcf_res_knob;
knob * vcf_dec_knob;
knob * vcf_mod_knob;
knob * vco_fine_detune_knob;
knob * dist_knob;
knob * wave_knob;
ledCheckBox * slideToggle;
ledCheckBox * accentToggle;
ledCheckBox * deadToggle;
ledCheckBox * db24Toggle;
knob * slide_dec_knob;
public slots:
void filterChanged(float);
void detuneChanged(float);
void waveChanged(float);
void db24Toggled( bool );
private:
private:
// Oscillator
float vco_inc, // Sample increment for the frequency. Creates Sawtooth.
vco_k, // Raw oscillator sample [-0.5,0.5]
vco_c; // Raw oscillator sample [-0.5,0.5]
float vco_slide, //* Current value of slide exponential curve. Nonzero=sliding
vco_slideinc, //* Slide base to use in next node. Nonzero=slide next note
vco_slidebase; //* The base vco_inc while sliding.
float vco_detune;
enum vco_shape_t { SAWTOOTH, INVERTED_SAWTOOTH, SQUARE, TRIANGLE, MOOG, ROUND_SQUARE };
vco_shape_t vco_shape;
// User settings
lb302FilterState fs;
lb302Filter *vcf;
float lastFramesPlayed;
// More States
int vcf_envpos; // Update counter. Updates when >= ENVINC
float vca_attack, // Amp attack
vca_decay, // Amp decay
vca_a0, // Initial amplifier coefficient
vca_a; // Amplifier coefficient.
// Envelope State
int vca_mode; // 0: attack, 1: decay, 2: idle
// My hacks
int sample_cnt;
void recalcFilter();
int process(sampleFrame *outbuf, const Uint32 size);
} ;
#endif

BIN
plugins/lb302/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB