This is README for cdloop                                -*- Text -*-

-- Introduction

cdloop is an audio-CD-player with special looping capabilities. It can
play, adjust and bookmark loops in AB-repeat style. It is intended for
musicians who want to transcribe parts of a CD or want to play along a
section of a track. If you ever tried to capture a particular region
of a cd with a consumer cd player that supports AB-repeat and failed
miserably to press the button on the remote control in the right
moment (like me), cdloop may be something for you.
 

-- Features

- fine grained control over loop boundaries.
- a gap can be inserted after each loop, so you don't lose the beat.
- loop boundaries can be saved in a bookmark file. cdloop recognizes
  the cd in the drive and shows a list of bookmarks for this cd.
- doesn't grab the audiodata on disk to do its magic (so it doesn't
  waste diskspace for stuff you have on cd anyway).
- has a built-in high-level script language (guile scheme).
- can be controlled remotely (e.g. by lirc).
- has a small built-in mixer.


-- Download

You can get the newest version of cdloop at:
http://www.cbrunzema.de/software.html#cdloop

Send comments, suggestions and stuff to:

mail@cbrunzema.de


-- Requirements

I made cdloop with the following:

- guile 1.4 (http://ftp.gnu.org)
- guile-gtk 0.20 from debian, but I think version 0.19 will work, too
  (http://www.nongnu.org/guile-gtk/)

Older versions may work, please tell me your experience with different
versions. The mixer stuff uses the amixer program from the ALSA sound
architecture if it is available.


-- Installation

Easy, just type

configure
make
make install

If you don't want the mixer, you can give configure the option
--disable-mixer (along with the usual options configure understands,
try configure --help).


-- A typical cdloop session

1. Select the track you want to have a loop in.
2. Wait for the start point of your loop, click Locator A/Set.
3. Check and adjust locator A with Locator A/Jump.
4. Wait for the end of the loop. Click Locator B/Set. If
   "Auto set X and gap with B" is enabled (it is enabled by default),
   cdloop does three things beside setting locator B: it sets locator X
   to a position ca. five seconds before locator B (you can change the
   default offset in ~/.cdlooprc, see Customization), it activates
   locator X as start of the loop and it sets the gap to one second
   (the default gap length can be customized, too). With this new
   setup you can adjust locator B without the need to hear the whole
   loop, since the loop starts now with locator X. The extra gap makes
   it easier to concentrate on locator B. If "Auto set X and gap with
   B" is disabled, cdloop will just play the loop between A and B.
5. Adjust locator B (it is less annoying if you adjust locator X to fall
   on a beat first).
6. Activate locator A as start of the loop.
7. Adjust the gap after locator B. If you click 'Learn Gap', cdloop
   will wait after locator B until you click 'Learn Gap' again. The
   time between locator B and your second click will be the new gap
   time.
8. Enter a name for the loop and click 'Add Bookmark'


-- Customization

You can copy the file doc/cdlooprc.example into your home directory
and rename it to .cdlooprc. cdloop will execute the code in this file
on startup. There are comments in cdlooprc.example, they should
get you started. You can give options on the command line as
well, try cdloop --help for some documentation.


-- Remote control

The built-in guile interpreter can execute any form sent by
cdloop-remote. doc/lircrc.example is an example config file for 
lirc (http://www.lirc.org/).


-- WARNING

Don't ruin your timing by playing a lot along a suboptimal adjusted
loop/gap ! As usual with GPLed software there is no warranty at all,
if cdloop destroys your cd, your cd drive or your life, you have
been warned !
