Всем доброго здравия, уважаемые пикабушники.
На создание данного поста меня натолкнула следующая публикация: Для тех, кто любит готовить
Хотя, с оригинальным постом тут нет ровным счётом ничего общего, кроме мысли "классно было бы, если бы было приложение". Дело в том, что моя жена прочитала мне этот самый пост именно в тот момент времени, когда я ваял очередную свою поделку.
И так, к сути вопроса.
Я часто пишу музыку. В большинстве своём я делаю это с использованием midi барабанов. И вот, я почти дописал альбом и решил пересесть на другой барабанный плеер.
Изначально пользовался Addictive Drums, а решил пересесть на Supperior Drums
Нотная карта у этих плагинов отличается чуть больше чем полностью и забивать партии заново или сидеть и двигать мышкой нотки - задача, так сказать, такая себе.
Мысль номер раз: вскрыть миди файл и там всё поменять.
Разрушилась практически сразу же. миди файлы оказались бинарными, а править их через hex редакторы...
Мысль номер два... Да собственно, точно такая же, просто делать это не руками, а программно.
Нашёл статью на хабре, где подробно расписывается структуру миди файла, подумал, что всё не так уж и сложно, можно начинать писать. Но слава тебе Господи, решил проверить, а нет ли у нас готовых решений? И нашёл отличную библиотеку (не реклама, если что) https://www.nuget.org/packages/Melanchall.DryWetMidi/
Эта находка уберегла меня от написания велосипеда и траты энного количества времени.
А дальше - дело техники.
Ну и вот результат:
Подумав, что я могу быть такой не один и проблема моя может быть кому-то знакома, решил сделать приложение максимально удобным, на сколько это было возможно в моём понимании, и поделиться с общественностью.
Ссылочка на скачивание https://yadi.sk/d/LkE3uKMwUjg8oA
Я постараюсь следить за судьбой этого поста какое-то время. Если у кого-то буду мысли по улучшению, с радостью почитаю.
Ну и вы всегда можете написать мне на почту nikolas@rain-studio.com
Так будет надёжнее.
P.S. Я находил и иные решения, но все они были или тупо неудобные или платные. А зачем мне платить деньги, если я могу сделать сам?
P.P.S Товарищ, если у тебя потянулась рука. чтобы поставить минус, не поленись пожалуйста сделать не только это, но и в комментариях написать, почему ты это сделал. Хочется, так сказать, конструктивной критики.