Ook het AGNULA, A GNU/Linux Audio distribution, biedt non-X applicaties aan voor audio bewerking / multitracking enz.:
The AGNULA project - X-less Audio URL: http://www.agnula.org/documentation/dp_tutorials/no-x/ #[1]Search this site [2]Up one level [3]Copyright information [4]Author information [5]Skip to content * [6]Small Text * [7]Normal Text * [8]Large Text Search [9]____________________ [10]Search [11]The AGNULA project Sections * [12]Home Page * [13]News * [14]contacts * [15]development * [16]documentation * [17]applications * [18]download * [19]bugs and requests * [20]mailing lists * [21]the project Personal tools * You are not logged in * [22]Log in * [23]Join You are here: [24]Home » [25]documentation » [26]Dave's Tutorials » Music Without X Navigation [27]Home [28]applications [29]contacts [30]development [31]documentation [32]Dave's Tutorials [33]AGNULA First Steps [34]Alsa Jack Ladspa [35]Audacity [36]CD tutorial [37]Ceres 3 [38]Common [39]CS beginner [40]Funktrackergold [41]jMax [42]Midi [43]Mix [44]Muse [45]Music Without X [46]Open Music [47]PD and Gem [48]Snd [49]Soundtracker [50]SuperCollider 3 [51]Timidity [52]FAQ [53]Newsletter [54]download [55]events [56]lists [57]... Log in Name [58]__________ Password [59]__________ [60]Log in [61]Forgot your password? [62]New user? X-less Audio * [63]Send this page to somebody * [64]Print this page X-less Audio: A Brief Guide To Sound & Music Software For The Console In this time of GNOME, KDE, and plentiful window managers for X it may seem somewhat backwards to advertise Linux's superior capabilities at the unadorned shell prompt. However, there are at least three strong reasons to explore and encourage the development of sound and music software that does not require X graphics : * Better interaction for sight-impaired users. * Lower resource requirements. * Better performance, off-line and realtime. To a user cultivated in a GUI environment such as Windows or X11, the naked Linux prompt is not exactly an enticing sight, but behind its stark simplicity lies incredible power. The novice shell programmer quickly learns how powerful the command line can be. Its attractions include such amenities as shell scripting, batch runs, virtual terminals, and above all the full speed of your system hardware. Working at the shell prompt lacks all the sex appeal of X, but there's very little you can do in X that you can't do from the prompt. This guide describes a group of AGNULA sound and music programs that should satisfy users working with any or all of those reasons. Details of low-level system software (ALSA, JACK, PortAudio, OSS/Linux, etc.) will not be discussed here. The AGNULA base audio system functions perfectly well with or without X. We'll consider software in the following categories : * Basic audio utilities * Soundfile players * Audio recording * Editing sound * Audio content creation * Media production We begin our tour with a look at some basic command-line audio utilities. Basic Utilities First, familiarize yourself with some important command-line tools and utilities for user-control of your ALSA and JACK systems. Humble they may be, but these small programs give you the power to program your mixer, load soundfonts into your soundcard synth, connect ALSA-savvy MIDI applications and devices, and control the JACK server. They should be considered indispensable components of any Linux command-line audio system. Alsamixer provides a nice ncurses-driven mixer, but if even ncurses is too much graphics you can use the amixer controls to set your soundcard channels values. Here's an example using amixer to set the main PCM volume channel on my AudioPCI card : amixer -c 2 sset PCM 22 The sset flag sets what ALSA calls a 'simple control'. In this example I've set the PCM channel volume. The card flag (-c) selects the numbered device, in this case card 2 (the numbering of cards starts from 0). The drivers for my system are loaded in the following order : * card 0: SBLive! Value (snd-emu10k1) * card 1: ALSA virtual MIDI card (snd-virmidi) * card 2: AudioPCI (snd-ens1370) If you're not sure what cards you have in your machine, run the following command to query the /proc/asound interface for its supported cards : cat /proc/asound/cards Now back to our amixer example. Amixer will respond to the command above with this information : Simple mixer control 'PCM',0 Capabilities: volume pswitch cswitch Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 31 Front Left: 22 [71%] Playback [on] Capture [off] Front Right: 22 [71%] Playback [on] Capture [off] I can query the soundcard for its simple controls with this flag : amixer -c 2 Running amixer -h or man amixer will result in a display of further detail. With the information from the simple query and the documentation I can build the following amixer control command : amixer -c 2 sset CD 22 unmute cap These flags address the third card in the system, set the CD channel volume, unmute the channel, and designate it as the recording source (the capture channel, in ALSA-speak). If I'm happy with these settings I can save them with alsactl (note that you must have root privileges to run alsactl). To save the example settings for my AudioPCI I run this command : alsactl store 2 Running alsactl restore 2 resets the mixer to the saved values. ALSA mutes all mixer channels by default at startup, so you might want to write a small script to reload your mixer channel settings on demand. The aconnect utility is ALSA's MIDI patch bay. Programs capable of acting as ALSA sequencer clients may be patched together at will, with multiple connections addressing a single input port. You can use aconnect to query your system for its ALSA-supported hardware, as in these listings for my system's available I/O ports : [EMAIL PROTECTED] dlphilp]$ aconnect -i client 0: 'System' [type=kernel] 0 'Timer ' 1 'Announce ' client 64: 'Rawmidi 0 - EMU10K1 MPU-401 (UART)' [type=kernel] 0 'EMU10K1 MPU-401 (UART)' client 72: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' client 73: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' client 74: 'Virtual Raw MIDI 1-2' [type=kernel] 0 'VirMIDI 1-2 ' client 75: 'Virtual Raw MIDI 1-3' [type=kernel] 0 'VirMIDI 1-3 ' client 80: 'Rawmidi 2 - ES1370' [type=kernel] 0 'ES1370 ' [EMAIL PROTECTED] dlphilp]$ aconnect -o client 64: 'Rawmidi 0 - EMU10K1 MPU-401 (UART)' [type=kernel] 0 'EMU10K1 MPU-401 (UART)' client 65: 'Emu10k1 WaveTable' [type=kernel] 0 'Emu10k1 Port 0 ' 1 'Emu10k1 Port 1 ' 2 'Emu10k1 Port 2 ' 3 'Emu10k1 Port 3 ' client 72: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' client 73: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' client 74: 'Virtual Raw MIDI 1-2' [type=kernel] 0 'VirMIDI 1-2 ' client 75: 'Virtual Raw MIDI 1-3' [type=kernel] 0 'VirMIDI 1-3 ' client 80: 'Rawmidi 2 - ES1370' [type=kernel] 0 'ES1370 ' Both of my physical cards include MIDI capabilities, and the ALSA virtual MIDI module (virmidi) gives me four more ports. Thus, using the information from these reports here's how I invoke aconnect to route the MIDI messages coming into my SBLive's hardware MIDI port to the soundcard's internal synthesizer : aconnect 64:0 65:0 This command disconnects the ports : aconnect -d 64:0 65:0 Later in this tutorial we will see how aconnect works with the TiMidity MIDI file player functioning as a software synthesizer. The ALSA sequencer interface is one of its most powerful features, especially when combined with the virmidi module. Laptop owners will be particularly pleased: the virmidi module lends MIDI connectivity to applications running on hardware without physical MIDI ports. Finally, note that ALSA now provides the sfxload utility for loading soundfonts into the hardware synthesizers on soundcards such as the SoundBlaster Live! or the Audigy from Creative Labs. It is quite simple to use, as you can see in this example for loading a soundfont into my SBLive Value soundcard : sfxload /home/dlphilp/soundfonts/8mbgmsfx.sf2 In lieu of graphic control of the JACK audio server you'll need to acquaint yourself with at least its basic invocation, especially since SuperCollider3 requires it. The following command starts the JACK daemon with parameters best suited for my system and my SBLive : jackstart -R -t500 -dalsa -dhw:0 -r48000 -p512 -n2 Your parameter values should reflect the capabilities of your hardware. See man jackd for more information regarding the operation of JACK from the command prompt. Humble they may be, but these little utilities lend you the power to program your mixer, load soundfonts into your soundcard synth, connect ALSA-savvy MIDI applications and devices, and control the JACK server. They should be considered indispensable components of any Linux command-line audio system. Soundfile Players CAPTION: Table 1: Audio formats & Linux players MIDI TiMidity Module formats (MOD, XM, IT, etc.) mikmod MP3 mpg321 Ogg ogg123 PCM audio formats (WAV, AIFF, SND, etc.) aplay Table 1 lists some of the most common audio file types and their associated Linux players. All of these programs follow this syntax for their basic use : program filename Each of the applications listed has on-line help and an associated manual page. Using the -h flag will invoke their on-line help, and you can view the manual page for any of the players with this command syntax : man program Full details for operating the selected console players can be found in their manual pages. I will here indicate only some features of interest to their use at the console prompt. TiMidity can utilize either Gravis Ultrasound PAT format soundfiles or SF2 soundfonts as its sound sources. The default configuration uses a PAT set that is installed with the base AGNULA system. To force TiMidity to use soundfonts, create a file named timidity.cfg in your home directory and add this line : soundfont /path/to/your/soundfonts/foo.sf2 Now invoke TiMidity with -c ~/timidity.cfg to use your soundfonts as sound sources. TiMidity's original purpose was to render MIDI files to realtime audio, but it can also be used to create an audio file from a MIDI file. The -Ow flag defines WAV output, -Oa converts to AIFF, -Ov creates an Ogg file, and -Om changes a MOD file to a MIDI file. TiMidity can be configured to act as an ALSA sequencer client. The following command sets up TiMidity as a softsynth, available to any input device listed by aconnect : timidity -iA -B2,8 -c /home/dlphilp/timidity.cfg -Os -EFreverb=0 -EFcho rus=0 & The flags represent and control the following parameters : * -iA Declares TiMidity as an ALSA sequencer client * -B2,8 Sets buffer parameters * -c ~/timidity.cfg Selects patch configuration (overrides the default configuration at /etc/timidity.cfg) * -Os Set output as ALSA PCM device * -EFreverb=0 turn off reverb effect * -EFchorus=0 turn off chorus effect After starting the program with those options you can run 'aconnect -o' again to check for TiMidity's client number. You should see a section similar to this message appended to aconnect's report : client 128: 'Client-128' [type=user] 0 'TiMidity port 0 ' 1 'TiMidity port 1 ' Now I can set up aconnect so I can play TiMidity's soundfonts from my external MIDI keyboard : aconnect 64:0 128:0 Aplay (and its sibling arecord) includes some useful ALSA amenities. The -l flag lists all your soundcards and digital audio devices, -L lists all defined PCM devices, and -D lets you select a PCM device by its name. Here's the abbreviated output from the soundcard listing on my system : [EMAIL PROTECTED] dlphilp]$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Live [Sound Blaster Live!], device 0: emu10k1 [EMU10K1] Subdevices: 31/32 Subdevice #0: subdevice #0 ... Subdevice #31: subdevice #31 card 0: Live [Sound Blaster Live!], device 3: emu10k1 [EMU10K1 FX8010] Subdevices: 8/8 Subdevice #0: subdevice #0 ... Subdevice #7: subdevice #7 **** List of PLAYBACK Hardware Devices **** card 2: AudioPCI [Ensoniq AudioPCI], device 0: ES1370/1 [ES1370 DAC2/AD C] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: AudioPCI [Ensoniq AudioPCI], device 1: ES1370/2 [ES1370 DAC1] Subdevices: 1/1 Subdevice #0: subdevice #0 Remember that card 1 on my system is the ALSA virtual MIDI module, therefore it is not listed as a digital audio device. Now I can invoke aplay with an instruction to send its output to the AudioPCI card : aplay -D 2 foo.wav Running aplay without the -D flag will route its output to the first PCM device by default. Audio Recorders For simple recording purposes you can use ALSA's arecord. Arecord's command options include these two shortcuts for setting up the output parameters for creating CD- or DAT-quality files : -f cd (16 bit little endian, 44100, stereo [-f S16_LE -c2 -r44100] -f dat (16 bit little endian, 48000, stereo) [-f S16_LE -c2 -r48000] The following command sequence will create a CD-quality recording lasting 10 seconds : arecord -d 10 -f cd simple.wav That's it, that's all you need to record 10 seconds of 16-bit 44.1 kHz stereo sound. If you don't know how long your recording will last, simply leave out the duration flag (-d) and its value, then press Ctrl-C when you're done. Arecord is capable of more than basic recording, but I leave its exploration to the reader. See arecord's on-line help and manual page for details. For more complex recording scenarios we turn to Kai Vehmanen's awesome ecasound. Ecasound is a true godsend for Linux console audio. It is a multitrack/multichannel audio recorder with support for complex effects processing (including LADSPA plugin effects), a MIDI control interface, format conversion, complex mixing, and much more. Once again we can not take a full tour of this program here, but the next example indicates how to access some of ecasound's power. Ecasound's command chains can become quite complex, but ecasound -b:512 -r -f:16,4,48000 \ -a:1 -i jack -el:tap_reverb,2500,0,0,0,1,1,1 \ -a:2 -i jack -el:tap_reverb,2000,0,0,1,0,1,0 \ -a:3 -i jack -el:tap_reverb,1500,0,0,1,1,0,1 \ -a:4 -i jack -ef3:800,1.5,0.9 -km:1,400,4200,74,1 -km:2,0.1,1.5 ,71,1 \ -a:all -o /home/dlphilp/4ch-foo.wav This chain accomplishes the following goals : * Set up four channels for audio input via the JACK server * Add a LADSPA reverb effect to the first three channels * Add ecasound's resonant lowpass filter to the last track * Set up a MIDI controller for the ecasound filter * Record to a four-channel WAV file Note that you must connect JACK and ecasound yourself. The appropriate utility is jack_connect : jack_connect alsa_pcm:capture_1 alsa_pcm:playback_1 Jack_disconnect will break the connection. If you work frequently with multichannel setups you can write shell scripts to automate your connections. This script automatically connects a stereo input to four channels in ecasound : #!/bin/sh # Routes two stero channels to four ecasound channels jack_connect alsa_pcm:capture_1 ecasound:in_1 jack_connect alsa_pcm:capture_2 ecasound:in_2 jack_connect alsa_pcm:capture_1 ecasound:in_3 jack_connect alsa_pcm:capture_2 ecasound:in_4 Edit this script for your environment and save it as es-jack.sh. Make the script executable with chmod +x es-jack.sh, then run it from its home directory as ./es-jack.sh to automate your JACK connections. The use of the MIDI controller in our example chain is described in ecasound's documentation as quoted here : The cutoff frequency varies betweeen 400 and 4200 Hz, while resonance varies between 0.1 and 1.5. The initial phase is 0 (times pi). The second example uses MIDI continuous controllers ('-km:parameter,range_low,range_high,controller_number,midi-channel ') as controller sources... Controller numbers used are 74 (cutoff) and 71 (resonance). The controller numbers can be mapped to your available hardware. See the program's excellent documentation for more examples of ecasound in complex recording and processing scenarios. Editing Recorded Audio Paradoxically, the editing of recorded audio is an operation best served by visually-oriented software. Linux soundfile editors such as Snd or Audacity provide useful amenities for viewing, selecting, and editing any region of a soundfile, from the whole file to the individual sample. Waveforms and spectral displays are far easier to edit than are the massive lists of numbers they represent, and visual "zoom" functions permit fast location and identification of edit points within a file. At present there are no soundfile editors available for the unadorned Linux console. However, the all-powerful Snd can be compiled and run without a GUI, lending its vast capabilities to AGNULA's console arsenal. Here's a brief script that tells Snd to load a soundfile, scale its amplitude by half, and write the results to a new soundfile. (open-sound "foo.wav") (scale-by 0.5) (save-sound-as "foo-scaled.snd") (exit) If this code is saved as scaler.scm (the suffix indicates Scheme source code) run Snd as follows to create the new file : snd -l scaler.scm Csound and ecasound can be employed to add effects to your files, but I'll recommend another useful tool for this job. SoX is sometimes called the "Swiss Army knife" of UNIX audio tools: personally, I would hand that title to ecasound, but SoX does an impressive number of jobs, including play/record, effects processing, sample rate coversion, and format conversion. A simple example here will suffice to indicate SoX's possibilities : sox foo.aiff -t wav foo-hp.wav pan -1.0 highpass 1000 This example converts an AIFF file to WAV format, pans its audio hard left, and processes it through a highpass filter with a threshold of 1 kHz. SoX's effects rack includes a flanger, a phaser, various filters, reverb and chorus effects, and many others. See SoX's on-line help or its excellent manual page for more information. Content Creation This section considers software used for creating material, i.e., programs for composing music, either deterministically or via chance methods, generative algorithms, or fractal formulae. Output is assumed to be PCM audio (WAV, AIFF, SF, etc.), MIDI file format, or the MOD music module. Csound and Common Music are two of the best reasons to use Linux as a platform for electroacoustic music. Csound excels at easy creation of complex instruments, while Common Music excels at complex scoring for those instruments. I have profiled each of these environments elsewhere in the AGNULA tutorials, please see that material for introductions to these programs and their environment. Both environments are essentially text-based. Both have specialized emacs modes, and excellent vi editing modes are available for Csound. These environments are perhaps too complex for manual pages, but on-line help is available for Csound, and the HTML documentation for this software can be read at the console with the Lynx text-mode browser. SuperCollider3 is similar to Csound in its combination of synthesis and composition aspects. However, SC3's language interface is considerably more modern than Csound and may make an attractive alternative for users interested in a more object-oriented programming environment (SC3 bears a resemblance to Smalltalk). Using SC3 is a little more complicated than using Csound, please consult AGNULA SC3 tutorial for further details. If you'd like to try music module tracking at the console AGNULA also includes the ancient FunkTrackerGold tracker. FunkTrackerGold uses ncurses and common ANSI graphics characters to build a nice console GUI for itself. FunkTrackerGold is more completely described in its AGNULA tutorial, you'll want to study that tutorial if you want to do module tracking without X. Alas, no command-line MIDI recorders are available for Linux, but all is not lost. Csound can create realtime MIDI output, and Common Music can read and write standard MIDI files. In my opinion, Common Music is flexible and pwoerful enough to function as the core of a console music composition environment. It is capable of output in WAV or AIFF soundfiles, MIDI file format, Csound and Common Lisp Music score files, and Common Music Notation files. Media Production This final section looks at cdrecord, AGNULA's software for burning your audio masterpieces to compact disc. If you consult the cdrecord man page your first reaction may be complete confusion. Cdrecord is indeed rich in options and flags to extend and modify its behavior, but thankfully we can use it in its most basic form to create our final product. Before burning your WAV files to disc you might want to use the normalize program to adjust the relative volumes of your files. This process averages the volumes of all your files and then balances them with respect to the average, thus minimizing abrupt changes in volume between tracks. Normalize is capable of batch processing, as the following example line indicates : normalize -m *.wav The -m flag adjusts the level of each track to the average level of all the tracks. When levels are normalized, it's time to move on to the next stage and burn your soundfiles to an audio CD. Cdrecord is the indispensable component for burning CDs under Linux. It is included with every mainstream Linux distribution, and it is very easy to use. Cdrecord can create CD-ROM data discs in standard ISO9660 format or a hybrid format readable by Macintosh machines, CDDA (digital audio) discs, and mixed-mode discs that combine ISO9660 and audio tracks. Type man cdrecord at the console prompt to bring up the informative manual page, complete with examples and full explanations for every option. Burning an uncomplicated audio CD from the command line requires only this command sequence: cdrecord -v speed=2 dev=0,0 -audio *.wav Those command options are defined as follows: -v Verbosity level (progress display) speed=2 Sets the burner to 2x recording speed dev=0,0 Uses the device listing as reported by cdrecord -scanbus (a utility to report available CD recording devices) -audio Tells cdrecord that the recorded tracks are in CDDA format (stereo 16-bit 44.1 kHz soundfiles) Closing Remarks This tutorial shows that you can create and enjoy complex audio productions at the Linux console prompt. Command-line players exist for the most commonly encountered music and soundfile formats, applications such as ecasound and Csound conceal great creative potential lurking beneath their humble surfaces, and I must again emphasize Common Music's usefulness as a superb composition environment. Truly, a very powerful console-only music production studio can be built around Common Music (composition), Csound (synthesis and processing), and ecasound (recording). Whether your reasons are urgent or if you just want a break from doing things in X you may be surprised at the power and flexibility you find at the command-line. Further Exercises * Extend the GUI-less Snd example to apply two more effects before the new output file is created. (Hint: Consult Snd's extensive documentation.) * Use ecasound to perform the same tasks as done by the example for SoX. * Use arecord to create a series of files, then mix them using Csound or ecasound. Created by [65]sama Last modified 2004-03-31 11:01 AM [66]« April 2006 [67]» Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 News [68]AGNULA seminar at Bocconi University 2005-05-16 [69]AGNULA Libre Music at (L)eft Meeting, Bologna, Italy 2005-05-04 [70]Linux Audio Conference 2005 proceedings link has changed 2005-04-30 [71]Linux Audio Conference 2005 proceedings are available 2005-04-28 [72]Main AGNULA host back online after attack 2005-04-28 [73]More... _________________________________________________________________ Plone and its visual design is Copyright © 2000-2006 by [74]Alexander Limi, [75]Alan Runyan, [76]Vidar Andersen. [77]Powered by Plone This site conforms to the following standards: * [78]Section 508 * [79]WCAG * [80]Valid XHTML * [81]Valid CSS * [82]Usable in any browser References 1. http://www.agnula.org/search_form 2. http://www.agnula.org/documentation/dp_tutorials 3. http://www.agnula.org/documentation/dp_tutorials/no-x/copyright 4. http://www.agnula.org/documentation/dp_tutorials/no-x/author 5. http://www.agnula.org/documentation/dp_tutorials/no-x#documentContent 6. javascript:setActiveStyleSheet('Small Text', 1); 7. javascript:setActiveStyleSheet('', 1); 8. javascript:setActiveStyleSheet('Large Text', 1); 9. form field = text entry field 10. form field = submit button 11. http://www.agnula.org/ 12. http://www.agnula.org/documentation/dp_tutorials/no-x/index_html/portal_url 13. http://www.agnula.org/news 14. http://www.agnula.org/contacts/ 15. http://www.agnula.org/development/ 16. http://www.agnula.org/documentation/ 17. http://www.agnula.org/packages/ 18. http://www.agnula.org/download/ 19. http://www.agnula.org/development/agnula_bugs_requests/ 20. http://www.agnula.org/lists/ 21. http://www.agnula.org/project/ 22. http://www.agnula.org/login_form 23. http://www.agnula.org/portal_form/join_form 24. http://www.agnula.org/ 25. http://www.agnula.org/documentation/ 26. http://www.agnula.org/documentation/dp_tutorials/ 27. http://www.agnula.org/ 28. http://www.agnula.org/packages/ 29. http://www.agnula.org/contacts/ 30. http://www.agnula.org/development/ 31. http://www.agnula.org/documentation/ 32. http://www.agnula.org/documentation/dp_tutorials/ 33. http://www.agnula.org/documentation/dp_tutorials/first_steps/ 34. http://www.agnula.org/documentation/dp_tutorials/alsa_jack_ladspa/ 35. http://www.agnula.org/documentation/dp_tutorials/audacity/ 36. http://www.agnula.org/documentation/dp_tutorials/cd_tutorial/ 37. http://www.agnula.org/documentation/dp_tutorials/ceres3/ 38. http://www.agnula.org/documentation/dp_tutorials/common/ 39. http://www.agnula.org/documentation/dp_tutorials/cs_beginner/ 40. http://www.agnula.org/documentation/dp_tutorials/funktrackergold/ 41. http://www.agnula.org/documentation/dp_tutorials/jmax/ 42. http://www.agnula.org/documentation/dp_tutorials/midi/ 43. http://www.agnula.org/documentation/dp_tutorials/mix/ 44. http://www.agnula.org/documentation/dp_tutorials/muse/ 45. http://www.agnula.org/documentation/dp_tutorials/no-x/ 46. http://www.agnula.org/documentation/dp_tutorials/openmusic/ 47. http://www.agnula.org/documentation/dp_tutorials/pd_gem/ 48. http://www.agnula.org/documentation/dp_tutorials/snd/ 49. http://www.agnula.org/documentation/dp_tutorials/soundtracker/ 50. http://www.agnula.org/documentation/dp_tutorials/sc3/ 51. http://www.agnula.org/documentation/dp_tutorials/timidity/ 52. http://www.agnula.org/documentation/FAQ/ 53. http://www.agnula.org/documentation/newsletter/ 54. http://www.agnula.org/download/ 55. http://www.agnula.org/events/ 56. http://www.agnula.org/lists/ 57. http://www.agnula.org/documentation/dp_tutorials/no-x/index_html?navBatchStart=30 58. form field = text entry field 59. form field = password entry field 60. form field = submit button 61. http://www.agnula.org/mail_password_form 62. http://www.agnula.org/portal_form/join_form 63. http://www.agnula.org/documentation/dp_tutorials/no-x/index_html/portal_form/sendto_form 64. javascript:this.print(); 65. http://www.agnula.org/Members/sama 66. http://www.agnula.org/documentation/dp_tutorials/no-x/index_html/document_view?month:int=3&year:int=2006 67. http://www.agnula.org/documentation/dp_tutorials/no-x/index_html/document_view?month:int=5&year:int=2006 68. http://www.agnula.org/Members/sama/bocconi_seminar 69. http://www.agnula.org/Members/sama/announcement_left_meeting 70. http://www.agnula.org/Members/sama/proceedings_lac2005_newlink 71. http://www.agnula.org/Members/sama/proceedings_lac2005_available 72. http://www.agnula.org/Members/sama/agnula_host_recovered 73. http://www.agnula.org/news 74. http://www.plonesolutions.com/ 75. http://www.enfoldsystems.com/ 76. http://blacktar.com/ 77. http://plone.org/ 78. http://www.section508.gov/ 79. http://www.w3.org/WAI/WCAG1AA-Conformance 80. http://validator.w3.org/check/referer 81. http://jigsaw.w3.org/css-validator/check/referer 82. http://plone.org/browsersupport -- ==Osvaldo La Rosa==-==http://www.brlspeak.net/==-==GNU/Linux? 2B FREE== No individual should be discriminated against on the basis of disability in the full and equal enjoyment of the goods, services, facilities, privileges, advantages, or accommodations of any place of public accommodation (American Disability Act - 42. U.S.C. 12182[a]) _______________________________________________ BLinuXForum discussielijst BLinuXForum@lists.freearchive.org http://lists.freearchive.org/mailman/listinfo/blinuxforum Per E-mail aanmelden : 'mailto:[EMAIL PROTECTED]' Per E-mail afmelden : 'mailto:[EMAIL PROTECTED]' Archieven : http://lists.freearchive.org/mailman/pipermail/blinuxforum Oudere (Yahoogroups) archieven : http://groups.yahoo.com/group/blinuxforum/messages Zoeken in de archieven : http://lists.freearchive.org/cgi-bin/search.cgi Bookmarks : http://groups.yahoo.com/group/blinuxforum/links NieuwsLink, heet van de naald : http://www.ematic.nl/log.show.php.php?code\=kaal