예제 #1
0
        public void AddTest()
        {
            var repository   = new LiteDbKeySwitchRepository(new MemoryStream());
            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn>()
            {
                new MidiNoteOn(new MidiStatus(MidiStatusHelper.NoteOn), new MidiNoteNumber(1), new MidiVelocity(100))
            },
                new List <MidiControlChange>(),
                new List <MidiProgramChange>()
                );
            var record = TestDataGenerator.CreateKeySwitch(articulation);

            var result = repository.Save(record);

            Assert.AreEqual(1, result.Inserted);

            var seq = repository.Find(record.ProductName);
            var cmp = seq.First();

            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.DeveloperName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.ProductName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);

            seq = repository.Find(record.DeveloperName, record.ProductName, record.InstrumentName);
            cmp = seq.First();
            Assert.AreEqual(record, cmp);
        }
예제 #2
0
        public void ExportTest()
        {
            #region Adding To DB
            var dbRepository = new LiteDbKeySwitchRepository(new MemoryStream());
            var articulation = TestDataGenerator.CreateArticulation(
                new MidiNoteOn[] { IMidiNoteOnFactory.Default.Create(1, 23) },
                new MidiControlChange[] {},
                new MidiProgramChange[] {}
                );
            var entity = TestDataGenerator.CreateKeySwitch(articulation);
            dbRepository.Save(entity);
            #endregion

            var inputData  = new ExportingStudioOneKeySwitchRequest(entity.DeveloperName.Value, entity.ProductName.Value);
            var interactor = new ExportingStudioOneKeySwitchInteractor(
                dbRepository,
                new KeySwitchToStudioOneKeySwitchModel(),
                new IExportingStudioOneKeySwitchPresenter.Null()
                );

            var response = interactor.Execute(inputData);

            foreach (var i in response.Elements)
            {
                Console.WriteLine($"Expressionmap of {i.KeySwitch.InstrumentName}");
                Console.WriteLine(i.XmlText);
            }
        }
예제 #3
0
        public void ConvertToJsonTest()
        {
            var midiNoteFactory = IMidiNoteOnFactory.Default;
            var midiCcFactory   = IMidiControlChangeFactory.Default;
            var midiPcFactory   = IMidiProgramChangeFactory.Default;

            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn> {
                midiNoteFactory.Create(1, 23)
            },
                new List <MidiControlChange> {
                midiCcFactory.Create(2, 34)
            },
                new List <MidiProgramChange> {
                midiPcFactory.Create(3, 45)
            }
                );

            var entity = TestDataGenerator.CreateKeySwitch(articulation);

            var translator = new KeySwitchToJsonModel();
            var json       = translator.Translate(entity);

            var translator2 = new JsonModelToKeySwitch();
            var cmp         = translator2.Translate(json);

            Assert.AreEqual(entity, cmp);

            Console.WriteLine(json);
        }
예제 #4
0
        public void TranslateTest()
        {
            var translator   = new KeySwitchToStudioOneKeySwitchModel();
            var articulation = TestDataGenerator.CreateArticulation(
                new MidiNoteOn[] { IMidiNoteOnFactory.Default.Create(1, 23) },
                new MidiControlChange[] {},
                new MidiProgramChange[] {}
                );
            var entity = TestDataGenerator.CreateKeySwitch(articulation);
            var xml    = translator.Translate(entity);

            Console.Out.WriteLine(xml);
        }
예제 #5
0
        public void ConvertTest()
        {
            var articulation = TestDataGenerator.CreateArticulation(
                new List <MidiNoteOn>
            {
                IMidiNoteOnFactory.Default.Create(10, 20)
            },
                new List <MidiControlChange> {
            },
                new List <MidiProgramChange> {
            }
                );

            var entity     = TestDataGenerator.CreateKeySwitch(articulation);
            var translator = new KeySwitchToVstExpressionMapModel();
            var text       = translator.Translate(entity);

            Console.WriteLine(text);
        }