web-archive-net.com » NET » D » DIRKBERTELS.NET

Total: 62

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Dirk Bertels - Piano Groove Tutor v0.7
    the following sections back to index Create MIDI files My method is to play the grooves on a MIDI keyboard and record it using a software sequencer The one I use is Cubase Cubase Lite comes free with many applications There are other software sequencers around that are free You can alternatively enter the notes manually which requires more work The following settings are required for each MIDI file for the application to work correctly Right Hand channel 1 required Left Hand channel 2 required Bass channel 3 optional Drums channel 10 optional Two points of note It is better to quantize your MIDI files so that the loop settings start and stop on the right notes otherwise notes may be lost when looping through sections This will be at the cost of musicality but this is a practice tool after all When you save the MIDI file and you have the option to set some settings make sure not to add any unnecessary data such as system exclusive data and event data because we will need to edit those out later on back to index Edit MIDI files This is necessary mainly to clean up all the extra stuff that sequencer software tends to add to the MIDI file There is great SW that can help accomplish this editing Mtx2Midi and Midi2Mtx Once you installed this sw you can Right Click on any midi file and choose Convert to MTX to convert it to a text file which you can open with Notepad or Notepad which I prefer Once you edited this text file you can convert it back to MIDI with Right Clicking on the mtx file and choosing Convert to Midi In Windows 7 you may need to select Open with first To be able to edit MIDI files you will need to have a good understanding of the MIDI protocol It really is not very hard this article gives a good overview of the MIDI format Here s an example of a simple MIDI file which contains just a few notes The explanations in the right column were added by me and are not part of the file MFile 1 4 96 file header with following values format One of three types 0 means contains single track 1 means one or more simultaneaous tracks 2 means one or more sequentially independent single track patterns numtracks number of tracks division pulses ticks per quarter note resolution MTrk start of track 0 TimeSig 4 4 24 8 at tick 0 the timesignature values are declared in the first track only time signature 4 4 24 clocks per quarter note standard 8 32nd notes in a midi quarter note 0 Tempo 500000 each quarter note is 500 000 microseconds long Refered to as microtempo To calculate bpm use 60 10 6 value Here 60 10 6 500000 120 bpm To calculate Microsecs per quarter note use 60 10 6 value Here 60 10 6 120 500000 microsecs per quarter note 384 Meta TrkEnd meta information for the end of track occurs at tick 384 TrkEnd end of track declaration MTrk 0 PrCh ch 1 p 5 program change event channel 1 program also referred to as patch or instrument 5 192 On ch 1 n 76 v 32 at click 192 we have a note on event on channel1 note 76 volume of 32 384 On ch 1 n 76 v 0 at click 384 the same note s volume is set to 0 This is used instead of a note off event which essentially does the same thing 384 Meta TrkEnd TrkEnd MTrk 0 PrCh ch 2 p 46 96 On ch 2 n 67 v 64 384 On ch 2 n 67 v 0 384 Meta TrkEnd TrkEnd MTrk 0 PrCh ch 3 p 70 0 On ch 3 n 48 v 96 0 On ch 3 n 60 v 96 384 On ch 3 n 48 v 0 384 On ch 3 n 60 v 0 384 Meta TrkEnd TrkEnd Here s a snapshot of one of my MIDI files without the actual note data Note that this one hasn t got a bass track MFile 1 6 480 6 tracks one of which is a header track MTrk 0 Meta SeqName groove01 0 Tempo 600000 0 TimeSig 4 4 24 8 0 Meta TrkEnd TrkEnd MTrk 0 Meta TrkName RH 0 PrCh ch 1 p 0 240 On ch 1 n 58 v 99 15360 Meta TrkEnd TrkEnd MTrk 0 Meta TrkName LH 0 PrCh ch 2 p 0 241 On ch 2 n 31 v 0 15360 Meta TrkEnd TrkEnd MTrk 0 Meta TrkName Rhythm 0 PrCh ch 10 p 127 0 On ch 10 n 35 v 111 15360 Meta TrkEnd TrkEnd Try to edit your MIDI files so they look like this This is to avoid any unnecessary conflicts in the software Things you need to look out for Watch the Meta TrkEnd lots of sequencer SW doesn t snap to the end of the track which affects the timing when it is looping In this example all Meta TrkEnd values must have the value 15360 in the above example for the following reason First of all I know that the groove is 8 bars long not directly given in the file The first line indicates that we have a 480 ticks per quarter note resolution A few lines up we read that we have a 4 4 time signature which means that each bar has 4 quarter notes So knowing this we should have a total of 480 8 4 15360 ticks Remove any duplication and Program Change events Remove all track volume settings not the individual note volume settings back to index Create the Score The score is just an image so technically any image that stays within the limits of W 700 and H 600 should do as long as it is in the PNG format Creating a good

    Original URL path: http://www.dirkbertels.net/computing/dbTutor_v07.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Piano Groove Tutor
    download the soundbank as well Thanks for your help and for sharing this great program with us Andre From Viet To Date 2009 08 11 05 31 37 Hello Dirk Please notify me for future updates of the tutor program Thanks very much Regards Viet To From Shasta Date 2009 08 23 11 38 10 Hello great program How do I get the New Sessions by Jonathon Wilson to be added to the Piano Groove Tutor with the other sessions Can you please tell me what I m doing wrong Thanks Shasta From Dirk Date 2009 08 24 01 49 09 Hi Shasta I assume that you have the 0 5 version not the webstart one because you can t add sessions to that Once you ve downloaded a session you will find that it is a file that ends with a jar extension All you need to do is to find the dbTutor application folders One folder is called sessions Just stick the downloaded jar file into that with the other jar files that are already there Then restart the application it should recognize the extra session s Let me know how you go From shasta Date 2009 08 25 07 05 35 hello yes I have the 0 5 version the sessions I downloaded from site are real player MIDI Audio files and PGN IMAGE for notations These files do not look like the Jar file that came with your program the are the other files I download Salsa Tunes II Funk Jonathon F Funk Jonathon G Funk Jonathon II Salsa Tunes I none is working with the program and they are not the jar file shasta From Dirk Date 2009 08 26 00 36 11 Hi Shasta Each new session you download is a jar file This jar file does contain midi and png files but the jar file should not be unzipped All you need to do is to stick the jar file into the sessions folder From shasta Date 2009 08 29 09 19 35 when I download the sessions the image looks like a zip folder image instead of the Jar image like the three default sessions that comes with the program when downloaded Why is that From Dirk Date 2009 08 30 00 51 50 Firstly you should really be using the word file instead of image Although there are different uses for the word image in this context we re talking about files which is a more generic term of a bunch of data If the hide extensions for known file types option in start folder options view is NOT ticked you should see that both the sessions that came with the application and new sessions are jar files they end with a jar extension Confusingly a jar file can be lot of things an executable a compressed data file like zip or simply a storage for data The session files are of the latter type they store both midi and image files for a whole session The actual program executable is of the first type For some reason your system sees the jar files in the sessions that came with the application differently than it sees the new session files even though they both are of exactly the same type i e they both are storages for midi files and image files If your program doesn t recognise the newly downloaded sessions it might be that you need to download them again one by one From shast Date 2009 08 30 20 21 01 Thanks Dirk for your patience I have downloaded these session one at a time already Do you mean to download Yes the default sesisson are the an executable jar files but the new sessions file downloads as File Folder type instead of Executable Jar File that can be open via Java TM Platform SE When down loading the sessions I choose save to session folder but it do not download as a executable jar files i e I download to C Program Files Piano Groove Tutor PianoGroove and C Program Files Piano Groove Tutor PianoGrooveTutor sessions Funk Grooves zip That is what it read in properties Do I need to download the Latest version Piano Groove Tutor version 0 5 again I hope we can find a solution shasta From Dirk Date 2009 08 31 02 01 29 Hi Shast The default session files are not executables they are exactly of the same type as the new sessions see my previous comment i e they are storage files for data each one containing score images and midi files It may be easier to go through the whole process 1 Delete all files related to the piano groove tutor 2 Download the whole program again from the Downloading and starting the Piano Groove Tutor chapter above 3 UNZIP it to a suitable location in Program Files Now you have 2 folders images and sessions and the executable jar file You ll notice that the sessions folders contains 3 jar files 4 Download the new sessions they are just more jar files DON T unzip them and stick them in the sessions folder with the other jar files 5 Create a link to the executable jar file on your desktop and start the application from there Hope that makes it clear From Larry Date 2009 09 03 23 08 12 Dirk Dirk Yee Ha Don t know if you remember but many months ago I tried installing Piano Tutor on my iMac with no luck OS X was only available with JRE 1 5 and that didn t work I just installed Snow Leopard OS X 10 6 on my machine and now Piano Tutor works like a champ I haven t specifically checked but Snow Leopard must have finally moved to JRE 1 6 Thanks Larry From Dirk Date 2009 09 04 10 44 44 Thanks for letting us know Larry Snow Leopard MAC does come up with

    Original URL path: http://www.dirkbertels.net/computing/dbTutor.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Piano Groove Tutor - Web version
    Using FireFox Firefox 3 0 1 The webpage displays correct java version information The play sound does what it says When clicking on the webstart button download starts java webstart starts but the application does not launch probably security constraints ff does not have write rights or s thing like that Then I downloaded it to the local file system and started from there The app starts up Loaded up the Session Funk Jonathan 16 and played and looped all grooves no problems everything seems to be in sync Loaded up the Session Salsa 1 and played and looped all grooves no problems everything seems to be in sync General remarks The app does not retain the play settings when switching grooves I m not a big fan of Swing interfaces it s my believe that UI s should be OS dependent as to not surprise the user Might be nice feature if a cursor was to loop through the notes also Overall impressed We re having guests over if I find the time I ll take it for a testrun on Vista this requires a reboot and I m not a big fan of reboots Yes I should virtualize my Ubuntu and run it in a VM Haven t got around doing that yet PS revisiting the piano tutor web page to leave this comment I got an Applet system check bail in the status bar When I closed the piano tutor and reloaded the page this was working fine again Could ve been a temporary glitch or something will check it back from time to time and let you know if this persists From Per Date 2008 09 21 19 05 35 Windows Vista Running on the same portable with an almost standard Vista install C Users per java version java version 1 6 0 07 Java TM SE Runtime Environment build 1 6 0 07 b06 Java HotSpot TM Client VM build 10 0 b23 mixed mode sharing FireFox 2 0 0 16 Download run loops etc all working ok all in sync Internet Explorer The piano tutor only displays until the System Check heading nothing beyond that The check page does say I have Java version 1 6 0 07 it also says Midi sound not available No idea what s wrong here Google Chrome This one needs Java 1 6 update 10 I ll have to get back to that some other time From Dirk Date 2008 09 21 23 11 35 Per I knew I could trust you to give me such a comprehensive report Thanks for that it helps me a lot This cache overload thing I noticed those 64 folders in my cache too but did not realise that it might have been my application causing it which surely must say something about me I assumed that the cache just allowed for a maximum of 64 entries and initialised the folders for these From your report and Ludo s I think I will get rid of the system check which is using an applet possibly not a good idea for both the Applet and Web Start to access the same resources such as the soundbank This Java Web application shouldn t have any security issues since it all runs in a sandbox and I m not accessing any ehrr maybe i do I m not accessing files and the like but if java soundbank isn t included in the JRE in the lib audio folder it will be trying to look for another one which is where the security problems may occur Also did you read the comment I made you didnt did you regarding the JDK s JRE still using old sound jar files which need to be removed because they re interfering with the newer java sound API At the end you have different results with FF and IE could it be that they re using different JREs For now unless someone like you convinces me otherwise i will 1 get rid of the system check Web Start should prompt for the correct JRE anyway 2 give feedback on the soundbank check in the application itself and 3 somehow make sure people use the java soundbank included in the JRE they are working with 4 sign all my jars so Web Start can ask for permission if a security problem occurs I will fully digest your findings and no doubt get back to you This cache overload is a worry One last thing it sometimes happens there is a long delay between finished download and the application starting up From ludo Date 2008 09 22 06 29 50 had same experience as Per re display with explorer stops after system check as I mentioned in email From Dirk Date 2008 09 22 08 50 05 Ok so I got rid of the system check and updated the page to give more information on how to download a soundbank which seems necessary in most cases since the later JREs don t come with soundbanks anymore This of course doesn t make this a very user friendly download i mean you ve got to be quite desperate Still need to fix the cache overload and update the application itself to handle the soundbank download From Per Date 2008 09 22 16 16 44 Hi Dirk Just to clarify I m not at all at home in the Java world doing mainly Python now and some PHP I retried the app today on aforementioned Ubuntu environment it worked as it should I didn t need to download the jnlp first Guess I probably suffered from the long delay between downloading and starting up that you ve mentioned Dunno exactly but I waited around a minute or 2 On the cache I might have jumped to premature conclusions when I now checked the cache dir all 64 subdirs timestamp were updated No new directories were created so I think you were right on Java

    Original URL path: http://www.dirkbertels.net/computing/dbTutorDemo.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Piano Groove Tutor - Coding issues
    a few changes to the GUI such as making it scaleable to different resolutions I had to abandon using Matisse and create the code by hand I still used the GroupLayout which took some getting used to but it turned out quite succesful in the end I also delegated the GUI to its own class which made the main class less cluttery Dynamically adding components to the GUI created with Matisse The GroupLayout uses an interesting system each of its components is described on both the horizontal and vertical plane Here s one reason why I m harping on about this stuff I needed to dynamically create 3 components for each track since each midi file has a different number of tracks All I had created with Matisse was this panel called trackPnl for me to use as a container for these components The following code creates the checkboxes at runtime dynamically adding components to the panel created previously with Matisse The aim is to create a row of 2 labels followed by as many rows as there are tracks containing a label track number and 3 checkboxes each image to be added Following code does the deed JLabel soloLbl new JLabel solo JLabel showLbl new JLabel mute create a layout for the trackPnl javax swing GroupLayout trackPnlLayout new javax swing GroupLayout trackPnl trackPnl setLayout trackPnlLayout handle gaps automatically trackPnlLayout setAutoCreateGaps true trackPnlLayout setAutoCreateContainerGaps true create hash maps for each object for easy reference HashMap trackLblMap new HashMap HashMap soloCbxMap new HashMap HashMap muteCbxMap new HashMap create 3 components for each track for int i 0 i numTracks i trackLblMap put Integer toString i new JLabel track i soloCbxMap put Integer toString i new JCheckBox muteCbxMap put Integer toString i new JCheckBox 1st Parallel group for HorizontalGroup GroupLayout ParallelGroup pgH1 trackPnlLayout createParallelGroup GroupLayout Alignment LEADING for int i 0 i numTracks i pgH1 addComponent JLabel trackLblMap get Integer toString i 2nd Parallel group for HorizontalGroup GroupLayout ParallelGroup pgH2 trackPnlLayout createParallelGroup GroupLayout Alignment LEADING pgH2 addComponent soloLbl for int i 0 i numTracks i final int j i final JCheckBox solo JCheckBox soloCbxMap get Integer toString i pgH2 addComponent solo solo addActionListener new ActionListener public void actionPerformed ActionEvent e sequencer setTrackSolo j solo isSelected keyboard piano unsetAllKeys 3rd Parallel group for HorizontalGroup GroupLayout ParallelGroup pgH3 trackPnlLayout createParallelGroup GroupLayout Alignment LEADING pgH3 addComponent showLbl for int i 0 i numTracks i final int j i final JCheckBox mute JCheckBox muteCbxMap get Integer toString i pgH3 addComponent mute mute addActionListener new ActionListener public void actionPerformed ActionEvent e sequencer setTrackMute j mute isSelected keyboard piano unsetAllKeys Add all the Parallel Groups to the Horizontal Group trackPnlLayout setHorizontalGroup trackPnlLayout createSequentialGroup addGroup pgH1 addGroup pgH2 addGroup pgH3 Create Vertical Groups There are as many vertical groups as there are tracks header we need to create a SequentialGroup first so we can add the ParallelGroups to them as we go GroupLayout SequentialGroup sgV trackPnlLayout createSequentialGroup First ParallelGroup for VerticalGroup GroupLayout ParallelGroup pgV1 trackPnlLayout createParallelGroup GroupLayout Alignment LEADING

    Original URL path: http://www.dirkbertels.net/computing/dbTutorCode.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Asynchronous Commenting with Ajax
    font p div END CommentsLocation Reply from ajax communication div id ajaxReply style color red display none div br br div style margin top 30px margin bottom 20px a name comments a h3 Add your comment h3 div script type text javascript script form id cform php echo input type hidden name f id value topic table style background color eeeeee border width 1px border spacing 1px border style outset border color gray border collapse separate padding 10px width 100 tr td width 25 strong Name strong br small nbsp small td td width 75 input type text name f name id f name size 25 td tr tr td strong Email strong br small will never be published small td td input type text name f email id f email size 40 td td tr tr td strong Copy this code strong br img src images key gif align bottom height 20 width 100 td td input type text name f code ID f code size 20 maxlength 20 td tr tr td colspan 2 small nbsp small td tr tr td strong Your Comment strong br small nbsp small td td nbsp td tr tr td colspan 2 textarea name f comment id f comment rows 10 cols 65 wrap physical textarea td tr tr td nbsp br nbsp td td input type button value Send Comment onclick addComment td tr table form script type text javascript var lv name new LiveValidation f name lv name add Validate Presence var lv email new LiveValidation f email lv email add Validate Presence lv email add Validate Email var lv code new LiveValidation f code lv code add Validate Presence var lv comment new LiveValidation f comment lv comment add Validate Presence function addComment if LiveValidation massValidate lv name lv email lv code lv comment new Ajax Request addcomment php method post parameters cform serialize true onLoading function ajaxReply show ajaxReply innerHTML Sending onSuccess function transport var response transport responseText No response text commentsLocation innerHTML response f code value ajaxReply hide onFailure function ajaxReply show ajaxReply innerHTML Failed to execute else ajaxReply show ajaxReply innerHTML All fields need to be verified script STYLES FOR LIVEVALIDATION style type text css LV validation message font weight normal margin 0 0 0 5px LV valid color 00CC00 LV invalid color CC0000 LV valid field input LV valid field hover input LV valid field active textarea LV valid field hover textarea LV valid field active border 1px solid 00CC00 LV invalid field input LV invalid field hover input LV invalid field active textarea LV invalid field hover textarea LV invalid field active border 1px solid CC0000 style p align right a href top back to top a p div div Note that you can print this code including the line numbers by clicking the small print link at the top of each code excerpt This way it s easier to refer to the respective line numbers discussed below Lines 1 to 2 Import the said javascript libraries Line 10 The commentsLocation div mentioned earlier on This is the location where all server returns ends up Lines 12 to 36 Echo all the comments currently available for this topic The feedback variable will hold the server s response to its actions Line 36 is responsible for the actual echoing of the comments data Line 43 Echo the feedback if a problem occured with the database Line 48 This is the ajaxReply div location mentioned earlier Lines 59 to 98 The form Note the hidden field that is set to the value that was set on the page that includes the template code the topic variable in the 2 liner Note also the button that calls addComment on line 95 Lines 101 to 110 These are the LiveValidation methods that handles local validation of the form fields Lines 113 to 145 The Ajax functionality handled by the prototype js library The server php file is referred to on line 117 Ajax ensures that all the server reply ends up in the comments location area with line 129 The actual validation results from Ajax end up in the AjaxResponse area Lines 149 to 176 Styles for the LiveValidation library Compare the form in the code above with the previous form we discussed on Using Ajax and PHP listing 11 Firstly this code uses a table while the other one used fieldset and label tags to organise its form elements While I like the idea of using fieldset and label tags unfortunately IE and FF treat them very differently and hence display different results But there are major differences this form does not have an action attribute nor a submit button as the previous form did Those 2 factors are responsible for the usual synchronous form action Ajax uses buttons to call javascript functions to send the form asynchronously Also some extra bits have been added such as an image with a code that the user needs to replicate this is a very useful addition to avoid spam I speak from experience here You need to change this image from time to time and alter the comparison value in the server file addcomment php as well As a sideline there is the issue of lazy people like me giving the id and name attributes the same value As long as you know that the name value is what the form uses to send to the server while the id is what the DOM javascript and CSS uses to identify the fields Using the same name for both makes it a little easier to code since the browser will handle the implementation correctly anyway In proper XML only FORM controls OBJECTs PARAMs and METAs are permitted a name attribute back to index Implementing the Server functionality The file that resides on the server takes care of saving the data gotten from the form via the POST protocol and reading all the commenting data for a particular page from the

    Original URL path: http://www.dirkbertels.net/computing/ajax2.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Video Editing
    the avs file to convert to the MPEG2 format necessary for DVD and burn it to disc It is easy to see that this is a very efficient way of editing Altering single lines can greatly alter the edited video without the necessity for large amounts of memory back to index More advanced Video Editing Method 1 The editing we have done so far has been very rudimentary This chapter gives a more detailed account of Video editing It focuses on converting video from tape into separate audio and video files mixes them back together selects relevant passages from the clips splices them and finaly adds intro and outro images with background audio 1 Preparation Here s a simple video edit procedure that illustrates the stages you need to go through I have some video material very badly recorded from which I want to make a little demo video There were initially about 12 files about an hour s worth from which I needed to take samples for a total of about 4 minutes The files were saved to a PC from a camcorder tape using the SW that came with it I ended up with about 12 files one for each song with a DAT extension I could see and hear the video using VirtualDub I used this to check which songs I wanted to take excerpts from I decided on songs 1 3 and 6 I also took note of which frames I wanted from each song and came up with this list 1 Frames 270 to 1371 3 Frames 453 to 3470 6 Frames 1468 to 3300 2 Split files into Video and Audio with DGIndex I want to split these video files into separate video and audio files This enables me to edit the audio with Audacity in case it s needed We will not do this but it s good to have the option in case I want to edit the audio later on I took the first file and opened it in DGIndex After pressing F5 I could see the video and file information but couldn t hear the audio But after saving it File Save Project I ended up with 2 files one being a video index file with a d2v extension the other one being the audio file with a mpa extension I checked this audio file with Audacity and it proved to be all there I did the same for the other 2 songs Resulting in a total of 6 files there were some extra ones but these are not relevant to us I stuck these in a folder called DGDecode 3 Create a movie from the 3 excerpts sliced together with Avisynth Time to write an avisynth script that plays the 3 excerpts one after the other using the alignedSplice function Here is the code with added comments to make it self explanatory Load DGIndex s plugin for Avisynth make sure path is correct LoadPlugin C Program Files DGDecode DGDecode dll Open DGIndex files Song 1 Abuklualo video 01 MPEG2Source DGDecode AVSEQ01 d2v audio 01 MPASource DGDecode AVSEQ01 T01 DELAY 6ms mpa Song 3 Nyiir Akvo video 03 MPEG2Source DGDecode AVSEQ03 d2v audio 03 MPASource DGDecode AVSEQ03 T01 DELAY 6ms mpa Song 6 Tita video 06 MPEG2Source DGDecode AVSEQ06 d2v audio 06 MPASource DGDecode AVSEQ06 T01 DELAY 6ms mpa combine video with audio clip1 audiodub video 01 audio 01 clip2 audiodub video 03 audio 03 clip3 audiodub video 06 audio 06 Trim the clips to its proper sections clip1 clip1 Trim 270 1371 clip2 clip2 Trim 453 3470 clip3 clip3 Trim 1468 3300 movie alignedSplice clip1 clip2 clip3 return movie This script should be self explanatory Go to the Avisynth help file to find more detailed explanations of each function Save this file with an avs extension and open with VirtualDub It will play the video excerpts one after the other How s that for a start note that no new files are created the script applies functions to the original video via DGIndex s index on the fly this is invaluable especially where large files of quality video are concerned using up more than 1GB per minute From now on we can simply go to Tools Script Editor to edit the files further After each change simply press F5 and the script will be saved and virtualDub updated so you can view the changes in real time This is the power of avisynth scripts no extra memory is needed Avisynth applies these changes on the fly 4 Change size and audio sample rate While you are inspecting this script in VirtualDub go to File File Information and note the important information My video has the following info Size 352 x 288 FPS 25 fps frames per second This is the PAL format Audio 16 bit 44 1 KHz sampling rate i e 44 thousand samples per second That tells me that the audio is very high quality considering the small video size This will use up a lot of memory in the final video I also would like to make the frame size bigger even though it will affect the resolution Before the line that combines all the clips movie alignedSplice clip1 clip2 clip3 add Change frame size and audio sample rate clip1 clip1 BicubicResize 640 450 convertToRGB32 ResampleAudio 16000 clip2 clip2 BicubicResize 640 450 convertToRGB32 ResampleAudio 16000 clip3 clip3 BicubicResize 640 450 convertToRGB32 ResampleAudio 16000 The convertToRGB is necessary for us to be able to use some functions later on Check the result again as always after making changes The screen should be twice as big and you probably won t hear much difference in sound quality as the sound was bad to start with anyway As an aside My VirtualDub tends to play up sometimes but closing the program and starting it up again fixes it 5 Add Intro and Outro Video Image clips Now I would like to add 2 images one before the start and

    Original URL path: http://www.dirkbertels.net/video/videoEditing.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Using Ajax and PHP
    text onChange ajaxFunction name username br Time input type text name time form The last step is to write handleResponse called in Listing 1 s line 36 We want to stick the response received from the server into the 2nd textfield This turns out to be another one liner Listing 4 handleResponse request document myForm time value ajaxRequest responseText To illustrate this thing I will now create a javascript file with the ajaxFunction and handleResponse and refer to it in this html file I then will create the php file and stick it on the server and lastly write the html excerpt underneath this paragraph for you to try out Well I ve done all that here is the form enter some text into the first field then leave it and do something like start adding text in the 2nd one Enter something Time from server If your Javascript is enabled you should see the response from the server which is located in the USA Normally we would have to load the whole page again to do such a thing but I hope you noticed the asynchronicity of Ajax it was quietly getting the information from the server while you were doing your thing Obviously this is a very efficient way to interact with the server since we save a lot of time and bandwidth back to index Example 2 Server variables But why stop at getting the time from the server we could for example find out what variables are stored on the server relating to this session Again enter something in the first textbox then start typing in the 2nd textbox Enter something To implement this we need a little more code for the server But to start with change the html with Listing 5 form name myForm Enter something input type text onChange ajaxFunction name username br textarea color 120 rows 20 name info textarea br form The javascript function just needs the line in the handleResponse method changed to Listing 6 handleResponse request document myForm info value ajaxRequest responseText And the php file needs the following code Listing 7 Set some variables to check POST name Dicky POST ambition zilch GET getvar1 mymy GET getvar2 heyhey COOKIE cookie1 rock and roll COOKIE cookie2 is here to stay echo List of Server Variables n display SERVER echo List of POST Variables n display POST echo List of GET Variables n display GET echo List of COOKIE Variables n display COOKIE echo List of Environment Variables n display ENV echo List of Global Variables n display GLOBALS function display item foreach item as key value echo key value n echo n This should give you a taste of how easily Ajax interacts with PHP PHP in particular has very powerful functions to handle networking For example using Ajax it is very easy to send off an email without the user even noticing back to index Example 3 Loading panels into your web page asynchronously For starters check out

    Original URL path: http://www.dirkbertels.net/computing/ajax.php (2016-04-30)
    Open archived version from archive

  • Dirk Bertels - Google Tricks
    when typing something like sqrt 98 PI Search engine tools The first type of Search engine tools don t use keywords these are more like operators that can fine tune a search some of these you probably already know such as the notion that to return a group of words in the exact order given we use quotation marks Bach s organ works Assume you re doing a search on Bach then to return documents ordered by frequency occurance of the word Bach type Bach To return documents containing the word Bach but not containing the word organ Bach organ You can also use wildcards e g use the dot to represent any letter Ba h The above query returns documents with the words Bach bath bash etc you get the picture There s a wildcard that replaces whole words To find documents that have anything to do with fire type fire Use binary operators where appropriate e g to return pages that has the word group site map OR the word sitemap site map sitemap Is there no end to this fun you may ask well try some more keywords In the dictionary we used the keyword define as it is there are many more keywords all of which need to end with the colon Restrict the search to specific domains E g to find sites in Australia containing the word minidisc site au minidisc Or you can be more specific finding all documents containing the word Bach on my site site dirkbertels net Bach To find documents that contains the word Bach in its title and organ in its text intitle Bach organ Or documents that contains the word Bach in its URL and recordings in its text inurl Bach recordings Then there are documents of a particular

    Original URL path: http://www.dirkbertels.net/computing/googleTricks.php (2016-04-30)
    Open archived version from archive