Контакты

Наибольший вклад в теги

Все теги (20)

Лучшие ответы пользователя

Все ответы (32)
  • Как создать интернет радио средствами c# (интеграция с известными серверами)?

    VariusRain
    @VariusRain Автор вопроса
    музыкант-программист-конструктор
    Спустя пару дней изучения информации и общения с авторами сервера IceCast я-таки нашёл решение.
    Может быть оно кому-то будет полезным.

    Собственно, я решение оформил в виде dll'ки, которую легко можно подключить к проекту и запустить трансляцию двумя строками кода, но там же есть все исходники и материалы, которые я для этого использовал, так что можно мою библиотеку проходить мимо и просто пользоваться оригиналом.

    Ссылка на проект

    UDP
    Для удобства создал пакет на Nuget
    Ответ написан
    Комментировать
  • Как создать проигрыватель для гитарной табулатуры?

    VariusRain
    @VariusRain
    музыкант-программист-конструктор
    Готовых библиотек нет 100%, а если и можно найти что-то (в чём я лично сомневаюсь), то оно скорее всего будет платным.
    Здесь нужно решить несколько задач:
    1) Придумать как воспроизводить звук.
    Средствами чистого JS и HTML5 это делается в одну строчку кода. Другой вопрос, какой звук нужно воспроизводить
    Тут я виду два варианта:
    1. Использовать предзаписанные звуки нот - звучать будет скорее всего красиво, но тяжело и много подготовительной работы
    2. Воспроизводить звук средствами MIDI - легче и продуктивнее, можно посмотреть в сторону (midi.js)

    2) Необходимо решить что именно воспроизводить. Так как табулатуры можно писать в разных программах, а не только гитарпро, то, скорее всего правильнее будет идти по пути универсализации. Так или иначе, gtp - это проприетарный формат и читать его на стороне JS будет дюже затратно. Как мне кажется необходимо на стороне сервера парсить загружаемый туда файл таб и преобразовывать в midi или какой-то собственный формат и уже его отдавать на воспроизведение.
    Ответ написан
    2 комментария
  • Экспорт из Blender в Unity локации одним файлом blend или лучше разбить на отдельные fbx объекты?

    VariusRain
    @VariusRain
    музыкант-программист-конструктор
    Исключительно отдельно. При необходимости, можно одним fbx, но при этом объекты должны быть обязательно самостоятельными мешами.
    Идея в том, что с точки зрения производительности Юнити с большей любовью и трепетом воспринимает отдельные объекты. Движку не нужно держать в памяти всю модель уровня, а значит не придётся есть ресурсы целевого компа. Плюс, при самостоятельных объектах локацию проще будет редактировать прямо в движке, это позволить использовать повторяемость предметов, чтобы каждая условная "кружка" или "бочка" на карте были не самостоятельными мешами, а просто дубликатами одного и того же. Что также значительно сократит потребление ресурсов. Ну и никто не отменял запекание окружения.
    Ответ написан
    1 комментарий
  • Как послать запрос и вернуть обратно?

    VariusRain
    @VariusRain
    музыкант-программист-конструктор
    В форме нужно указать action
    Он должен смотреть на имя исполняемое скрипта ли же некий абстрактный путь, например
    <form action="myscript.php" method="POST">
    </form>

    <form action="/myscript" method="POST">
    </form>


    В первом случае всё просто, там получаются данные от формы, создаётся нужный экземпляр класса, обрабатывается в нём неким образом информация и отдаётся обратно.
    Во втором случае сложнее. Нужно создать механизм маршрутизации. Для этого настраивается файл ,htaccess где все без исключения запросы перенаправляются на какой-то один, конкретный файл, который будет являться точкой входа в приложение, и уже в нём, в зависимости от выбранного маршрута, менять поведение.
    Так будет грамотней, хотя и в разы сложнее.

    Если вы только осваиваете ООП в ПХП, вам стоит понимать, что точка входа в приложении всё равно будет описана в процедурном стиле и уже дальше архитектура приложения будет усложняться, обрастая классами
    Ответ написан
    3 комментария
  • Как запустить и остановить службы в Windows из под node js?

    VariusRain
    @VariusRain Автор вопроса
    музыкант-программист-конструктор
    В общем-то единственный способ, который я нашёл - это запуск консольных команд и парсинг их ответа.
    Можно, конечно, написать обёртку вокруг этого, но суть останется той же.
    Запуск службы:
    sc start ServiceName
    Остановить службу:.
    sc stop ServiceName
    Перезапустить службу:
    sc restart ServiceName
    Узнать статус службы:
    sc query ServiceName

    Подводным камнем тут будут права. Либо запускать ноду от имени админа, либо устанавливать на службу права, чтоб можно было ей управлять от имени пользователя.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (43)