waves rewire что это

Waves rewire что это

Весь материал, предоставленный на нашем сайте, предназначен только для ознакомления и не должен использоваться в коммерческих целях. За нарушение пользователями использования материала, не соотвествуещему действующих законов РФ, администрация сайта не несёт никакой ответственности.

ReWire, что это такое?

ReWire был разработан Propellerhead Software AB в 1998 году и впервые появился в ReBrith RB-338, а так же в программно-апппаратном комплексе Cubase VST фирмы Pinnacle, позволяя двум программам взаимодействовать в процессе работы, что невозможно было ранее. Спустя некоторое время, была выпущена вторая версия ReWire со значительными улучшениями и дополнениями. На сегодняшний день большое количество музыкальных приложений различных производителей поддерживают ReWire.

VAC не может работать с драйверами DirectX (что крайне неудобно для современных приложений, некоторые работают исключительно через DirectSound). VAC не делает ничего другого, кроме пересылки аудио блоков из одной программы в другую. Применение VAC наиболее эффективно тогда, когда какая-либо программа не позволяет писать результаты своей работы в звуковой файл, но выводит сигнал на физический выход. VAC имитирует такой выход; программа об этом даже не догадывается, а, запустив любой рекордер (хоть «фонограф» Windows), можно и WAV состряпать.

Можно, конечно, и Sound Forge с CakeWalk связать. Но без поддержки точной синхронизации между приложениями польза от VACоподобных программ сомнительна.
С появлением ReWire в виртуальной студии наконец-то появился аналог многоканального аудио кабеля с совершенной системой синхронизации. ReWire, кажется, начинает заполнять коммутационный пробел, мешающий здоровому функционированию виртуального оборудования.

Итак, три основных функциональных возможности протокола:

— передача потокового аудио между приложениями в реальном времени;
— синхронизация с точностью до семпла;
— связанный транспорт в приложениях.

ReWire предлагает до 64 независимых каналов (версия 2.0 до 256) передачи аудио данных. Текущая версия поддерживает максимальную частоту дискретизации 96 кГц, разрядность 24 бита. Заявлено, что проблем с расширением этого диапазона в будущем не возникнет. Все вопросы синхронизации между программами ReWire берет на себя. После того, как приложения запустились и обнаружили друг друга через ReWire (что происходит автоматически), между ними устанавливается точная до семпла и гарантированная от выпадения синхронизация. Может показаться странным, но в ReWire нет даже настроек и регулировок, связанных с синхронизацией. Синхронизация абсолютна.

ReWire обеспечивает связанные функции транспорта между приложениями (воспроизведение, перемотка, остановка и т. д.). Это значит, что если две программы работают через ReWire, нажатие кнопок транспорта в одной из них приводит к тому же эффекту в другой.

Просто незаменимая штука для электронных музыкантов музыкального общества J.

Источник

Что такое Rewire

Всё что нужно знать о протоколе Rewire и подключение двух DAW на конкретном примере

Rewire — это протокол обмена аудио- и миди-данными между музыкальными секвенсерами в пределах одного компьютера. Сходство в названии, благодаря приставке «Re» с Reason, Record, Recycle, Rebirth и т. д. обусловлено тем, что эта технология разработана совместными усилиями компаний Propellerhead и Steinberg (разработчик Cubase).

На всякий случай уточню: Rewire — не программа, его нельзя купить или скачать. Этот протокол уже реализован в твоей DAW.

Для решения каких задач используется Rewire продюсерами

Rewire позволяет соединять в единое целое 2 одновременно запущенных DAW в пределах одного компьютера. При таком соединении одна программа выполняет роль хоста (то есть становится главной), а другая — слейва (проще говоря, имеет меньший приоритет, подчиняется).

Так, например, запустив по Rewire Ableton Live и Propellerhead Reason, мы можем наруливать весь синтез в Reason, а работать с аудиоматериалом — в Live. При этом транспорт (play, stop, loop и проч.) становится общим, темп всего трека тоже един. Неплохо, да?

Возможности и преимущества использования такой связки очевидны, но нужно помнить несколько важных нюансов:

Пример подключения 2-х DAW по Rewire: Reason + Live

Перечень программ, которые могут выступать в качестве хостов и в качестве слейвов, приведу ниже. Конкретно в нашем примере хостом будет выступать Live, слейвом — Reason. Начнём.

Вот и всё! Остальные инструменты добавляются аналогично: добавляем новый аудиоканал в Live, создаём инструмент в Reason и отправляем сигнал на следующие свободные входы в hardware interface (в нашем случае это 3/4).

Да, кстати, что касается Reason: если ты заметил — Redrum, NN-XT и Kong имеют несколько аудиовыходов. Так вот, каждый из них можно маршрутизировать отдельно

Другие DAW подключаются по такому же принципу. Главное — определиться какая программа будет хостом, а какая слейвом.

Программы, которые работают по Rewire в качестве хоста

Ableton Live, Adobe Audition, Audiffex inTone, Logic Pro, Arturia Storm, FL Studio, Cakewalk Sonar, Cockos REAPER, Companion E&D Intuem RW, Cycling ’74 Max/MSP, Digidesign Pro Tools, Fairlight Xynergi, GarageBand, Granted Software ReVision, Line 6 GuitarPort, Line 6 RiffTracker, Mackie Tracktion, MOTU Digital Performer, Opcode Vision DSP, Opcode Studio Vision, Plogue Bidule, Pro Tools на OS9 с reFuse, Samplitude, Sonoma Wire Works RiffWorks, Sony ACID Pro, Steinberg Cubase, Steinberg Nuendo, Synapse Audio Orion Platinum, Studio One, Reason (в случае подключения к нему Rebirth).

Программы, которые работают по Rewire в качестве слейва

Ableton Live, ArKaos VJ, Arturia Storm, Audionaut Obsession, Bitheadz Retro AS-1, Bitheadz Unity DS-1, Cockos REAPER, Digital Salade Toki Shot, FL Studio, Cakewalk Project 5, MadTracker, Cycling ’74 Max/MSP, Plogue Bidule, Propellerhead Reason, Propellerhead ReBirth, Sony ACID Pro, Speedsoft VSampler, Tascam GigaStudio, Toontrack dfh SUPERIOR, Sibelius, Synapse Audio Orion Platinum.

1 основываюсь на личном опыте, поэтому если знаешь как разрешить эту проблему — напиши в комментариях

Источник

Waves rewire что это

Можно, конечно, и Sound Forge с CakeWalk связать. Но без поддержки точной синхронизации между приложениями польза от VACоподобных программ сомнительна.

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

Концепция ReWire

До появления ReWire основных способов коммутации между музыкальными программами было всего два.

Совокупность всего вышеперечисленного заставила производителей искать лучшие способы коммутации. На сегодняшний день единственным работающим протоколом является ReWire.

Итак, три основных функциональных возможности протокола:
— передача потокового аудио между приложениями в реальном времени;
— синхронизация с точностью до семпла;
— связанный транспорт в приложениях.

ReWire предлагает до 64 независимых каналов передачи аудио данных. Текущая версия поддерживает максимальную частоту дискретизации 96 кГц, разрядность 24 бита. Заявлено, что проблем с расширением этого диапазона в будущем не возникнет. Все вопросы синхронизации между программами ReWire берет на себя. После того, как приложения запустились и обнаружили друг друга через ReWire (что происходит автоматически), между ними устанавливается точная до семпла и гарантированная от выпадения синхронизация. Может показаться странным, но в ReWire нет даже настроек и регулировок, связанных с синхронизацией. Синхронизация абсолютна.

ReWire обеспечивает связанные функции транспорта между приложениями (воспроизведение, перемотка, остановка и т. д.). Это значит, что если две программы работают через ReWire, нажатие кнопок транспорта в одной из них приводит к тому же эффекту в другой.

По-моему, достаточно аргументов, чтобы считать ReWire чем-то большим, нежели простой аудио кабель.

Реализация, или «Как оно работает?»

Учитывая прежде всего практический интерес к технологии, не будем вдаваться в программистские дебри, тем более, что по сложности реализации ReWire превосходит многие «навороченные» технологии (вроде MROS в Cubase).

Поддержка ReWire приложениями как на PC, так и на Mac, сводится к выполнению ими определенного соглашения (контракта). Программный синтезатор или другой источник аудио данных (назовем его сервер) является поставщиком этих данных для программного секвенсора/ микшера/ рекордера (назовем его клиентом). Клиент работает с сервером через системный модуль, обеспечивающий реализацию протокола ReWire. Этот модуль принадлежит серверу и выпускается его производителем.

Первым запускается клиент. Он просматривает системную базу данных на наличие приложений, поддерживающих ReWire. Пока ни одно из таких приложений не запущено, клиент работает обычным образом (например, в его виртуальном микшере не появляется новых входных каналов). Как только запускается приложение-сервер, поддерживающее ReWire, оно проверяет систему на наличие активного (работающего) клиента. Если активный клиент найден, наступает стадия взаимной инициализации («снюхивания»), при этом сервер указывает клиенту с каким модулем, реализующим ReWire, последнему следует работать. Я думаю, такого описания «программизма» достаточно.

Рассмотрим более интересную практическую сторону работы технологии. Поскольку на момент написания мне была доступна только пара Cubase VST / ReBirth 338 (другие группы ПО, поддерживающего ReWire, перечислены далее), займемся именно ей (для многих пользователей ReWire пока ассоциируется именно с этими продуктами и является для них долгожданной заменой HLD).

Для того, чтобы работать с ReWire, необходимо иметь ReBirth 338 версии 2.01 или выше, и Cubase VST (4.0 для Mac, 3.6 или выше для PC).

Для всех Mix-каналов и каналов Synth-секций (Mix-L/Mix-R, 808-Mix, 909-Mix, 303-1, 303-2) сохраняется вся автоматизация панорамы, уровня и эффектов в разрыве (Dist, PCF, Comp), установленная в ReBirth. Единственным сигналом, который невозможно убрать из каналов Mix-L/Mix-R, является возврат с линии задержки.

Для активизации каналов в Cubase нужно в меню Audio выбрать пункт ReWire и в появившемся окне нажать нужную кнопку (она загорится зеленым светом). В правой части окна ReWire можно задать пользовательские имена для каналов, если вас не устраивают стандартные.

Работа через ReWire в Cubase/ReBirth очень проста и никаких дополнительных знаний и умений не требует, поэтому остановимся на правильном запуске приложений для работы с ReWire.

Первым следует запускать Cubase (клиент). Сразу же нужно активизировать окно ReWire и выбрать хотя бы один канал (иначе ReBirth при запуске ругается, хотя в документации про это не сказано ни слова). Затем запускаем ReBirth, который грузится в 1,5-2 раза дольше обычного. Дальнейшая работа с обеими программами ничем не отличается от привычной, за исключением связанного транспорта и совершенной синхронизации.

При работе ReBirth/Cubase через ReWire мы получаем следующие дополнительные преимущества:
— возможность вывода сигнала на несколько физических выходов из ReBirth;
— не требуются две звуковые платы, так как ReBirth направляет аудио блоки напрямую в VST и, таким образом, совсем не требует для себя звуковой платы;
— меньшие суммарные затраты системных ресурсов, чем при использовании «по старинке» с синхронизацией по HLD;
— ReWire поддерживает ASIO-драйверы, через VST можно выводить сигнал из ReBirth на различные выходы ASIO-совместимых звуковых плат;
— возможность добавлять в микс дополнительные партии из Synth-секций, что равносильно увеличению полифонии ReBirth.

Однако имеются и некоторые подводные камни:
— в ReBirth частота дискретизации ограничена 44,1 кГц. Поэтому, если в Cubase установлено иное значение, ReBirth будет воспроизводить звук с неправильной высотой тона;
— на платформе Mac невозможно использование ReWire и OMS одновременно;
— при отключении опции Play in Background меню Options в Cubase, коммутация между программами нарушается;
— при работе с ReWire необходимо отключить в Cubase поддержку мультипроцессорной работы.

Вывод

Прочитав этот небольшой обзор большой технологии, у вас, наверное, исчезли некоторые вопросы и, скорее всего, появились новые.

Propellerhead и Steinberg достаточно поработали над стандартом: они решили нелегкую задачу и, надо сказать, решили быстро и качественно. Исполнительный директор Propellerhead Software говорит по этому поводу следующее: «Мы знаем, что существует огромная потребность в стандартизации этой области, мы с огромным интересом и волнением следим за тем, как другие производители внедряют наш стандарт. Вместе с компанией Steinberg мы доказали, что в разработке программного обеспечения для музыкальных студий нельзя оставаться на месте, нужно двигаться только вперед. Мы искренне верим, что музыканты во всем мире по достоинству оценят преимущество работы музыкальных приложений в тесном контакте друг с другом».

Propellerhead Software выпускает бесплатные лицензии для компаний, производящих коммерческие ReWire-приложения, в общем, «продвигает» технологию как может. В настоящий момент несколько производителей уже анонсировали выход ReWire-совместимых продуктов, например, секвенсоры Opcode Vision DSP и Studio Vision для MacOS, программные синтезаторы BitHeadz Retro AS-1 и Unity DS-1 для MacOS и Windows 95/98.

В ближайшем будущем, вероятно, будут широко использоваться как технология VST 2.0, так и ReWire. Приложения-микшеры (клиенты), скорее всего, будут поддерживать оба протокола (пока это делает только Cubase). Предполагается, что такие приложения смогут работать с обоими типами программных синтезаторов (VST и ReWire-совместимыми) одновременно!

Производителям программных синтезаторов придется произвести очередной анализ экономической эффективности от поддержки того или иного протокола. Для небольших и несложных продуктов удобнее использовать VST, поскольку при этом сокращается время на разработку продукта, и подключаемый модуль менее зависит от особенностей операционной системы/платформы. Компании, производящие сложные продукты, вероятно предпочтут ReWire, поскольку в этом случае они не стеснены рамками интерфейса подключаемых модулей. Компании, уже имеющие готовые программные синтезаторы в виде самостоятельных приложений, также предпочтут ReWire, поскольку при этом практически не потребуется изменение пользовательского интерфейса.
За пару лет своего существования протокол ReWire стал довольно популярен и сейчас используется в следующих программах: Steinberg Cubase VST (PC/Mac), Steinberg Nuendo 1.5 (PC/Mac), Propellerhead Software Reason и ReBirth RB-338 (PC/Mac), Opcode Vision DSP и Studio Vision (Mac), Bitheadz Retro AS-1 и Unity DS-1 (PC/Mac), Emagic Logic Audio (PC/Mac), Koblo Vibra, Stella и Gamma (Mac), MOTU Digital Performer 2.7 (Mac).

При всех своих достоинствах протокол первой версии для нормальной работы требовал значительной мощности компьютера, увеличивалось и время ожидания при совместной работе нескольких программ. Виртуальные устройства в двух разных программах были связаны почти так же, как и аппаратные. Почему почти? Протокол первой версии брал на себя функцию аудио- и синхрокабеля с передачей команд транспорта, но MIDI-информация не передавалась. Фактически, программа-синтезатор представляла собой черный ящик для программы микшера-секвенсора (виртуальной студии). Синтезатор что-то там себе играет и реагирует только на команды старт, стоп, перемотать и т. д. Микшер принимает аудиоданные по нескольким каналам, секвенсор простаивает. Для того, чтобы секвенсор мог воздействовать на синтезатор, применялся все тот же виртуальный MIDI-кабель Hubi’s LoopBack. Это пользователям оптимизма не прибавляло, да и вообще выглядело криво на фоне VST-инструментов, которые без всяких заморочек управлялись по MIDI и передавали звук на аудиодорожки секвенсора.

Протокол ReWire 2.0 решил эту проблему, и теперь виртуальные устройства могут передавать друг другу MIDI-сообщения. Более того, ReWire 2 сканирует номера контроллеров, управляющих виртуальным инструментом, и дает им человеческие имена в программе-секвенсоре (гораздо нагляднее управлять параметром «Filter 1 Cutoff», чем каким-нибудь контроллером номер 17). Точно также из виртуальных драм-машин могут передаваться настоящие имена звуков в редактор ударных секвенсора.

ReWire 2 предлагает до 256 каналов передачи звука между двумя приложениями в формате 32 бита с плавающей запятой и любой частотой дискретизации.

Технология работы программ через ReWire осталась прежней, за исключением того, что теперь при запуске виртуального синтезатора в программе-секвенсоре появляются дополнительные входной и выходной MIDI-порты, с тем же названием, что и синтезатор.

На сегодняшний день ReWire 2.0 поддерживают две программы: Steinberg Nuendo 1.5 и Propellerhead Software Reason на платформах PC и Mac. Совместимость с предыдущей версией протокола сохранена, поэтому Nuendo и Reason могут работать с программами, использующими ReWire 1.0.

Источник

6.5. Использование ReWire

Рабы и Хозяева (Slaves and Masters)

В наши дни большинство музыкальных программ невероятно мощны, и у нас нет никаких серьёзных ограничений, которые бы не давали нам возможности создавать при их помощи музыкальные произведения от начала до конца. Однако стоит принимать во внимание, что каждая программа имеет свои уникальные особенности, поэтому некоторые музыканты используют различный софт для разных производственных этапов при создании треков. Вы можете создавать некоторые лупы в программе Reason, а затем проигрывать их вместе с остальными партиями инструментов в Ableton Live. Или, например, вы работаете над проектом в Pro Tools, и вам хотелось бы подключить преимущества гибкого варпинга и возможности встроенных инструментов Live.

Все эти вещи могут быть легко сделаны путем импортирования и экспортирования аудио информации между программами, но иногда куда легче использовать специальный программный протокол связи ReWire, который позволяет вам соединять вместе множественные куски различного музыкального софта. С этой технологией, аудио и MIDI-поток легко переливается из одной программы в другую, при этом транспортное управление и темп двух программ становится связанным, тем самым заставляя их работать как одну общую «мегапрограмму».

Для большинства случаев, использование ReWire весьма прозрачно и легко настраиваемо. Вам не нужно инсталлировать или конфигурировать его отдельно, Rewire запускается автоматически, когда это нужно. Его поведение определяется порядком, в котором вы запускаете ваши различные музыкальные приложения, а также тем, как вы организовали роутинг, в самих приложениях.

Masters

Slaves

Все ReWire-совместимые программы, которые были запущены после мастера, будут назначены в качестве ReWire-slaves («раба»). Slaves в действительности не связываются с компьютерным аудио железом в полной мере. Вместо этого, их аудио выходы направлены в ReWire мастер-программу. Пока аудио будет проходить через мастер-программу, вы не будете слышать Slave-программу, до тех пор, пока вы не установите ее внешний роутинг (маршрутизацию) должным образом. Точный метод для всего этого будет немного различаться в зависимости от программ, которые вы используете. В Ableton Live процесс связывания программ по ReWire весьма прост, и разобран ниже.

Используем ReWire с Live

Используем Live как ReWire-мастер.

Когда Live используется в качестве ReWire мастера, его функционал точно идентичен тому, когда он используется без всякого ReWire. Главное различие в роутинге. Вы должны конфигурировать Live для того, чтобы он получал аудио из Slave-программы, и вам нужно будет отправлять MIDI в программу-Slave.

Для того чтобы получать аудио, создайте аудио трек и поставьте его Input Type в положение Slave, как показано на скриншоте ниже. Что именно вы выберете в Input Channel, зависит от того, как ваше Slave-приложение настроено. По умолчанию, Live будет выбирать стерео-выход вашего Slave-приложения. ReWire поддерживает до 64-х виртуальных выходов, которые могут быть использованы в том случае, когда вы хотите отправить сигнал индивидуальных инструментов из Slave на различные дорожки в Live.

waves rewire что это. Смотреть фото waves rewire что это. Смотреть картинку waves rewire что это. Картинка про waves rewire что это. Фото waves rewire что это

После того как вы выбрали ReWire источник трека, можно записать аудио из Slave-приложения в качестве нового клипа, или просто мониторить источник. ReWire синхронизирует программы, так что клик на Play в Live, станет причиной того, что партии из Slave-программы будут также проигрываться во времени. Имейте в виду, что ReWire сам по себе использует очень мало системных ресурсов, а вот запуск нескольких аудио приложений может быть очень суровым испытанием как для CPU так и для RAM.

ReWire может быть использован также для того, чтобы отправлять MIDI из мастера в Slave. Это позволяет вам контролировать совместимые приложения точно также, как вы контролируете виртуальные инструменты в Live. Выберите ReWire в Output Type и нужный девайс в Output Channel.

waves rewire что это. Смотреть фото waves rewire что это. Смотреть картинку waves rewire что это. Картинка про waves rewire что это. Фото waves rewire что это

Имейте в виду, что канал-назначение (целевой) будет в списке, только если девайсы или элементы в Slave-программе будут активны и способны получать MIDI-сообщения. Например, если вы загрузите пустой Rack в Reason, не будет никаких Output-девайсов, показанных в нижнем меню. Но если вы сделаете в Reason несколько девайсов таких как Kong Drum Designer, Dr. OctoRex, и, к примеру, NN-XT sampler, эти девайсы можно индивидуально выбрать в нижнем меню MIDI-трека, в Input/Output секциях.

Не все ReWire-Slave приложения способны получать MIDI-input из Master-приложения. Если программа не способна принимать MIDI, она не будет отображена в списке доступных для Output целей в MIDI-дорожке.

Используем Live в качестве ReWire Slave.

Точные шаги для открытия Live как ReWire-Slave зависят от мастер-приложения, которое вы используете. По некоторым причинам, вам нужно будет активировать ReWire-каналы в мастер-приложении прежде чем запустить Live; в противном случае Live может не открыться в режиме Slave. Проверьте мануал вашей Master-программы для поиска рекомендаций о том, как вы можете сделать это. Одно очень важное правило состоит в том, что ReWire мастер должен быть запущен, прежде чем Live. Когда Live запускается в качестве Slave, вы увидите соответствующее уведомление на загрузочном экране во время запуска.

Когда вы используете Live в качестве Slave, вы заметите множество небольших различий в доступных опциях во всей программе. Первая вещь, которая бросается в глаза, это то что Live будет отправлять аудио и получать MIDI из мастер-программы, вместо вашего аудио и MIDI оборудования.

Другое отличие состоит в том, что будет доступна маршрутизация выходов для аудио в микшере программы. Когда вы смотрите Master Out, и все меню Output Type на индивидуальных дорожках, вы увидите список, который будет исписан ReWire-шинами («шина» по-английски «Bus»), вместо выходов вашего аудио интерфейса. Это – пути, которые идут от Live в ваше мастер-приложение. По умолчанию Live будет отправлять все его аудио выходы в «Mix L/R» шину. При этом вы можете отправлять разные треки на разные шины (Bus) и заставить мастер-приложение получать их на разных дорожках.

Отметим, что ReWire также дает вам возможность доступа к встроенным инструментам Ableton из мастер-приложения. Однако необходимо учитывать, что это не будет работать с плагинами инструментов, которые не могут быть загружены в Ableton Live, когда он находится в режиме Slave.

Теперь вы готовы работать с Live. Запустив сам Live, вы должны увидеть сообщение на загрузочном экране, которое будет гласить: “Running as ReWire Slave”. Посмотрите на мастер-трек в вашем Live Set’е, и вы увидите, что мастер-выход теперь поставлен на Mix L/R, т.е. на тот же вход, который мы выбрали в Pro Tools. Даже до того, как здесь появится какой-либо звук, вы можете увидеть ReWire в работе. Обратите внимание, что нажатие Play, как в Live, так и в Pro Tools будет причиной того, что оба секвенсора начнут свое воспроизведение, при этом изменение темпа в Pro Tools заставляет темп Ableton Live тоже изменяться. Теперь можете положить какие-нибудь клипы в Live, или открыть уже существующий сет в Live, и вы услышите Мастер-выход Ableton Live через Pro Tools.

Если вы хотите контролировать инструменты Ableton Live из Pro Tools, для этого есть несколько дополнительных шагов. Для начала, создайте MIDI-дорожку в Live и положите один из инструментов Ableton на нее, для этого примера мы будем использовать Operator. Далее, создайте MIDI-трек в Pro Tools. (Если вы еще не сделали этого, порядок действий здесь не важен.) Установите Output вашего MIDI-трека в Pro Tools на тот трек в Ableton, который необходим. Вот и все!

Если вы хотите отправить треки из Live точно на индивидуальные треки в программе-хосте (Мастере), просто выберите ReWire-шину в меню Output в Live и создайте трек в вашем хосте для того, чтобы получать аудио через эту шину («Bus»).

Примечание wolfframe: со временем я добавлю в нижний раздел (Используем Live в качестве ReWire Slave) скриншоты. Сейчас Pro Tools недоступен, и нет возможности обеспечить иллюстрации для этого раздела.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *