Songcab 1.04 by Grekim Jennings ------------------------------- Songcab stands for "Song Cabinet". It is a fast, terminal based program designed for the songwriter. It allows easy playback of wavefiles from a playlist. Your playlist may consist of song ideas/parts for a song. You can record new ideas and add them directly to the list by using this program. Songcab can also be used to make a playlist of your favorite songs. With one command, all the songs can be played in order or chosen individually. There is no overdubbing, but since only one mono or stereo track is playing or recording at once, the sample rates and bit formats of the tracks do not need to match (unless you are adding directly to exisiting wave files). New in Version 1.04: -------------------- - New takes can be reviewed before the record menu is exited. New in Version 1.03: -------------------- - A recording can be redone directly after a recording finishes. - Files are automatically added to the list only if you approve the take. - The .wav extension will be added automatically to recording filenames. Overview: -------- A duration and filename for a recording is set by the user and a new .wav file is made. When the recording is finished, you can continue to record into the same file, try again, or delete the recording. Since the file list is stored as a plain text file, you can easily add/remove files or change their order with a simple text editor. Setup: ------ The program runs in the command terminal by typing the name of the program. It can be copied to a standard place for applications like /usr/bin. The program will automatically start up with parameters that you last used provided that the file to which they were saved to, called rccab.txt, is in the working directory. If the rccab.txt file is not present you will be prompted to enter a track list name. You may need to change parameters using the "u" command if the default settings are not what you want. Typically, a computer's built-in sound card name is "plughw:0,0". When the program not running, typing the command "aplay -l" in the terminal will list available soundcards. Additional soundcard names are accessed with names such as plughw:1,0 and plughw:2,0. When there is more than 1 soundcard, the OS can change the numbering when you reboot your computer. So, using "aplay -l" should be a routine command to access your system's soundcard setup after you reboot. Notes: ------ Recording and playback cannot be interrupted for the time span set by the user without actually killing the program (with ctrl-C). However, the program can be re-started nearly instantly with all saved parameters. Beginning in version 1.03, when adding to an existing recording, the new data is stored in a temporary file with the prefix "temp_". If the recording/take is saved, the data is added to the end of the existing file and the temporary file is deleted. In the event that the program is terminated before a recording finishes, the temporary file will remain. If for some reason you need to recover data in this file, it should open with any wave editor, but the header will almost certainly indicate the wrong file length. This can be fixed with my hdrfix utility. Saved Parameters: ----------------- The saveable parameters are soundcard device, samplerate, channels, bit depth, tracklist name, record file name, playback start and stop points, and recording duration. These parameters are changeable once the program is running, or you can edit them before you launch the program by editing the rccab.txt file. In the rccab.txt file an abbreviation for the parameter is tab separated from the value for the parameter. The abbreviations are as follows: 'dv' for soundcard device (such as plughw:0,0 or default) 'sr' for samplerate (44100 or 48000, typically) 'ch' for number of channels (1 or 2, for mono or stereo) 'bits' for the bit depth (16 or 24) 'i' for playback start in seconds 'o' for playback stop in seconds 'd' for recording duration in seconds 'tlist' followed by the name of a track list 'rname' followed by the name of a file to record to For example, dv plughw:0,0 sr 44100 ch 2 bits 16 i 0 o 12.55 d 30 tlist list1.txt rname idea1.wav Commands available when the program is running: ----------------------------------------------- This list is available by typing 'h' in the program. List Commands: 'l' to hide or show track list 'L' to reload track list from file '-' to remove a track from the list Recording Commands: 'r' to record 'd' to set recording duration 'f' to enter filename for recording 'F' to select file in list to record to 'u' to adjust recording hardware settings Playback Commands: 'p' to play a track, or 2p to play track 2, etc 'a' to play all playlist tracks in order 'i' to set in point of playback 'o' to set out point of playback 'j' to jump forward: out-point becomes in-point 'J' to jump backward: in-point becomes out-point 't' to check attributes of files in list 's' to save file list and settings 'q' to quit and save 'x' to exit without saving list or parameters