Channels:   |HiFi|HomeTheatre|ProAudio|DesktopAudio|DVD-A|CarAudio|MP3|NetAudio|MusicBiz|AudioBiz|
AudioWorld Online
Search in:
Thursday, June 13

Today's Audio News

New Listings
Most Popular
Highest Rated

   Pro Audio
   HiFi Audio
   Car Audio
   Internet Audio
   Personal Pages

HiFi Audio
Home Theater
Pro Audio
Home Recording
Car Audio
Net Audio


About AudioWorld
Submit Material
Link to Us
Contact Us

Advertise Now!

Audio Site Links
Audio Site Directory

blank place holder
 AudioWorld Web Directory 4000 links online!

| Top | New | Popular | Top Rated | Search |
| Add URL | Modify URL | Email Updates | Link to Us |

  Top : Popular

Popular Sites - The Top 20

  20 Most Visited Links:

Car Audio
CarTunes Audio  - We specialize in car audio and security, with brands such as Pioneer, Cerwin-Vega, Lanzar, American Bass, Planet Audio, K9, Excalibur, and more. Online sales. Sciotoville, OH.  popular 
Rate This Site   (Added: 15-Sep-2000 Hits: 7498 Rating: 5.50 Votes: 2)

Auto Sound Discount  - Major name car audio at 20-60% retail prices! Fast free shipping! Orion, Rockford Fosgate, Infinity, JBL, JVC, Diamond, Dynaudio, Bazooka, Clarion, Pioneer, Panasonic, MTX, Focal, Jensen, Soundstream, MB Quart, Pheonix Gold.  popular 
Rate This Site   (Added: 20-Dec-2000 Hits: 11236 Rating: 5.53 Votes: 15)

Car Audio : Reference  - News, reviews, installs and event coverage. Also check out our forum discussions, and sign up for the weekly car audio newsletter. Atlanta, GA.  popular 
Rate This Site   (Added: 9-Oct-2001 Hits: 9771 Rating: 8.00 Votes: 6)

DVD-Audio : Reference
Digital Audio Guide  - Information on DVD-Audio releases, ratings, FAQ. Columbus , OH.  popular 
Rate This Site   (Added: 2-Dec-1999 Hits: 6965 Rating: 5.85 Votes: 14)

HiFi Audio : Accessories : Furniture and Stands
Minus K Technology  - Vibration isolation systems for high-performance audio and high-end audiophile system installations. Scientific research technology used for critical vibration applications now affordable for audio users. Inglewood, CA.  choice   popular 
Rate This Site   (Added: 15-Jun-2006 Hits: 12419 Rating: 0 Votes: 0)

HiFi Audio : DIY : Audio Electronics
Quality Kits  - A large variety of electronic project'kits for professional, hobby or educational use. Audio kits, power supplies, test equipment, oscilloscopes, infra red remote control, relay cards, FM transmitters and much more. We carry all of Velleman's hi-fi audio amplifier kits. Class A tube amp kits (with SOVTEK tubes), 600W MOSFET amp kits, digital pre-amp kit, digital tuner kit, car stereo kits. All kits come with components, glass epoxy printed circuit board, instructions and schematic. Browse our catalogs and purchase online. Kingston, ON.  popular 
Rate This Site   (Added: 28-Apr-1999 Hits: 9626 Rating: 5.71 Votes: 7)

Norbert Bayer's DIY Audio Home Page  - DIY high end audio projects (DACs, amplifiers, etc). Designs based on Burr Brown PCM63, Crystal CS4328 and others.  popular 
Rate This Site   (Added: 3-May-1999 Hits: 14497 Rating: 7.55 Votes: 9)

Cyclope Audio DIY  - Description of DIY pre- and power- amplifier project, constructed by an audiophile who wanted the best possible performance at an acceptable price. Photos and details.  popular 
Rate This Site   (Added: 6-Nov-2000 Hits: 13720 Rating: 1.28 Votes: 7)

DIY HiFi Audio Amp  - DIY amp using the hi-power RCA 813 125 watt transmitting tube. This tube is easy to drive and makes a good audio amp. New Zealand.  popular 
Rate This Site   (Added: 11-Nov-2002 Hits: 6769 Rating: 3.60 Votes: 10)

Ampslab - Power Amplifier Kits  - High power, high performance amplification. A comprehensive range of power amplifier kits up to 600 Watts/rms. Suitable for Hi-fi, Home Theatre and Pro Audio applications. Singapore.  popular 
Rate This Site   (Added: 27-May-2003 Hits: 11317 Rating: 5.40 Votes: 5)

HiFi Audio : DIY : Speaker Building
Audio Box Design  - Audiophile quality speaker systems you can build yourself... with professional'design! Complete building instructions w/ plans and schematics. Source list for all needed components. Custom design & consulting at reasonable rates. Kingstown, RI.  popular 
Rate This Site   (Added: 25-Feb-1999 Hits: 12046 Rating: 3.70 Votes: 17)

The Speaker Building Page  - A site for loudspeaker builders. Unfortunately not being updated any more, but still lots of useful material here. Good, detailed articles, designs, schematics. Oslo, Norway.  popular 
Rate This Site   (Added: 6-Apr-1999 Hits: 20904 Rating: 8.91 Votes: 10)

Audio Direct Canada  - Build your own electronic controlled active loudspeaker, with a phase-linear active crossover. Modular kits: digital amplifier, digital active crossover, surround decoder. White papers and articles on DIY home sound systems, Circle Surround, 5.1 surround etc. Canada.  popular 
Rate This Site   (Added: 5-Sep-1999 Hits: 13879 Rating: 6.46 Votes: 20)

Audiophile Studio Loudspeaker Design  - You can: 1) Learn instantly from my speaker design project 2) Buy the speakers when commercially available. Finland.  popular 
Rate This Site   (Added: 31-Aug-1999 Hits: 8470 Rating: 2.5 Votes: 2)

Arto Jaaskel: audiophile loudspeaker design project  - Learn from my speaker design project and avoid some pitfalls when you buy or build.  popular 
Rate This Site   (Added: 2-Nov-1999 Hits: 12895 Rating: 4.00 Votes: 3)

HiFi Audio : Manufacturers : A
Axiom Loudspeakers  - Axiom Loudspeakers will bring pure, rich music into your home, at unprecedented low prices. Our speakers have no competition in their price range. In fact, reviewers usually pit them against speakers that are double in cost. Buy direct, online, free shipping in North America. Canada.  popular 
Rate This Site   (Added: 18-Oct-2002 Hits: 24279 Rating: 8.80 Votes: 5)

HiFi Audio : Manufacturers : D
Denon Home Audio (USA)  - Denon manufactures extensive lines of consumer audio components and equipment. The Home Audio line-up includes A/V receivers and separates, CD and DVD players, cassette decks, turntables, and audio signal processors. Parsippany, NJ. Pine Brook, NJ.  popular 
Rate This Site   (Added: 15-Oct-1999 Hits: 6586 Rating: 3.33 Votes: 3)

HiFi Audio : Publications : OnLine
Audio Review  - Large database of hifi, home theatre, consumer audio and car stereo products, with user reviews. Also a buy-sell marketplace, chat area, and lots of related material. Useful!  popular 
Rate This Site   (Added: 15-Jan-1999 Hits: 8854 Rating: 5.86 Votes: 20)

Audiophilia  - Online journal for the serious audiophile. Reviews of high-end equipment and audiophile recordings, features and forums. Published by Anthony Kershaw. Streetsville, Ontario, Canada.  choice   popular 
Rate This Site   (Added: 15-Jul-1999 Hits: 7866 Rating: 6.32 Votes: 22)

Music : Recordings : Audiophile CD
Acoustic Sounds  - Audiophile CDs and LPs. 45 RPM LP's, Super Audio CD (SACD), DVD and DVD-A (DVD-Audio), High-Definition CD (HDCD), test pressings. Online catalog plus a large selection of used LP's. Salina, KS.  popular 
Rate This Site   (Added: 18-Nov-1999 Hits: 7639 Rating: 6.85 Votes: 7)

 choice  - recommended sites
 new  - recently added
 popular  - most visited

Links updated on: 17-Sep-2015 - 16:31:10
Engine by:
Gossamer Threads Inc.

First Time Visitors

#!/usr/bin/perl # # Master Merry-Go-Round # Version 1.2 # Version 1.0 completed August 14, 2000 # Version 1.2 completed May 28, 2002 # # Tech Support at # # Before installing and/or using Master Merry-Go-Round, # you must agree to the complete license agreement # linked from # # (G) Access your control panel by putting the URL of your script plus # ?admin=YOURPASSWORD # #=============================== # my $Password = 'abroc39'; my $DataDirectory = 'rotatedata'; use strict; my %In = (); my $DBname = 'mmgr'; my $TrackFile = 'mmgTrack'; my $DBextension = '.db'; my @TopLines = qw(abovecontent abovebold aboveitalic aboveunderlined abovelarge abovecenter); my %TopLines = (); { my $i = 0; for(@TopLines) { $TopLines{$_} = $i; $i++; } } my $ME = $0; $ME =~ s/.*\///; sub ForDisplay { my $s = shift; $s =~ s/\/\>/sg; $s =~ s/\"/\"/sg; return $s; } # sub ForDisplay sub GetBottom { return <

More Master Series scripts are available at

Copyright 2000 William Bontrager
Copyright 2002 Bontrager Connection, LLC

QQ } # sub GetBottom sub GetTop { return <

M a s t e r   M e r r y - G o - R o u n d


QQ } # sub GetTop sub LockFile { my $tm = time; my $f = "${DataDirectory}/$DBname\.lock"; while((time - $tm) < 12) { last unless -e $f; sleep 2; } open LOCKFILE,">$f"; close LOCKFILE; } # sub LockFile sub UnLockFile { unlink "${DataDirectory}/$DBname\.lock"; return 0; } # sub UnLockFile sub Display { my ($line,$next,$howmany) = (); if(open R,"<${DataDirectory}/$TrackFile$DBextension") { my $line = ; close R; ($next,$howmany) = split /\t/,$line; } LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; chomp @originalslurp; UnLockFile; unless($howmany > 0) { $howmany = $#originalslurp; $next = 0; } return unless $howmany > 0; $next++; $next = 1 unless $next > 1 and $next <= $howmany; open W,">${DataDirectory}/$TrackFile$DBextension"; print W "$next\t$howmany"; close W; my $filename; ($filename,undef) = split /\t/,$originalslurp[$next],2; print "Content-Type: text/html\n\n"; print '' if $In{page} =~ /^complete$/i; open R,"<${DataDirectory}/$filename"; print ; close R; print '' if $In{page} =~ /^complete$/i; exit; } # sub Display sub Parse { my $buffer; if ($ENV{REQUEST_METHOD} eq 'GET') { $buffer = $ENV{QUERY_STRING}; } else { read(STDIN,$buffer,$ENV{CONTENT_LENGTH}); } my @pairs = split(/&/,$buffer); for(@pairs) { my ($n,$v) = split(/=/,$_); $v =~ tr/+/ /; $v =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $v =~ tr/\t/ /; $In{$n} = $v; } } # sub Parse sub ErrorHTML { my $s = join("\n
  • ",@_); print "Content-Type: text/html\n\n"; print GetTop; print qq~


    • $s
    ~; print GetBottom; exit; } # sub ErrorHTML sub Overview { print "Content-Type: text/html\n\n"; print GetTop('Overview'); print <
  • You can rotate text ads or any other content, including images, sound, flash -- singly or in combination. You can display any amount of information -- even entire web pages. (It can be used to rotate web pages if you're testing for marketing or other purposes.)

    Every time the script is called, it displays the next content. When it reaches the end, it starts at the beginning again.

    Your content can be displayed on the page with SSI or inside a popup window. To view example code, click the applicable button:


    OVERVIEW print GetBottom; exit; } # sub Overview sub ExampleSSI { print "Content-Type: text/html\n\n"; print GetTop('Example SSI'); print <
    Code for implementing Master Merry-Go-Round to display contant as a Server Side Include for seamless integration into a web page.

    On most servers, this requires a .shtml page file name extenstion. Ask your server admin if you're unsure about their requirements.

    The code is presented in two different ways. Use whichever works best for you.

    <!--#exec cgi="/cgi-bin/MasterMerryGoRound.cgi"-->

    EXAMPLESSI print GetBottom; exit; } # sub ExampleSSI sub ExamplePopup { print "Content-Type: text/html\n\n"; print GetTop('Example Popup'); print <Code for implementing a Master Merry-Go-Round popup box.

    The code is presented in two different ways. Use whichever works best for you.

    <script type="text/javascript" language="JavaScript"><!--
    function MMGR(){
    // (1) Specify the height, in pixels, of your popup box.
    var height = '200';
    // (2) Specify the width, in pixels, of your popup box.
    var width = '300';
    // (3) May the popup have scrollbars? 'yes' or 'no'
    var scrollbars = 'yes';
    // (4) Shall the popup be resizable? 'yes' or 'no'
    var resizable = 'yes';
    // (5) Specify the URL of your Master Merry-Go-Round program.
    var url = 'cgi-bin/MasterMerryGoRound.cgi';
    // No other edits required in this function.
    var param = 'height=' + height + ',width=' + width +
    ',scrollbars=' + scrollbars + ',resizable=' + resizable;
    url = url  + '?page=complete';
    mdc =,"dc",param);
    } // -->
    <a href="javascript:MMGR()">Click for popup</a>

    EXAMPLEPOPUP print GetBottom; exit; } # sub ExamplePopup sub DisplayControlPanel { unless($In{admin} eq $Password) { print "Location: $ENV{HTTP_REFERER}\n\n"; exit; } my @originalslurp = (); LockFile; if(open R,"<${DataDirectory}/$DBname$DBextension") { @originalslurp = ; close R; chomp @originalslurp; } UnLockFile; my($next,$howmany) = split /\t/,$originalslurp[0],2; print "Content-Type: text/html\n\n"; print GetTop('Main Menu'); print <

    Tech Support at

    TOPTHECONTROLPANELPAGE if($originalslurp[1]) { $next++; $next = 1 if $next > $howmany; print <
    Currently, you have $howmany different content display blocks.

    Content block number $next is next in line for display.

    INSIDE1 for(1..$#originalslurp) { my($filename,$sequence,$filenum,$title) = split /\t/,$originalslurp[$_]; $title = ForDisplay($title); print < INSIDEMID } print <

    INSIDE2 } print GetBottom; exit; } # sub DisplayControlPanel sub UpdateAddContent { ErrorHTML('A title must be specified.') unless $In{title} =~ /\w/; ErrorHTML('Please provide some kind of content.') unless $In{content} =~ /\w/; if($In{content} =~ /\n/) { $In{content} =~ s/\r//gs; } else { $In{content} =~ s/\r/\n/gs; } my @originalslurp = ("0\t0\t0\t0"); LockFile; if(open R,"<${DataDirectory}/$DBname$DBextension") { @originalslurp = ; close R; chomp @originalslurp; } UnLockFile; my($filename,$sequence,$filenum,$title) = split /\t/,$originalslurp[$#originalslurp]; my($next,$howmany) = split /\t/,$originalslurp[0],2; $howmany++; $originalslurp[0] = "$next\t$howmany"; $title = $In{title}; $filenum++; $sequence = @originalslurp; $filename = "$DBname$filenum$DBextension"; push @originalslurp,"$filename\t$sequence\t$filenum\t$title"; LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n"; } close W; UnLockFile; open W,">${DataDirectory}/$filename"; print W $In{content}; close W; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateAddContent sub AddContent { print "Content-Type: text/html\n\n"; print GetTop('Add Content'); print <

    $_ $title
    Give this content a name you will recognize:

    Put your content here (HTML okay):

    THECONTROLPANELPAGE print GetBottom; exit; } # sub AddContent sub UpdateEditContent { ErrorHTML('A title must be specified.') unless $In{title} =~ /\w/; ErrorHTML('Please provide some kind of content.') unless $In{content} =~ /\w/; if($In{content} =~ /\n/) { $In{content} =~ s/\r//gs; } else { $In{content} =~ s/\r/\n/gs; } LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $t; for $t (@originalslurp) { if(index($t,"$In{filename}\t") == 0) { my ($filename,$sequence,$filenum,$title) = split /\t/,$t; $title = $In{title}; $t = join "\t",$filename,$sequence,$filenum,$title; last; } } LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n"; } close W; UnLockFile; open W,">${DataDirectory}/$In{filename}"; print W $In{content}; close W; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateEditContent sub EditContent { LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $filename = "$DBname$In{editcontent}$DBextension"; my($title,$content); for(@originalslurp) { if(index($_,"$filename\t") == 0) { (undef,undef,undef,$title) = split /\t/; last; } } open R,"<${DataDirectory}/$filename"; { my @p = ; close R; $content = join '',@p; } $title = ForDisplay($title); $content = ForDisplay($content); print "Content-Type: text/html\n\n"; print GetTop('Edit Content'); print <

    The content's name for recognition:

    The content (HTML okay):

    THECONTROLPANELPAGE print GetBottom; exit; } # sub EditContent sub UpdateDeleteContent { unlink "${DataDirectory}/$In{filename}"; LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my($next,$howmany) = split /\t/,$originalslurp[0],2; $howmany--; $originalslurp[0] = "$next\t$howmany"; my $t; for $t (@originalslurp) { if(index($t,"$In{filename}\t") == 0) { $t = ''; last; } } LockFile; open W,">${DataDirectory}/$DBname$DBextension"; for(@originalslurp) { print W "$_\n" if $_; } close W; UnLockFile; unlink "${DataDirectory}/$TrackFile$DBextension"; } # UpdateDeleteContent sub DeleteContent { LockFile; open R,"<${DataDirectory}/$DBname$DBextension"; my @originalslurp = ; close R; UnLockFile; chomp @originalslurp; my $filename = "$DBname$In{deletecontent}$DBextension"; my($title,$content); for(@originalslurp) { if(index($_,"$filename\t") == 0) { (undef,undef,undef,$title) = split /\t/; last; } } open R,"<${DataDirectory}/$filename"; { my @p = ; close R; $content = join '',@p; } print "Content-Type: text/html\n\n"; print GetTop('Delete Content'); print <


    THECONTROLPANELPAGE print GetBottom; exit; } # sub DeleteContent sub ControlPanel { for(keys %In) { if(/\Aedit\_/ and $In{$_}) { (undef,$In{editcontent}) = split /\_/; last; } if(/\Adelete\_/ and $In{$_}) { (undef,$In{deletecontent}) = split /\_/; last; } } CONTROLPANELSWITCHER: { if($In{addcontent}) { AddContent; last CONTROLPANELSWITCHER; } if($In{updateaddcontent}) { UpdateAddContent; last CONTROLPANELSWITCHER; } if($In{editcontent}) { EditContent; last CONTROLPANELSWITCHER; } if($In{updateeditcontent}) { UpdateEditContent; last CONTROLPANELSWITCHER; } if($In{deletecontent}) { DeleteContent; last CONTROLPANELSWITCHER; } if($In{updatedeletecontent}) { UpdateDeleteContent; last CONTROLPANELSWITCHER; } } # CONTROLPANELSWITCHER &DisplayControlPanel; } # sub ControlPanel Parse; Overview if $In{overview}; ExampleSSI if $In{examplessi}; ExamplePopup if $In{examplepopup}; ControlPanel if $In{admin}; Display;

    This page last updated Thu Feb. 9 2023
    Copyright © 1996, 2006 AudioWorld Online & Today.Net. All rights reserved.
    Comments, questions, corrections to