PD sending to two devices?
You can assign discreet inputs and outputs but not multiple outputs across different audio devices. Sound software has to access sound hardware through it's drivers and it can't handle 2 sets of calls to two different drivers (if someone has the proper tech jargon, please step in).
There are ways of cheating but they all stink in some way:
On windows: VAC/audio repeater combo
You can use 'Virtual Audio cables' to create virtual devices that you can use for input and output between software. You can piggy-back that audio to different hardware devices by using the audiorepeater utility. So you can set up VAC to make 2 cables (VAC1 and VAC2). PD will use VAC1 and VAC2 as outputs. (Since VAC1 or VAC2 aren't hooked up to real hardware, you don't hear anything.) Then you run 2 instances of audiorepeater. One instance routes VAC1 to 'Onboard speaker out' and the other instance will route VAC2 to 'USB audio device out'.
Downside: Latency, Latency, Latency
The sound is delayed through each step in the chain, and the audio repeater latency can only go but so low before you get scratchy static and dropouts.
On Linux: ALSA virtual device
You can make a virtual soundcard using ALSA that can combine the outputs of two audio cards into one
'virtual' one and then set JACK to output to that device (the setup of which is too complex to explain here).
Downside: Latency/Timing
Each soundcard has it's own timing, and there's no way to keep them in synch, so you can control the latency and you'll have clicks, pops, dropouts, and tons of underruns.
On Mac OSX:
I haven't tried it, but I believe you can also make an aggregate device
There is also a VAC/audiorepeater type program you can use called Soundflower, but like VAC it's really only for routing sound between apps, not between hardware.
Long story short, between the latency introduced by the software and the clock timing differences between soundcards, you can really get anything usable.
Understanding pd's audio latency
hey hey!
probably my problems with pd's audio latency are easy to explain and eliminate, but by now i didn't make it by myself.
basically i am trying to create a looping-module for some simple live overdubbing. i already supposed that i have to factor in the latency for precise timing, but the presetted 50ms doesn't bring correct results. so i measured the latency with this latency.pd patch, using jack to create the feedback, it shows me a latency of about 24.6ms. is this latency constant? and what does the 50ms-preset mean?
and by the way, what are the first steps to optimize (minimize) the latency?
i am using ubuntu studio, pd-extended and right now the built-in sound card of my ibm think pad t41.
thank you!
Compiling on osx \#1
hello
i have hard times on osx here...
system: osx (10.6) on a macbook pro
i downloaded pd, checked it out from git and svn, but so far there is no version i compiled which is working
when i compile the checked out version from git-repository, pd compiles, but when i start it i get this error:
2011-02-18 17:21:56.182 pd[72376:903] Error loading /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: dlopen(/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: no matching architecture in universal wrapper
2011-02-18 17:21:56.184 pd[72376:903] Cannot find function pointer NewPlugIn for factory C5A4CE5B-0BB8-11D8-9D75-0003939615B6 in CFBundle/CFPlugIn 0x100600a70 </Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin> (bundle, not loaded)
2011-02-18 17:21:56.189 pd[72376:903] Error loading /Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter: dlopen(/Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/HAL/JackRouter.plugin/Contents/MacOS/JackRouter: no matching architecture in universal wrapper
2011-02-18 17:21:56.190 pd[72376:903] Cannot find function pointer New_JackRouterPlugIn for factory 7CB18864-927D-48B5-904C-CCFBCFBC7ADD in CFBundle/CFPlugIn 0x100602d20 </Library/Audio/Plug-Ins/HAL/JackRouter.plugin> (bundle, not loaded)
Error in startup script: couldn't read file "5400": no such file or directory
i dont know what to do.
thanks for any help.
ingo
Latency worse through ASIO than through MMIO
Hello brilliant creators of music,
In an attempt to reduce my sound synthesis latency I picked up a new sound card with ASIO drivers. When I got the card I re-configured PD to use the ASIO drivers, and I set my latency down to ~10 ms, and the audio sounded fine. However, when I tested the latency I found out that I get an extra 100 ms delay on top of PD's delay when I use the ASIO drivers. When I take this mystery latency into account, I get better latency when I use the MMIO drivers.
I noticed that PD uses pulseaudio for routing when it uses the ASIO drivers. I know that pulseaudio is supposed to be low latency, but could this be where my magic 100ms delay is coming from? If so, do any of you know how to fix it?
thanks!
Midi unwanted LOOP massages or bad feedback
It was my WINDOWS thats LAGS a lot after some use. I try it on another win7 optimized for live preformace and it WORKS. I am using midiyoke.
Is IAC bad? I am asking because I made this for MAC and WIN users, so MAC users keep asking me about midiyoke alternative for MAC?
just to ask does this worth buying http://www.nerds.de/en/loopbe30.html
and about latency,maybe it must be like this(LOOK PATCH,its only example)
thank you Maelstorm for everything
MIDI latency in PD
Hi to all, this is my first post in this forum.
I'm trying to use PD's patches inside my setup, and now I'm struggling with the MIDI latency that PD creates.
First of all, I'm a drummer and I use a drumpad(DrumKat) to trigger samples on my laptop, so for me the latency is a 1st class problem.
I have two setups: one with Ubuntu 10.04(Kernel 2.6.33-29-realtime) + jack, and the other with OSX leopard + jackosx. The first one is the more tested.
I want to know the latency that PD creates between notein-noteout process.
To do this, I simply connected my drumpad to PD's midiin, PD's midiout to PD's midiin, and opened my patch(attached to this post).
If the patch is right, there is a link between jack's latency and PD's MIDI latency.
If I set jack's framebuffer to 256, I have 11.6 msec of audio latency and 5.8 ms of PD's MIDI latency.
If I set jack's framebuffer to 128, I have 5.8 msec of audio latency and 2.9 ms of PD's MIDI latency.
Is this correct? Is there a way to reduce MIDI latency without changing the audio latency of jack?
Thank you and sorry for my english.
Nicola
Muug~ nonlinear moog ladder filter
Did as you said, though I had a hard time converting from SVN to GIT. Since you only performed two commits I just did it by hand, noting your commit dates.
http://gitorious.org/muug/muug#
If we could get someone to compile a windows binary for us that would be great. Maybe Count Binoculars could do so. Tarball is here http://gitorious.org/muug/muug/archive-tarball/master
EDIT: grammar
How to Enjoy Your Favorite Videos on Portable Devices at Will For Mac
Are you a Mac user?
Do you still feel frustrated that you can't enjoy your favorite videos on portable devices at will?
Now, a professional software---Aiseesoft Video Converter for Mac(http://www.aiseesoft.com/video-converter-for-mac.html)
can help you to solve all the problems. With it, you can convert between all popular video and audio formats with super fast conversion speed and high output quality, such as AVI, MP4, MOV, MKV, WMV, DivX, XviD, MPEG-1/2, 3GP, 3G2, VOB Video, MP3, AAC, and AC3 Audio etc. In addition, the best video converter for Mac can also extract audio from video file and convert video to MP3, AC3, and AAC...as you want.
OK, let's move to how to use the amazing software.
Step 0: Download and install Aiseesoft Video Converter for Mac.
After a while, you can use the following interface:
http://www.aiseesoft.com/images/guide/dvd-converter-suite-mac/video.jpg
Step 2. Load Video
You can load your video by clicking "Add File" button or clicking "File" button, you can choose "add file" on a drop-down list.
Step 3. Output format and Settings
From the "Profile" drop-down list you can find one format that meets your requirement.
After doing the 3 steps above, you can click "start" button to start conversion.
Wait a minute, the conversion will be soon finished.
Tips:
1. Trim
"Trim" function is for you to select the clips you want to convert.
There are 3 ways that you can trim your video.
a. You can drag the buttons(1) to set the start and end time
b. You can preview the video first and when you want to start trim click the left one of the pair buttons(2) when you want to end click the right one.
c. You can set the exact start and end time on the right side of the pop-up window.
It is for you to select the clips you want to convert.
http://www.aiseesoft.com/images/guide/dvd-ripper-for-mac/trim.jpg
2. Crop
Cut off the black edges of the original movie video and watch in full screen using the "Crop" function.
There are 3 ways that you can crop your video.
a. We provide 7 modes on our "Crop Mode"(1)
b. You can set your own mode on the right side of the pop-up window(2)
c. You can drag frame to set your own crop mode(3)
You can cut off the black edges of the original movie video and watch in full screen using the "Crop" function.
http://www.aiseesoft.com/images/guide/dvd-ripper-for-mac/crop.jpg
3. Snapshot and merge into one file
If you like the current image of the video you can use the "Snapshot" option. Just click the "Snapshot" button the image will be saved and you can click the "Open" button next to "Snapshot" button to open your picture.
If you want to make several files output as one you can choose "Merge into one file".
If you are windows users, you can go to Aiseesoft Total Video Converter(http://www.aiseesoft.com/total-video-converter.html) to get more information.
Export patch as rtas?
@Maelstorm said:
If you're on OSX, jack can be used as an insert plug-in so you can avoid the separate tracks, but you still get the latency.
which you can, depending on your host, eliminate by setting the track delay for the track with the plugin. So if the buffer is 512 sample/11.82 ms then set the delay to that and it should be spot on.
I've had the whole Jack graph latency explained to me numerous times by Stephane Letz and it still doesn't go in.....Heres what he told me...
> > Its the Pd > JAck > Ableton latency. (Ableton has otoh 3 different
> > ways of manually setting latency compensation - I'm just not very
> > clear on where to start with regards to input from JAck)
> >>>>
>
> This is NO latency introduced in a Pd > JAck > Ableton kind of
> chain; the JACK server activate each client in turn (that is Pd *then*
> Ableton in this case) in the *same* given audio cycle.
>
> Remember : the JACK server is able to "sort" (in some way) the graph
> of all connected clients to activate each client audio callback at the
> right place during the audio cycle. For example:
>
> 1) in a sequential kind of graph like IN ==> A ==> B ==> C ==> OUT,
> JACK server will activate A (which would typically consume new audio
> buffers available in machine audio IN drivers) then activate B (which
> would typically consume "output" just produced by A) , then activate
> C , then produce the machine OUT audio buffers.
>
> 2) in a graph will parallel sub-graph like : IN ==> A ==> B ==> C
> ==> OUT and IN ==> D ==> B ==> C ==> OUT (that is both A and D are
> connected to input and send to, then JACK server is able to
> activate A and D at the same time (since the both only depends of IN)
> and a multi-core machine will typically run A and D at the same time
> on 2 different cores. Then when A *and* D are finished, B can be
> activated... and so on.
>
> The input/output latency of a usual CoreAudio application running
> is: driver input latency + driver input latency offset + 2
> application buffer-size + driver output latency + driver output
> latency offset.
>
this next part is the important bit i think...
> For a graph of JACK clients: driver input latency + driver input
> latency offset + 2 JACK Server buffer-size + ( one extra buffer-
> size ) + driver output latency + driver output latency offset.
>
> (Note : there is an additional one extra buffer-size latency on OSX,
> since the JACK server is running in the so called "asynchronous" mode
> [there is also a "synchronous" mode without this one extra buffer-size
> available, but it is less reliable on OSX and we choose to use the
> "asynchronous" mode by default.])
>
> Stephane
>
Open DMX external?
hi there
i followed the different forum post on getting the enttec open dmx usb to work in ubuntu and pd.
so far i downloaded the dmx4linux-2.6 package
extracting it ok
patching it ok
./configure ok
make gives me this result:
make -C libs all
make[1]: Betrete Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/libs'
cc -c -o open.o open.c
cc -c -o sleep.o sleep.c
ar rcs libdmx4l.a open.o sleep.o
cc -fPIC -c -o open.lo open.c
cc -fPIC -c -o sleep.lo sleep.c
cc -shared -Wl,-soname,libdmx4l.so.2 -o libdmx4l.so.2.5 open.lo sleep.lo -lc
ln -sf libdmx4l.so.2.5 libdmx4l.so.2
ln -sf libdmx4l.so.2 libdmx4l.so
make[1]: Verlasse Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/libs'
make -C tools all
make[1]: Betrete Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/tools'
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o dmxtest.o dmxtest.c
dmxtest.c: In Funktion »Reader«:
dmxtest.c:65: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
dmxtest.c: In Funktion »Writer«:
dmxtest.c:143: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o dmxtest dmxtest.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o midi2dmx.o midi2dmx.c
midi2dmx.c: In Funktion »DMXput«:
midi2dmx.c:246: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
midi2dmx.c:254: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
midi2dmx.c: In Funktion »reset«:
midi2dmx.c:297: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o midi2dmx midi2dmx.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o uart_dmxd.o uart_dmxd.c
cc -L/home/maik/externals/dmx4linux-2.6.1/libs -o uart_dmxd uart_dmxd.o -ldmx4l
cc -Ipointer -Wall -O2 -I/home/maik/externals/dmx4linux-2.6.1/include -c -o dmxconsole.o dmxconsole.c
dmxconsole.c:19:20: Fehler: curses.h: No such file or directory
dmxconsole.c: In Funktion »mask«:
dmxconsole.c:138: Warnung: Implizite Deklaration der Funktion »erase«
dmxconsole.c:141: Warnung: Implizite Deklaration der Funktion »attrset«
dmxconsole.c:142: Warnung: Implizite Deklaration der Funktion »move«
dmxconsole.c:143: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:143: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
dmxconsole.c:143: Fehler: für jede Funktion in der er auftritt.)
dmxconsole.c:144: Warnung: Implizite Deklaration der Funktion »addch«
dmxconsole.c:148: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:161: Warnung: Implizite Deklaration der Funktion »printw«
dmxconsole.c: In Funktion »values«:
dmxconsole.c:199: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:207: Warnung: Implizite Deklaration der Funktion »mvprintw«
dmxconsole.c:249: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:263: Warnung: Implizite Deklaration der Funktion »attron«
dmxconsole.c:263: Fehler: »A_REVERSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:268: Warnung: Implizite Deklaration der Funktion »addstr«
dmxconsole.c: In Funktion »crossfade«:
dmxconsole.c:362: Warnung: Implizite Deklaration der Funktion »refresh«
dmxconsole.c: In Funktion »load«:
dmxconsole.c:404: Warnung: Der Rückgabewert von »fread«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
dmxconsole.c: In Funktion »changepalette«:
dmxconsole.c:470: Warnung: Implizite Deklaration der Funktion »init_pair«
dmxconsole.c:470: Fehler: »COLOR_BLACK« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:470: Fehler: »COLOR_CYAN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:471: Fehler: »COLOR_GREEN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:472: Fehler: »COLOR_WHITE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:473: Fehler: »COLOR_BLUE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:474: Fehler: »COLOR_RED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:476: Fehler: »COLOR_YELLOW« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:492: Warnung: Implizite Deklaration der Funktion »COLOR_PAIR«
dmxconsole.c:503: Fehler: »A_REVERSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:504: Fehler: »A_BOLD« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:505: Fehler: »A_NORMAL« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: In Funktion »calcscreengeometry«:
dmxconsole.c:536: Fehler: »COLS« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:543: Fehler: »LINES« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: Auf höchster Ebene:
dmxconsole.c:566: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »*« token
dmxconsole.c: In Funktion »pointerevent«:
dmxconsole.c:613: Fehler: »KEY_UP« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:616: Fehler: »KEY_DOWN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:620: Fehler: »KEY_LEFT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:623: Fehler: »KEY_RIGHT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:627: Fehler: »KEY_PPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:630: Fehler: »KEY_NPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c: Auf höchster Ebene:
dmxconsole.c:636: Fehler: expected »)« before »a«
dmxconsole.c: In Funktion »cleanup«:
dmxconsole.c:648: Fehler: »w« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:650: Warnung: Implizite Deklaration der Funktion »resetty«
dmxconsole.c:651: Warnung: Implizite Deklaration der Funktion »endwin«
dmxconsole.c: In Funktion »main«:
dmxconsole.c:793: Fehler: »w« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:793: Warnung: Implizite Deklaration der Funktion »initscr«
dmxconsole.c:800: Warnung: Implizite Deklaration der Funktion »savetty«
dmxconsole.c:801: Warnung: Implizite Deklaration der Funktion »start_color«
dmxconsole.c:802: Warnung: Implizite Deklaration der Funktion »noecho«
dmxconsole.c:803: Warnung: Implizite Deklaration der Funktion »raw«
dmxconsole.c:804: Warnung: Implizite Deklaration der Funktion »keypad«
dmxconsole.c:804: Fehler: »TRUE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:811: Fehler: »mmask_t« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:811: Fehler: expected »;« before »m«
dmxconsole.c:812: Warnung: Implizite Deklaration der Funktion »mousemask«
dmxconsole.c:812: Fehler: »BUTTON1_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON2_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON3_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »BUTTON4_PRESSED« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »REPORT_MOUSE_POSITION« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:812: Fehler: »m« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:813: Warnung: Implizite Deklaration der Funktion »mouseinterval«
dmxconsole.c:855: Warnung: Implizite Deklaration der Funktion »wgetch«
dmxconsole.c:961: Fehler: »KEY_PPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:979: Fehler: »KEY_NPAGE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1012: Fehler: »KEY_HOME« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1018: Fehler: »KEY_END« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1026: Fehler: »KEY_RIGHT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1031: Fehler: »KEY_LEFT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1036: Fehler: »KEY_DOWN« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1047: Fehler: »KEY_UP« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1059: Fehler: »KEY_IC« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1066: Fehler: »KEY_DC« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1129: Warnung: Implizite Deklaration der Funktion »KEY_F«
dmxconsole.c:1129: Fehler: case-Marke reduziert nicht auf Ganzzahlkonstante
dmxconsole.c:1133: Fehler: case-Marke reduziert nicht auf Ganzzahlkonstante
dmxconsole.c:1137: Fehler: »KEY_MOUSE« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1139: Fehler: expected »=«, »,«, »;«, »asm« or »__attribute__« before »oldevent«
dmxconsole.c:1139: Fehler: »oldevent« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1140: Fehler: »MEVENT« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1140: Fehler: expected »;« before »event«
dmxconsole.c:1141: Warnung: Implizite Deklaration der Funktion »getmouse«
dmxconsole.c:1141: Fehler: »event« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1141: Fehler: »OK« nicht deklariert (erste Benutzung in dieser Funktion)
dmxconsole.c:1141: Warnung: Implizite Deklaration der Funktion »meventcmp«
dmxconsole.c:1184: Warnung: Implizite Deklaration der Funktion »resizeterm«
make[1]: *** [dmxconsole.o] Fehler 1
make[1]: Verlasse Verzeichnis '/home/maik/externals/dmx4linux-2.6.1/tools'
make: *** [all] Fehler 2
any suggestions? something with dmxconsole?
i'm really not into all the programming stuff so i basically need everything step by step.
hope someone can help
greets uisel