Google
www ResExcellence

Application Makeovers
Desktop Snapshots
iTunes Skins
Mighty Mouse Cursors
Uploads
Boot Images
Dock Poofs
Links List
Photoshop Goodies
Users Forum
Boot Panels
Download Stats
Log-In Panels
REALbasic
Clocks
GUI Software
Mac OS X Mods
Safari Stuff
Desktop Pictures
Icons
Mac OS X Themes
Splash Screens
Homepage
Download a free demo of REALbasic!
Download a free demo of REALbasic!
Recent Articles...
3D
3D Photo Gallery Part 2 (12-06-01)
3D Photo Gallery Part 1 (11-29-01)

Audio
iPod Tricks (Part 3)
iPod Tricks (Part 2)
iPod Tricks (Part 1)
Laugh Track Machine
Audio Player with Reverb
Shepard Melody(11-08-01)
RB Phone Home (10-25-01)
Build a Drum Machine (10-04-01)

General RB
JPEG in PDF
Hey! You got your Checkbox in my Listbox!
Background Applications (5-02-03)
Listbox Auto-Find
iTunes-style Listboxes
Virtual Volumes
Time Tracker
Software Distribution Part 4
Software Distribution Part 3
Software Distribution Part 2
Software Distribution Part 1
Exceptions
Custom Controls (8-2-01)
Living on the Edge (6-21-01)
Tips and Tricks (6-14-01)
Review of REALbasic 3.0 (2-19-01)
Text Clippings Made Easy (5-10-01)

Graphics
Image Spinner
Cropping Graphics (Part 4)
Cropping Graphics (Part 3)
Cropping Graphics (Part 2)
Cropping Graphics (Part 1)
Shimmer Graphics
Lissajous Figures
Simple Screen Capture
Vector Graphics
Kaleidoscope Images
Stegonography
Spirals!
Image Table (11-15-01)
RB Magnifying Lens (10-11-01)
Screen Capture (8-9-01)
Color Picker Tutorial (6-7-01)

Hacks
Ghost Grab
Speedy Mouse Extension(11-01-01)
iTunes Plugins (8-23-01)
iTunes Skinner (7-26-01)

Internet
HTML IMG Tags
Version Tracking
Even Smarter Instant Messaging
Web Tiler
JavaScript and REALbasic (10-02-01)
Stock Ticker - Part II (9-06-01)
Stock Ticker - Part I (8-30-01)
AIM Mate (8-16-01)

Mac OS X
Using Sheets in REALbasic
Build a Bundle Part 2
Build a Bundle Part 1
Dock Your Passwords
Mac OS X Debugging
REALbasic Mac OS X Icon Tutorial (12-13-01)
Animate Your Dock (5-17-01)
RB and the Command Line (5-3-01)

Novelty
Guessing Game
Calendar Trivia
Tile Mixer
Zip Code Finder
Happy Valentine's Day
Merlin Simulator Part 3 (01-24-02)
Merlin Simulator Part 2 (01-17-02)
Merlin Simulator Part 1 (01-10-02)
Buzzword Machine (10-18-01)
AppleSoft BASIC (9-20-01)

Printing
Print to PDF

Resources
Picture Extractor 2 (5-31-01)
Picture Extractor 1 (5-24-01)

Serial
Caller ID Part 3 (7-12-01)
Caller ID Part 2 (7-5-01)
Caller ID Part 1 (6-28-01)

Speech
Speech Recognition (9-13-01)
Video
Big Brother Video Capture

Newest Dev Tools!

Book Alert !
REALbasic for Dummies
by Erick Tejkowski
$19.99 @ Amazon

Made with REALbasic!

Problems?
Downloads are in StuffIt 5 format (free download).
Tell me about a bad link (Thanks!).
Submission Policy

7-18-02

ResExcellence Laugh Track Machine by Erick Tejkowski

07-18-02_laugher.jpg (6k) At MacWorld New York today, REAL Software announced the release of REALbasic 4.5. In honor of their new release, today we'll build a Laugh track Editor. With it, you can add a laugh track to your favorite QuickTime movies. This works great for post-processing your favorite iMovie creation. So, get ready to laugh!


Build the Interface

NOTE: This project requires REALbasic 4.5 or newer!

Launch REALbasic and open Window1 from the Project window. To this window, add the following controls:

Control TypeControl NameOther Properties
PushButtonOpenButton 
PushButtonRemoveButtonEnabled=FALSE
PushButtonSaveButtonEnabled=FALSE
ListboxListbox1 
StaticTextStaticText1Enabled=FALSE
Text="Press the Space bar to add a laugh track to the current movie position"
MoviePlayerMoviePlayer1 

Arrange the interface to your liking. It might look like this:

07-18-02_interface.jpg (14k)

The final step in completing your interface is to add a control binding. Hold Cmd-Shift and drag from the RemoveButton to Listbox1. When you let go of the mouse, a Bindings dialog appears. Click OK to select the first (and only) item in the Binding list and close the window.

Source Code

Before you begin adding code, you need to complete a few preparatory steps. First, add a new file type to your project by selecting Edit-File Types. Fill out the fields to look this:

07-18-02_filetypes.jpg (22k)

Close the File Types window and double-click Window1 to open its Code Editor. Using Edit-New Property, create three new properties.

  • acceptLaughs As Boolean
  • originalFile as folderItem
  • originalMovie as Movie

Finally, it's time to add some code. In the Open event of Window1, add the following code:

originalMovie as Movie

Next, navigate to the KeyDown event of Window1 and add this code:

  if acceptLaughs then
    if key = " " then
      listBox1.addrow format(MoviePlayer1.Position,"##########")
    end if
  end if

In the Action event of OpenButton add some code:

  //get a movie file
  originalFile=GetOpenFolderItem("video/quicktime")
  if originalFile<>nil then
    
    //open the movie in that file
    originalMovie=originalFile.openAsMovie
    
    //load this movie into the MoviePlayer
    MoviePlayer1.movie=originalMovie 
    
    //enable the remaining controls
    StaticText1.enabled=TRUE 
    SaveButton.enabled=TRUE 
    acceptLaughs = TRUE
  end if

In the Action event of RemoveButton add this code:

listBox1.removeRow listBox1.listindex 

The final code goes in the Action event of SaveButton:

  
  dim i,destPosition as integer
  dim laughMovie,exportMovie as editableMovie
  dim srcTrack,destTrack as QTSoundTrack
  dim f as folderItem 
  
  if listBox1.listcount>0 then
    f=GetSaveFolderItem("video/quicktime","WithLaughTrack.mov")
    if f<>nil then
      
      //copy the original movie to a new movie
      if originalFIle<>nil then
        originalFile.copyFileTo f 
        
        laughMovie = GetFolderItem("laugh.aif").openeditableMovie
        if laughMovie<>nil then
          //we don't want to change the laugh file
          laughMovie.SaveOnClose=FALSE
          //grab the laugh from the laugh file
          srcTrack = laughMovie.SoundTrack(1)
          //create a new movie
          exportMovie = f.OpenEditableMovie
          //add a new soundtrack to the movie
          destTrack = exportMovie.NewSoundTrack
          
          for i=0 to listBox1.listcount-1
            //loop through each laughtrack position
            //and add a laugh to the new movie's new soundtrack
            destPosition = val(listBox1.list(i))
            //Beware of line-wrap on this next line!!!             destTrack.InsertSoundTrackSegment srcTrack,0,
            srcTrack.Duration,destPosition,TRUE,TRUE
          next
          
        end if// laughMovie<>nil then
      end if// originalFIle<>nil then
    end if// f<>nil then
  else
    MsgBox "Please add some laughter to the movie!"
  end if// listBox1.listcount>0 then
  

Conclusion

To test the project, select Debug-Run and follow these steps:

  • Press the Open button to load a QuickTime movie
  • Position the MoviePlayer to wherever you would like some laughter. Press the space bar to add a "laughter point". Keep in mind that you can do this by moving the MoviePlayer controller, or by playing the movie in real time.
  • Press the Remove button to remove any errant laughs you added.
  • Press the Save button to create a new movie complete with laughtrack.
  • IMPORTANT NOTE: This project requires that you have a file named "laugh.aif" within the same folder as the project. The download for this project includes a sample "laugh.aif" file.

That's it for this week! As you might imagine, there are many improvements you could make to this project. For example, you could add more than one kind of laugh and trigger each one using a different key. That way, as you review the movie, you could add strong laughs for really funny parts, or maybe snickers for less funny sections. As usual, you can download the completed project here. Have fun and see you next week!


6-17-02

REALbasic News by Erick Tejkowski

Three New Plug-ins
Francis Lessard has announced three new plug-ins for REALbasic.

  • Icon Util 2.5 - Change the state of cicn and icl icons. You can set state to: disabled, selected, offline, open and more.
  • Custom Icon 1.5 - Use the OS X system icons: alert, note, stop and others.
  • DrawControl 1.5 - For OS X: small check box, small radio button, Arrow Button, Round bevel button, and icon support.
You can find them here.

Relevance, QuickTime, and the Weasel that Made Them
Seth Willits (aka "Weasel" Willits) has posted a Relevance Bar control plug-in. Introduced in Mac OS X, the relevance bar is used to display the relevance of such things as search response. Download it here.

Seth also updated his FSPlayQTMovie package. Now it contains an example project that demonstrates how to implement looping for a movie without using a movie player control.

PaletteCanvas
Boris Segerstahl has created a new class named PaletteCanvas. It is a canvas subclass for the creation of palettes. Typical examples are tool palettes in paint programs and format palettes in. It is free and open source. Download the class here.


Need a Project Idea?
Lorin Rivers from REAL Software posted this interesting info on the RB-NUG mailing lists. These are the top 20 categories for downloads in the last month at Download.com. If you are looking for an area to focus on for your next project, you might consider these categories as a start.

  1. MP3 Search Tools
  2. Chat
  3. Video
  4. System Utilities
  5. File Compression
  6. Download Managers
  7. Browsing Companions
  8. Security Encryption
  9. Players
  10. Rippers Encoders
  11. Action
  12. Arcade
  13. Offline Browsers
  14. Miscellaneous
  15. Online Privacy
  16. Plug-ins
  17. Antivirus
  18. File Disk Management
  19. FTP
  20. Image Editing
Of course, programming "outside-the-lines" can work great too! :-)

KRAM it!
James Baxter has announced KRAM, a benchmark utility Made 100% with REALbasic.

Check Your Links
Link Checker is a tool for checking the links on your website. You can filter certain links so they don't get checked and specify how many connections you would like to have open for your website. Link Checker can check all your websites if they are online or stored locally on your hard drive. Link Checker is also smart. If your website has a sub directory it will decide if the link belongs to the subdirectory or the main site. Link Check your website today! Made with REALbasic.

High Precision Plugin
Bob Delaney has posted Precision Plugin 1.7 for PPC, Carbon, and x86. Precision Plugin 1.7 adds a pseudo-random number generator, with the ability for the user to reseed. Further, Precision Plugin provides almost all the math functions built into REALbasic at precisions up to 30,000 digits.

Download Page:http://homepage.mac.com/delaneyrm/PrecisionPlugin.html


Application Makeovers
Desktop Snapshots
iTunes Skins
Mighty Mouse Cursors
Uploads
Boot Images
Dock Poofs
Links List
Photoshop Goodies
Users Forum
Boot Panels
Download Stats
Log-In Panels
REALbasic
Clocks
GUI Software
Mac OS X Mods
Safari Stuff
Desktop Pictures
Icons
Mac OS X Themes
Splash Screens
Homepage

Maintained by the Staff of ResExcellence. This entire site ©1997-2003 ResExcellence
Privacy Statement? Sure we gotta Privacy Statement.

[an error occurred while processing this directive]on the ResEx LinuxPPC Server