# Browser.pm # # Copyright (c) 2002 Cunningham & Cunningham, Inc. # Released under the terms of the GNU General Public License version 2 or later. # # Perl translation by Dave W. Smith package Test::C2FIT::eg::music::Browser; use base qw(Test::C2FIT::Fixture); use strict; use Test::C2FIT::eg::music::MusicLibrary; use Test::C2FIT::eg::music::MusicPlayer; sub library { my $self = shift; my($path) = @_; Test::C2FIT::eg::music::MusicLibrary->load($path); } sub totalSongs { my $self = shift; return scalar @Test::C2FIT::eg::music::MusicLibrary::library; } sub playing { my $self = shift; return Test::C2FIT::eg::music::MusicPlayer::playing()->title(); } sub select { my $self = shift; my($index) = @_; Test::C2FIT::eg::music::MusicLibrary::select($Test::C2FIT::eg::music::MusicLibrary::library[$index - 1]); } sub title { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->title(); } sub artist { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->artist(); } sub album { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->album(); } sub year { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->year(); } sub time { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->time(); } sub track { my $self = shift; return Test::C2FIT::eg::music::MusicLibrary::looking()->track(); } # Search buttons sub sameAlbum { my $self = shift; Test::C2FIT::eg::music::MusicLibrary::findAlbum(Test::C2FIT::eg::music::MusicLibrary::looking()->album()); } sub sameArtist { my $self = shift; Test::C2FIT::eg::music::MusicLibrary::findArtist(Test::C2FIT::eg::music::MusicLibrary::looking()->artist()); } sub sameGenre { my $self = shift; Test::C2FIT::eg::music::MusicLibrary::findGenre(Test::C2FIT::eg::music::MusicLibrary::looking()->genre()); } sub sameYear { my $self = shift; Test::C2FIT::eg::music::MusicLibrary::findYear(Test::C2FIT::eg::music::MusicLibrary::looking()->year()); } sub selectedSongs { return Test::C2FIT::eg::music::MusicLibrary::displayCount(); } sub showAll { Test::C2FIT::eg::music::MusicLibrary::findAll(); } # Play buttons sub play { Test::C2FIT::eg::music::MusicPlayer::play(Test::C2FIT::eg::music::MusicLibrary::looking()); } sub pause { Test::C2FIT::eg::music::MusicPlayer::pause(); } sub status { my $self = shift; return $Test::C2FIT::eg::music::Music::status; } sub remaining { my $self = shift; return Test::C2FIT::eg::music::MusicPlayer::minutesRemaining(); } 1; __END__ // Copyright (c) 2002 Cunningham & Cunningham, Inc. // Released under the terms of the GNU General Public License version 2 or later. package eg.music; import fit.*; public class Browser extends Fixture { // Library ////////////////////////////////// public void library (String path) throws Exception { MusicLibrary.load(path); } public int totalSongs() { return MusicLibrary.library.length; } // Select Detail //////////////////////////// public String playing () { return MusicPlayer.playing.title; } public void select (int i) { MusicLibrary.select(MusicLibrary.library[i-1]); } public String title() { return MusicLibrary.looking.title; } public String artist() { return MusicLibrary.looking.artist; } public String album() { return MusicLibrary.looking.album; } public int year() { return MusicLibrary.looking.year; } public double time() { return MusicLibrary.looking.time(); } public String track() { return MusicLibrary.looking.track(); } // Search Buttons /////////////////////////// public void sameAlbum() { MusicLibrary.findAlbum(MusicLibrary.looking.album); } public void sameArtist() { MusicLibrary.findArtist(MusicLibrary.looking.artist); } public void sameGenre() { MusicLibrary.findGenre(MusicLibrary.looking.genre); } public void sameYear() { MusicLibrary.findYear(MusicLibrary.looking.year); } public int selectedSongs() { return MusicLibrary.displayCount(); } public void showAll() { MusicLibrary.findAll(); } // Play Buttons ///////////////////////////// public void play() { MusicPlayer.play(MusicLibrary.looking); } public void pause() { MusicPlayer.pause(); } public String status() { return Music.status; } public double remaining() { return MusicPlayer.minutesRemaining(); } }