public
Description: A cross-platform audio application for live loop manipulation.
Homepage: http://loopdub.sourceforge.net/
Clone URL: git://github.com/radarsat1/LoopDub.git
name age message
file AUTHORS Sat Jul 01 13:07:18 -0700 2006 Version 0.2 ready [radarsat1]
file COPYING Thu Jun 15 19:09:41 -0700 2006 *** empty log message *** [radarsat1]
file ChangeLog Fri Dec 21 13:55:23 -0800 2007 Added comments for 0.3 release. Bumping severa... [radarsat1]
file Dotum10.raw Sat Mar 12 09:59:24 -0800 2005 Initial revision [radarsat1]
file INSTALL Fri Dec 21 14:30:23 -0800 2007 Updated docs in preparation for 0.3. [radarsat1]
file LICENSE Sat Mar 12 09:59:24 -0800 2005 Initial revision [radarsat1]
file README Fri Dec 21 14:30:23 -0800 2007 Updated docs in preparation for 0.3. [radarsat1]
file README_win32.txt Sun May 15 14:58:52 -0700 2005 Windows version sort of works, still has some t... [radarsat1]
file SConstruct Fri Nov 06 07:41:37 -0800 2009 Upgrade to RtAudio 4.0.6 and bootstrap local sc... [radarsat1]
file TODO Fri Dec 21 13:55:23 -0800 2007 Added comments for 0.3 release. Bumping severa... [radarsat1]
file bootstrap.sh Fri Nov 06 07:41:37 -0800 2009 Upgrade to RtAudio 4.0.6 and bootstrap local sc... [radarsat1]
file def.h Wed Dec 27 18:43:46 -0800 2006 *** empty log message *** [radarsat1]
directory docs/ Sat Jul 04 09:29:20 -0700 2009 Update documentation with info on github reposi... [radarsat1]
file filter.cpp Wed Jan 02 18:58:14 -0800 2008 Control of sample rate variables via the config... [Nick Thomas]
file filter.h Thu Jun 22 21:28:37 -0700 2006 Finally fixed lazy coding where filters were be... [radarsat1]
directory gui/ Sat Nov 07 19:36:16 -0800 2009 In UI, some data members were not initialized, ... [radarsat1]
directory icon/ Fri Dec 28 18:38:38 -0800 2007 Added an Inkscape SVG file for a potential Loop... [Stephen Sinclair]
file ld_logo.h Sat Mar 12 09:59:24 -0800 2005 Initial revision [radarsat1]
file ld_midi.cpp Wed Jan 02 18:58:14 -0800 2008 Control of sample rate variables via the config... [Nick Thomas]
file ld_midi.h Thu Dec 27 16:57:35 -0800 2007 Merge branch 'midisync' Conflicts: ld_midi.c... [radarsat1]
directory libdeps/ Sat Nov 07 18:53:44 -0800 2009 RtAudio flag for JACK is not __LINUX_JACK__, bu... [radarsat1]
file loopdub.conf.example Thu Jul 02 20:10:20 -0700 2009 Initialize the default sample rates with the in... [radarsat1]
file loopdub.cpp Thu Jul 02 20:10:20 -0700 2009 Initialize the default sample rates with the in... [radarsat1]
file loopdub.dsp Sun May 15 14:58:52 -0700 2005 Windows version sort of works, still has some t... [radarsat1]
file loopdub.dsw Sun May 15 14:58:52 -0700 2005 Windows version sort of works, still has some t... [radarsat1]
file loopdub.h Wed Jan 02 18:58:14 -0800 2008 Control of sample rate variables via the config... [Nick Thomas]
file loopdub.midi.conf.example Sat Jul 01 13:24:08 -0700 2006 Example file for MIDI configuration [radarsat1]
file loopob.cpp Sat Dec 29 18:07:16 -0800 2007 Added common base classes for toolkit objects w... [Stephen Sinclair]
file loopob.h Sat Jun 04 21:49:10 -0700 2005 Now possible to quickly retrieve a list of prog... [radarsat1]
file platform.cpp Sun Nov 12 10:43:20 -0800 2006 *** empty log message *** [radarsat1]
file platform.h Wed Jan 03 11:40:10 -0800 2007 Getting slightly closer to a working Windows -m... [radarsat1]
file player.cpp Fri Nov 06 07:41:37 -0800 2009 Upgrade to RtAudio 4.0.6 and bootstrap local sc... [radarsat1]
file player.h Wed Jan 02 18:58:14 -0800 2008 Control of sample rate variables via the config... [Nick Thomas]
file program.cpp Fri Dec 21 12:20:29 -0800 2007 Removed really old program-file loading code. [radarsat1]
file program.h Sun Dec 31 12:59:06 -0800 2006 *** empty log message *** [radarsat1]
file programs.ini.example Tue Feb 21 14:21:37 -0800 2006 Configure and Makefiles now generated by autoto... [radarsat1]
file sample.cpp Sat Nov 11 21:26:55 -0800 2006 *** empty log message *** [radarsat1]
file sample.h Sat Mar 12 09:59:24 -0800 2005 Initial revision [radarsat1]
file settings.cpp Thu Dec 27 16:21:37 -0800 2007 Implements another configuration file, .loopdub... [Nick Thomas]
file settings.h Sun Dec 31 12:59:06 -0800 2006 *** empty log message *** [radarsat1]
directory util/ Fri Nov 06 07:06:04 -0800 2009 Fix version script by changing "git-<cmd>" to "... [radarsat1]
file vumeter.cpp Sat May 28 18:50:28 -0700 2005 Program Change! File program.ini in the loop b... [radarsat1]
file vumeter.h Sat May 28 18:50:28 -0700 2005 Program Change! File program.ini in the loop b... [radarsat1]
README
== Welcome to LoopDub ==

NOTE: For instructions on usage, see docs/index.html
      Please read INSTALL for instructions on compiling, installing and running.

LoopDub is a program for turning your computer into a live sampler
for performing electronic music.  It has been developed with three
ideas in mind:

* simplicity
* directness
* transparency

  For usual software applications like writing documents or programming, it
is very convenient to have a lot of functionality enabled through menus
and right-click context functions and customizable interfaces.  However,
to use your computer as a musical instrument, it is not necessarily
desirable to have three or four mouse clicks interjected between wanting
to perform and action and being able to carry it out.  Thus, the LoopDub
interface is designed to be very SIMPLE, and DIRECT.  Each loop is exactly
the same, and they are limited to only eight.  The buttons are always in the
same place, and the mouse actions always do what you expect.

  After using it for a few hours, you will find that the interface blends very
well with what you are doing, and because it is so simple, you will almost
forget the interface is even there.  This is what I call TRANSPARENCY.  You
will, if I have achieved my goal, feel like you are no longer using "an
application" to create music, but that you are "playing" your computer, just
as someone plays a guitar or keyboard.  An experienced guitarist achieves a
certain state where he no longer thinks about the strings and where to put
his fingers... he merely thinks of the notes that he wants to hear and they
resonate from the strings automatically.  The goal of loopdub is to use
directness to create as little interference between the musician and the
sound as possible.

  Also, music software should bear as little influence as possible on the final
outcome.  Now, obviously, as loop-oriented sampling software, anything
performed with LoopDub is going to sound... loopy.  But since it uses standard
.wav files and gives no restrictions on loop size and what can be done with
them, it is hoped that the interface will not influence the style of music
performed, within the target genre.  Any kind of electronic music oriented
around the loop, such as techno, house, hiphop or whatever, could use LoopDub
for a performance, and you should not really be able to tell they are using it.


Why I wrote LoopDub
-------------------

  I was using various tracker programs for writing music, but I found that none
of them was very good for actually playing this music in front of a crowd.
That is, there was not much to be done "live".  I would stand there with two
computers and mix my FastTracker files using a DJ mixer, using the speed
controls in Impulse Tracker to keep things on beat.  Then I finally wrote
some software that automatically did the beat matching, which was nice because
I could concentrate on being dynamic and also I could use a small laptop 
instead of lugging around two computers.  But it still felt a little dry,
because I was playing pre-made and pre-sequenced tracks.  I wanted something
that would let me just jam random loops together, without needing them to be
already sequenced into a track.

  LoopDub works very nicely for me, because I just have to create a bank of
loops and then I can make up a whole new set on the spot.  I can play the
drumline of one track with the bass of another, dropping a vocoder and synth
from another.  It's lots of fun, and I've used it a few times in front of
crowds.  I feel a lot more like I'm actually doing something on the stage,
which is far more satisfying than just hitting play on track after track.

  There is other software intended for this purpose, such as Ableton Live!, and
no doubt that you could use sequencers such as Acid Pro or even Cubase in a
dynamic and live kind of way, but I wanted something designed from scratch,
and it's been fun to design, and having it specifically oriented around live
performances has allowed me to customize certain useful features to do what
I need.  (Such as the "wait for next bar (hold)" feature, incredibly useful!)

  At the moment I use it mainly under Linux. It was designed with cross-platform
compatibility in mind.  The next release version will certainly include Windows
and OS X binaries.  Already you can compile it for those platforms, however I
have been looking at some thread priority issues which are stopping me from
considering those platform versions "stable". However, at this time, I have
already performed one live set using this software on OS X so I can guarantee
that it does work. However I am not yet ready to provide binary versions. With
a little work you can get it to compile in Visual Studio, or from the command
line in OS X.

  There are MANY many more things I could add or need to fix.  See the TODO
file for some examples.  It is definitely not an exhaustive list, as I keep
thinking of ideas and forgetting to add them. ;-)  But since I am currently
using this software for my own live sets, it's in my interest at the moment
to keep actively developing it.  However, I certainly would welcome
contributions on code, or ideas.  Or a new logo. :)

  LoopDub is distributed under the GPL.  See LICENSE for info.

For help, comments, or suggestions, please contact me.

Stephen Sinclair
radarsat1@gmail.com