PlaySong.java

1
package com.github.dakusui.symfonion.cli.subcommands;
2
3
import com.github.dakusui.symfonion.cli.Cli;
4
import com.github.dakusui.symfonion.cli.Subcommand;
5
import com.github.dakusui.symfonion.compat.exceptions.ExceptionContext;
6
import com.github.dakusui.symfonion.core.Symfonion;
7
import com.github.dakusui.symfonion.song.Song;
8
9
import javax.sound.midi.MidiDevice;
10
import javax.sound.midi.Sequence;
11
import java.io.IOException;
12
import java.io.InputStream;
13
import java.io.PrintStream;
14
import java.util.Map;
15
16
import static com.github.dakusui.symfonion.cli.subcommands.LogiasUtils.createLogiasContext;
17
import static com.github.dakusui.symfonion.cli.subcommands.Play.play;
18
import static com.github.dakusui.symfonion.cli.subcommands.Play.prepareMidiOutDevices;
19
import static com.github.dakusui.symfonion.compat.exceptions.CompatExceptionThrower.ContextKey.SOURCE_FILE;
20
import static com.github.dakusui.symfonion.compat.exceptions.CompatExceptionThrower.exceptionContext;
21
import static com.github.dakusui.symfonion.compat.exceptions.ExceptionContext.entry;
22
23
public class PlaySong implements Subcommand {
24
  @Override
25
  public void invoke(Cli cli, PrintStream ps, InputStream inputStream) throws IOException {
26
    try (ExceptionContext ignored = exceptionContext(entry(SOURCE_FILE, cli.source()))) {
27
      Symfonion symfonion = cli.symfonion();
28
29
      Song                  song      = symfonion.loadSong(cli.source().getAbsolutePath(), cli.measureFilter(), cli.partFilter());
30
      Map<String, Sequence> sequences = symfonion.compileSong(song, createLogiasContext());
31 1 1. invoke : removed call to java/io/PrintStream::println → NO_COVERAGE
      ps.println();
32
      Map<String, MidiDevice> midiOutDevices = prepareMidiOutDevices(ps, cli.midiOutRegexPatterns());
33 1 1. invoke : removed call to java/io/PrintStream::println → NO_COVERAGE
      ps.println();
34 1 1. invoke : removed call to com/github/dakusui/symfonion/cli/subcommands/Play::play → NO_COVERAGE
      play(ps, midiOutDevices, sequences);
35
    }
36
  }
37
}

Mutations

31

1.1
Location : invoke
Killed by : none
removed call to java/io/PrintStream::println → NO_COVERAGE

33

1.1
Location : invoke
Killed by : none
removed call to java/io/PrintStream::println → NO_COVERAGE

34

1.1
Location : invoke
Killed by : none
removed call to com/github/dakusui/symfonion/cli/subcommands/Play::play → NO_COVERAGE

Active mutators

Tests examined


Report generated by PIT 1.19.1