Ask a Question

Happy Holidays

SOLVED
tristaanogre
Esteemed Contributor

Happy Holidays

Back in 2008, @HKosova posted a blog article where she described how you can do all sorts of fancy stuff with TestComplete, including playing a holiday song.  You can read it for yourself.

 

http://blog.smartbear.com/software-quality/how-to-make-testcomplete-play-a-holiday-song/

 

Well, last night, I got inspired and said to myself, "Why stop at one song? Why not code to play ANY song?"

So... starting with Helen's fantastic code, I created a Script Extension with no real world useful purpose other than to play music.  You can download the MusicBox from my repository on bitbucket and install it in your TestComplete environment.

To play Helen's original holiday tune, open a new JavaScript project in TestComplete. In the Unit1 script unit created, copy and paste this code in:

function HolidayTune() {
    MusicBox.PlaySong(MusicBox.JingleBells);
}

Run the code... and enjoy!

 

If you want to "write" a new song, all you need to do is something like this:

 

function MySong() {
var CMajorScale = [new MusicBox.Lyrics('This is a C Major Scale'),
                   new MusicBox.Notes('C4', 2000), 
                   new MusicBox.Notes('D4', 2000), 
                   new MusicBox.Notes('E4', 2000), 
                   new MusicBox.Notes('F4', 2000), 
                   new MusicBox.Notes('G4', 2000), 
                   new MusicBox.Notes('A5', 2000), 
                   new MusicBox.Notes('B5', 2000), 
                   new MusicBox.Notes('C5', 2000)];

    MusicBox.PlaySong(CMajorScale);
}

Have fun, and happy holidays!

 

[EDIT] P.S.  The extension is chromatic... you can do ASHARP3 or EFLAT5 or other such designations to get the half steps in the chromatic scale.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
16 REPLIES 16
baxatob
Community Hero

Unbelievable!
This is the first time when I sorry, that our servers have no sound cards...

Colin_McCrae
Community Hero

Ha ha ha ha ha ha ha! 😄

 

I've seen it all now!

 

It should be called "DriveYourColleaguesInsane" rather than "MusicBox" though ......

tristaanogre
Esteemed Contributor

@baxatob as far as I understand it, you don't need a sound card. It makes use of aqUtils.Beep which uses the PC speaker.

Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available

No any beeps & speakers in our virtual environment. Cold & silence here...

tristaanogre
Esteemed Contributor


@baxatob wrote:

No any beeps & speakers in our virtual environment. Cold & silence here...


Suddenly... I'm very sad... feeling kinda like the Cratchets... Tiny Tim will sing no more...

Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available

The cold and silent thing sounds like bliss for someone used to sitting in the constant background racket present in a large-ish open plan office.

 

I have headphones on most of the day ....

TanyaYatskovska
SmartBear Alumni (Retired)

Happy Holidays, Guys 🙂 

 

@tristaanogre, great to see that @HKosova's project is till so popular!

 

We've prepared another song - this is a traditional Russian song that we sing since our childhood. It tells about a long way a Christmas tree should travel before getting into our houses and bringing happiness to our families.

Enjoy the song 🙂

 

 

var EIGHTH = 2000, HALF = EIGHTH /2, QUARTER = HALF /2, EIGHTH = QUARTER /2, SIXTEENTH = EIGHTH /2;

var LittleTree = [new MusicBox.Lyrics("V lesu rodilas elochka"),				   
    new MusicBox.Notes('C5', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('G5', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('F5', QUARTER),  
    new MusicBox.Notes('C5', QUARTER),  
    new MusicBox.Notes('C5', QUARTER),  
    new MusicBox.Lyrics("V lesu ona rosla"),
    new MusicBox.Notes('C5', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('BFLAT6', QUARTER),
    new MusicBox.Notes('G5', QUARTER),
    new MusicBox.Notes('C6', HALF),  
    new MusicBox.Notes('REST', QUARTER),  
    new MusicBox.Lyrics("I mnogo mnogo radosti"),
    new MusicBox.Notes('C6', QUARTER),
    new MusicBox.Notes('D5', QUARTER),
    new MusicBox.Notes('D5', QUARTER),
    new MusicBox.Notes('BFLAT6', QUARTER),
    new MusicBox.Notes('BFLAT6', QUARTER),
    new MusicBox.Notes('A6', QUARTER),  
    new MusicBox.Notes('G5', QUARTER),  
    new MusicBox.Notes('F5', QUARTER),  
    new MusicBox.Lyrics("Detishkam prinesla"),
    new MusicBox.Notes('C5', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('G5', QUARTER),
    new MusicBox.Notes('A6', QUARTER),
    new MusicBox.Notes('F5', HALF)];
    
function HolidayTune() {
   
    MusicBox.PlaySong(LittleTree);
}

 

---------
Tanya Yatskovskaya
SmartBear Community and Education Manager



SSammal
SmartBear Alumni (Retired)

Here is KDT version of Jingle Bells. Just copy this text and insert into Keyword Test Editor. You still need MusicBox plugin to play this song.

 

 

 

KDTDATAE8tzzAQAAABSAG8AbwB0AAEAAAAEAAAAVAB5AHAAZQAmAAAAewBCAEEANABEAEQANABGAEYALQA2
AEUAOAAyAC0ANAAyAEEAMwAtAEIANgA0AEQALQA1AEQAOABEADQANwA5ADkAQQBDADcANgB9AAIA
AAAEAAAARABhAHQAYQAAAAAAAAAAAAgAAABDAGgAaQBsAGQAcgBlAG4AAAAAAAEAAAAJAAAATwBw
AGUAcgBhAHQAaQBvAG4AAQAAAAQAAABUAHkAcABlACYAAAB7AEMAQQBBAEEANwA1ADIAMgAtAEYA
QgA1ADQALQA0ADUAMgAxAC0AQgBGADIARgAtADIAOQBEADMAMgA3AEYAQwA5ADMANAAxAH0AAQAA
AAQAAABEAGEAdABhAAIAAAALAAAARABlAHMAYwByAGkAcAB0AGkAbwBuAD8AAABQAGwAYQB5AHMA
IABhAG4AIABhAHIAcgBhAHkAIABvAGYAIABuAG8AdABlAHMAIABhAG4AZAAgAGwAeQByAGkAYwBz
ACAAYQBzACAAYQAgAHMAbwBuAGcAIAB2AGkAYQAgAHQAaABlACAAUABDACAAUwBwAGUAYQBrAGUA
cgAGAAAAQQBjAHQAaQBvAG4ACAAAAFAAbABhAHkAUwBvAG4AZwACAAAACgAAAFAAYQByAGEAbQBl
AHQAZQByAHMAAQAAAAYAAABMAGEAbgBnAEkAZAAmAAAAewA5ADAARgA4ADkANAAzADYALQA5ADQA
NQAyAC0ANABGADkANQAtADkAOAA4ADIALQA2AEIANQAyADEAMAAwADcAOQBGADEAMwB9AAEAAAAJ
AAAAUABhAHIAYQBtAGUAdABlAHIABAAAAAQAAABOAGEAbQBlAAQAAABzAG8AbgBnAAoAAABEAGUA
ZgBWAGEAcgBUAHkAcABlAAIAAAAxADIACQAAAFAAYQByAGEAbQBUAHkAcABlACYAAAB7ADIAQgAx
ADQANgA5ADkAMgAtAEEANgA3ADUALQA0AEMARgAzAC0AOQBCADcAMQAtADcARQBFADQAQQAxAEMA
QQAxADEAQgAyAH0ACgAAAEUAeABwAHIAZQBzAHMAaQBvAG4AFAAAAE0AdQBzAGkAYwBCAG8AeAAu
AEoAaQBuAGcAbABlAEIAZQBsAGwAcwAAAAAADAAAAE8AYgBqAGUAYwB0AFMAeQBuAHQAYQB4AAIA
AAAGAAAATABhAG4AZwBJAGQAJgAAAHsAOQAwAEYAOAA5ADQAMwA2AC0AOQA0ADUAMgAtADQARgA5
ADUALQA5ADgAOAAyAC0ANgBCADUAMgAxADAAMAA3ADkARgAxADMAfQAEAAAAQwBvAGQAZQAJAAAA
TQB1AHMAaQBjAEIAbwB4ADsAAAAAAA==


@TanyaYatskovska wrote:

Happy Holidays, Guys 🙂 

 

@tristaanogre, great to see that @HKosova's project is till so popular!

 

We've prepared another song - this is a traditional Russian song that we sing since our childhood. It tells about a long way a Christmas tree should travel before getting into our houses and bringing happiness to our families.

Enjoy the song 🙂


 Wow!  Nice!  And a cute little tune.

My wife is a pre-school teacher... I may just have to pass this along to her to teach her little ones.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

Why automate?  I do automated testing because there's only so much a human being can do and remain healthy.  Sleep is a requirement.  So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available
cancel
Showing results for 
Search instead for 
Did you mean: