% if (!defined($sc)) {

Sorry, no song cycle with ID <% $SongCycleId %>

% } else {

<% $display_title %> <% $status %>

% if ($sc->songs()) { % my @songs = $sc->get_songs(); % my $first_setting = $songs[0];

% if ($sc->coll_type eq 'C') { Song Cycle % } elsif ($sc->coll_type eq 'S') { Symphony % } else { Opera (Selections) % } % unless ($sc->multi_composer() eq 'Y') { by <% $first_setting->setting_id->composers_and_links() %> % }

<% $assemble_links %>
<% $sc->preamble() %>
% foreach my $sci (@songs) { % if ($sci->inclusion_preamble()) {

<% $sci->inclusion_preamble() %>

% } % if ($sci->setting_id->text_id->text_id() > 0) { % if (defined($LanguageId)) { % my $tr_text = $sci->setting_id->text_id->get_translation_by_language($LanguageId); <& $ENV{'lieder_homedir'} . '/components/showtext', Text => $tr_text, Title => defined($tr_text) ? $tr_text->display_title() : "", Number => $sci->song_cycle_position(), Setting => $sci->setting_id(), multi_composer => $sc->multi_composer() &> % } else { <& $ENV{'lieder_homedir'} . '/components/showtext', Text => $sci->setting_id->text_id(), Title => $sci->setting_id->first_title(), Subtitle => $sci->setting_id->subtitle(), multi_composer => $sc->multi_composer(), Number => $sci->song_cycle_position(), Setting => $sci->setting_id(), Left => 1 &> % } % } else { <& $ENV{'lieder_homedir'} . '/components/show_multitext_setting', Setting => $sci->setting_id(), Title => $sci->setting_id->first_title(), Number => $sci->song_cycle_position(), LanguageId => $LanguageId &> % } % } % } % }
<& $ENV{'lieder_homedir'} . '/components/show_outside_links', SC => $sc &>
<%shared> my $home = $ENV{'lieder_homedir'} . "/"; use lib $ENV{'lieder_libdir'}; use Lieder::SongCycle; use Lieder::SongCycleInclusion; my ($SongCycleId, $LanguageId ) = (undef, undef); if (defined $m->request_args->{'SongCycleId'}) { $SongCycleId = $m->request_args->{'SongCycleId'}; } if (defined $m->request_args->{'LanguageId'}) { $LanguageId = $m->request_args->{'LanguageId'}; } my $sc = Lieder::SongCycle->retrieve($SongCycleId); my $display_title = ""; my $tr = undef; my $assemble_links = ""; my $status = ""; if (defined($sc)) { if (!defined ($LanguageId)) { $display_title = $sc->display_name(); } else { $tr = $sc->get_translation_by_language($LanguageId); if ($tr) { $display_title = $tr->display_name(); } else { $display_title = ""; } } if ($sc->status() eq 'Incomplete') { $status = ' [incomplete]'; } if ($sc->songs()) { my @songs = $sc->get_songs(); if (defined($LanguageId)) { $assemble_links .= 'Original language: ' . $sc->display_name() . "
\n"; } else { my @trs = $sc->translations(); if (@trs) { $assemble_links .= "

"; } foreach my $tr (@trs) { $assemble_links .= $tr->language_id->name() . ' translation: ' . $tr->display_name() . "
\n"; } $assemble_links .= "

"; } } } <%method title> % if ($display_title && $sc->songs()) { % if ( $sc->multi_composer() eq 'N' ) { <% $sc->songs->next->setting_id->composer_artist_id->undashed_display_name() . ":" %> % } <% $display_title %> % } else { Song Cycle Not Found % } (<% Lieder->keyword_laden_title() %>)