Rebrand from Aitum Vertical to Vulcast Vertical
Some checks are pending
Build Windows DLL / build-windows (push) Waiting to run
Some checks are pending
Build Windows DLL / build-windows (push) Waiting to run
- Changed CANVAS_NAME to 'Vulcast Vertical' - Changed OBS_MODULE_AUTHOR to 'Vulcast' - Replaced all Aitum UI branding (logo, buttons, links) - Removed api.aitum.tv version check - Removed aitum-stream-suite/aitum-multistream module checks - Updated all locale files (9 languages) - Updated build metadata (buildspec.json, resource.rc.in, CMakeLists.txt) - Updated resources.qrc prefix from /aitum to /vulcast - Added GitHub Actions workflow for Windows build - Added BUILD-WINDOWS.md with build instructions Licensed under GPL-2.0 (unchanged from upstream).
This commit is contained in:
parent
0e83ab9eef
commit
184d132b59
20 changed files with 212 additions and 140 deletions
65
.github/workflows/build.yml
vendored
Normal file
65
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
name: Build Windows DLL
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Visual Studio environment
|
||||||
|
uses: ilammy/msvc-dev-cmd@v1
|
||||||
|
with:
|
||||||
|
arch: x64
|
||||||
|
|
||||||
|
- name: Download OBS Studio source
|
||||||
|
run: |
|
||||||
|
Invoke-WebRequest -Uri "https://github.com/obsproject/obs-studio/archive/refs/tags/31.1.0.zip" -OutFile obs-studio.zip
|
||||||
|
Expand-Archive -Path obs-studio.zip -DestinationPath C:\
|
||||||
|
Rename-Item "C:\obs-studio-31.1.0" "C:\obs-studio"
|
||||||
|
|
||||||
|
- name: Download OBS pre-built dependencies
|
||||||
|
run: |
|
||||||
|
Invoke-WebRequest -Uri "https://github.com/obsproject/obs-deps/releases/download/2025-05-23/windows-x64-2025-05-23.tar.gz" -OutFile obs-deps.tar.gz
|
||||||
|
mkdir C:\obs-deps
|
||||||
|
tar -xzf obs-deps.tar.gz -C C:\obs-deps
|
||||||
|
|
||||||
|
- name: Download Qt6
|
||||||
|
run: |
|
||||||
|
Invoke-WebRequest -Uri "https://github.com/obsproject/obs-deps/releases/download/2025-05-23/windows-x64-qt6-2025-05-23.tar.gz" -OutFile qt6.tar.gz
|
||||||
|
mkdir C:\qt6
|
||||||
|
tar -xzf qt6.tar.gz -C C:\qt6
|
||||||
|
|
||||||
|
- name: Build OBS Studio libraries
|
||||||
|
run: |
|
||||||
|
cd C:\obs-studio
|
||||||
|
cmake -S . -B build_x64 `
|
||||||
|
-G "Visual Studio 17 2022" -A x64 `
|
||||||
|
-DENABLE_PLUGINS=OFF `
|
||||||
|
-DENABLE_UI=OFF `
|
||||||
|
-DENABLE_SCRIPTING=OFF `
|
||||||
|
-DCMAKE_BUILD_TYPE=Release
|
||||||
|
cmake --build build_x64 --config Release --target libobs -- /m
|
||||||
|
cmake --build build_x64 --config Release --target obs-frontend-api -- /m
|
||||||
|
|
||||||
|
- name: Build plugin
|
||||||
|
run: |
|
||||||
|
cd ${{ github.workspace }}
|
||||||
|
cmake -S . -B build `
|
||||||
|
-G "Visual Studio 17 2022" -A x64 `
|
||||||
|
-DBUILD_OUT_OF_TREE=On `
|
||||||
|
-Dlibobs_DIR="C:/obs-studio/build_x64/libobs" `
|
||||||
|
-Dobs-frontend-api_DIR="C:/obs-studio/build_x64/UI/obs-frontend-api" `
|
||||||
|
-DCMAKE_PREFIX_PATH="C:/obs-deps;C:/qt6" `
|
||||||
|
-DQt6_DIR="C:/qt6/lib/cmake/Qt6"
|
||||||
|
cmake --build build --config Release -- /m
|
||||||
|
|
||||||
|
- name: Upload DLL
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: vulcast-vertical-windows-x64
|
||||||
|
path: build/Release/vulcast-vertical.dll
|
||||||
48
BUILD-WINDOWS.md
Normal file
48
BUILD-WINDOWS.md
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Building Vulcast Vertical on Windows
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
1. **Visual Studio 2022** with "Desktop development with C++" workload
|
||||||
|
2. **CMake 3.22+** (included with Visual Studio or install separately)
|
||||||
|
3. **Git**
|
||||||
|
|
||||||
|
## Quick Build (GitHub Actions - Recommended)
|
||||||
|
|
||||||
|
1. Push this repo to GitHub
|
||||||
|
2. Go to Actions tab → "Build Windows DLL" workflow → Run workflow
|
||||||
|
3. Download the DLL from the Artifacts section
|
||||||
|
|
||||||
|
## Local Build
|
||||||
|
|
||||||
|
1. Clone this repo
|
||||||
|
2. Open "Developer PowerShell for VS 2022"
|
||||||
|
3. Run:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
# Download OBS dependencies
|
||||||
|
Invoke-WebRequest -Uri "https://github.com/obsproject/obs-studio/archive/refs/tags/31.1.0.zip" -OutFile obs-studio.zip
|
||||||
|
Expand-Archive -Path obs-studio.zip -DestinationPath .
|
||||||
|
Rename-Item "obs-studio-31.1.0" "obs-studio"
|
||||||
|
|
||||||
|
# Build OBS libraries
|
||||||
|
cd obs-studio
|
||||||
|
cmake -S . -B build_x64 -G "Visual Studio 17 2022" -A x64 -DENABLE_PLUGINS=OFF -DENABLE_UI=OFF -DENABLE_SCRIPTING=OFF
|
||||||
|
cmake --build build_x64 --config Release --target libobs -- /m
|
||||||
|
cmake --build build_x64 --config Release --target obs-frontend-api -- /m
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Build the plugin
|
||||||
|
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DBUILD_OUT_OF_TREE=On -Dlibobs_DIR="./obs-studio/build_x64/libobs" -Dobs-frontend-api_DIR="./obs-studio/build_x64/UI/obs-frontend-api"
|
||||||
|
cmake --build build --config Release -- /m
|
||||||
|
```
|
||||||
|
|
||||||
|
4. The DLL will be at `build/Release/vulcast-vertical.dll`
|
||||||
|
|
||||||
|
## Installing
|
||||||
|
|
||||||
|
Copy `vulcast-vertical.dll` to your OBS plugins folder:
|
||||||
|
```
|
||||||
|
C:\Program Files\obs-studio\obs-plugins\64bit\
|
||||||
|
```
|
||||||
|
|
||||||
|
Restart OBS. The "Vulcast Vertical" dock will appear automatically.
|
||||||
|
|
@ -93,5 +93,5 @@ target_sources(${PROJECT_NAME} PRIVATE
|
||||||
if(BUILD_OUT_OF_TREE)
|
if(BUILD_OUT_OF_TREE)
|
||||||
set_target_properties_plugin(${CMAKE_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${_name})
|
set_target_properties_plugin(${CMAKE_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${_name})
|
||||||
else()
|
else()
|
||||||
set_target_properties_obs(${PROJECT_NAME} PROPERTIES FOLDER "plugins/aitum" PREFIX "")
|
set_target_properties_obs(${PROJECT_NAME} PROPERTIES FOLDER "plugins/vulcast" PREFIX "")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -33,15 +33,15 @@
|
||||||
},
|
},
|
||||||
"platformConfig": {
|
"platformConfig": {
|
||||||
"macos": {
|
"macos": {
|
||||||
"bundleId": "tv.aitum.vertical"
|
"bundleId": "tv.vulcast.vertical"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"name": "vertical-canvas",
|
"name": "vertical-canvas",
|
||||||
"displayName": "Vertical",
|
"displayName": "Vertical",
|
||||||
"version": "1.6.4",
|
"version": "1.6.4",
|
||||||
"author": "Aitum",
|
"author": "Vulcast",
|
||||||
"website": "https://aitum.tv",
|
"website": "https://vulcast.tv",
|
||||||
"email": "support@aitum.tv",
|
"email": "support@vulcast.tv",
|
||||||
"uuids": {
|
"uuids": {
|
||||||
"windowsApp": "9072EA15-785B-4BD9-8310-68CEECDA2117"
|
"windowsApp": "9072EA15-785B-4BD9-8310-68CEECDA2117"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
listwidgetitem->setText(QString::fromUtf8(obs_module_text("Help")));
|
listwidgetitem->setText(QString::fromUtf8(obs_module_text("Help")));
|
||||||
|
|
||||||
listwidgetitem = new QListWidgetItem(listWidget);
|
listwidgetitem = new QListWidgetItem(listWidget);
|
||||||
listwidgetitem->setIcon(QIcon(QString::fromUtf8(":/aitum/media/aitum.png")));
|
listwidgetitem->setIcon(QIcon(QString::fromUtf8(":/vulcast/media/logo.png")));
|
||||||
listwidgetitem->setText(QString::fromUtf8(obs_module_text("SupportButton")));
|
listwidgetitem->setText(QString::fromUtf8(obs_module_text("SupportButton")));
|
||||||
|
|
||||||
listWidget->setCurrentRow(0);
|
listWidget->setCurrentRow(0);
|
||||||
|
|
@ -130,7 +130,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
auto general_title = new QLabel(QString::fromUtf8(obs_module_text("General")));
|
auto general_title = new QLabel(QString::fromUtf8(obs_module_text("General")));
|
||||||
general_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
general_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||||
general_title_layout->addWidget(general_title, 0, Qt::AlignLeft);
|
general_title_layout->addWidget(general_title, 0, Qt::AlignLeft);
|
||||||
auto guide_link = new QLabel(QString::fromUtf8("<a href=\"https://l.aitum.tv/vh-general-settings\">") +
|
auto guide_link = new QLabel(QString::fromUtf8("<a href=\"https://vulcast.tv/docs/vertical/general\">") +
|
||||||
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
||||||
guide_link->setOpenExternalLinks(true);
|
guide_link->setOpenExternalLinks(true);
|
||||||
general_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
general_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
||||||
|
|
@ -184,7 +184,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
auto backtrack_title = new QLabel(QString::fromUtf8(obs_module_text("Backtrack")));
|
auto backtrack_title = new QLabel(QString::fromUtf8(obs_module_text("Backtrack")));
|
||||||
backtrack_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
backtrack_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||||
backtrack_title_layout->addWidget(backtrack_title, 0, Qt::AlignLeft);
|
backtrack_title_layout->addWidget(backtrack_title, 0, Qt::AlignLeft);
|
||||||
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://l.aitum.tv/vh-backtrack-settings\">") +
|
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://vulcast.tv/docs/vertical/backtrack\">") +
|
||||||
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
||||||
guide_link->setOpenExternalLinks(true);
|
guide_link->setOpenExternalLinks(true);
|
||||||
backtrack_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
backtrack_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
||||||
|
|
@ -313,7 +313,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
auto streaming_title = new QLabel(QString::fromUtf8(obs_module_text("Streaming")));
|
auto streaming_title = new QLabel(QString::fromUtf8(obs_module_text("Streaming")));
|
||||||
streaming_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
streaming_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||||
streaming_title_layout->addWidget(streaming_title, 0, Qt::AlignLeft);
|
streaming_title_layout->addWidget(streaming_title, 0, Qt::AlignLeft);
|
||||||
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://l.aitum.tv/vh-streaming-settings\">") +
|
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://vulcast.tv/docs/vertical/streaming\">") +
|
||||||
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
||||||
guide_link->setOpenExternalLinks(true);
|
guide_link->setOpenExternalLinks(true);
|
||||||
streaming_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
streaming_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
||||||
|
|
@ -559,7 +559,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
auto record_title = new QLabel(QString::fromUtf8(obs_module_text("Recording")));
|
auto record_title = new QLabel(QString::fromUtf8(obs_module_text("Recording")));
|
||||||
record_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
record_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||||
record_title_layout->addWidget(record_title, 0, Qt::AlignLeft);
|
record_title_layout->addWidget(record_title, 0, Qt::AlignLeft);
|
||||||
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://l.aitum.tv/vh-recording-settings\">") +
|
guide_link = new QLabel(QString::fromUtf8("<a href=\"https://vulcast.tv/docs/vertical/recording\">") +
|
||||||
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
QString::fromUtf8(obs_module_text("ViewGuide")) + QString::fromUtf8("</a>"));
|
||||||
guide_link->setOpenExternalLinks(true);
|
guide_link->setOpenExternalLinks(true);
|
||||||
record_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
record_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
||||||
|
|
@ -892,7 +892,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
tsButton->setCheckable(false);
|
tsButton->setCheckable(false);
|
||||||
tsButton->setText(QString::fromUtf8(obs_module_text("HelpTroubleshooterButton")));
|
tsButton->setText(QString::fromUtf8(obs_module_text("HelpTroubleshooterButton")));
|
||||||
|
|
||||||
connect(tsButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://l.aitum.tv/vh-ts")); });
|
connect(tsButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://vulcast.tv/docs/vertical")); });
|
||||||
|
|
||||||
helpButtonGroupLayout->addWidget(tsButton);
|
helpButtonGroupLayout->addWidget(tsButton);
|
||||||
|
|
||||||
|
|
@ -902,7 +902,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
guideButton->setCheckable(false);
|
guideButton->setCheckable(false);
|
||||||
guideButton->setText(QString::fromUtf8(obs_module_text("HelpGuideButton")));
|
guideButton->setText(QString::fromUtf8(obs_module_text("HelpGuideButton")));
|
||||||
|
|
||||||
connect(guideButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://l.aitum.tv/vh-guides")); });
|
connect(guideButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://vulcast.tv/docs/vertical")); });
|
||||||
|
|
||||||
helpButtonGroupLayout->addWidget(guideButton);
|
helpButtonGroupLayout->addWidget(guideButton);
|
||||||
|
|
||||||
|
|
@ -912,7 +912,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
discordButton->setCheckable(false);
|
discordButton->setCheckable(false);
|
||||||
discordButton->setText(QString::fromUtf8(obs_module_text("HelpDiscordButton")));
|
discordButton->setText(QString::fromUtf8(obs_module_text("HelpDiscordButton")));
|
||||||
|
|
||||||
connect(discordButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://aitum.tv/discord")); });
|
connect(discordButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://vulcast.tv/discord")); });
|
||||||
|
|
||||||
helpButtonGroupLayout->addWidget(discordButton);
|
helpButtonGroupLayout->addWidget(discordButton);
|
||||||
|
|
||||||
|
|
@ -939,7 +939,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
||||||
QHBoxLayout *bottomLayout = new QHBoxLayout;
|
QHBoxLayout *bottomLayout = new QHBoxLayout;
|
||||||
const auto version =
|
const auto version =
|
||||||
new QLabel(QString::fromUtf8(obs_module_text("Version")) + " " + QString::fromUtf8(PROJECT_VERSION) + " " +
|
new QLabel(QString::fromUtf8(obs_module_text("Version")) + " " + QString::fromUtf8(PROJECT_VERSION) + " " +
|
||||||
QString::fromUtf8(obs_module_text("MadeBy")) + " <a href=\"https://aitum.tv\">Aitum</a>");
|
QString::fromUtf8("powered by") + " <a href=\"https://vulcast.tv\">Vulcast</a>");
|
||||||
version->setOpenExternalLinks(true);
|
version->setOpenExternalLinks(true);
|
||||||
version->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
|
version->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ Recording="রেকর্ডিং"
|
||||||
StartRecordingHotkey="রেকর্ডিং Hotkey শুরু করুন"
|
StartRecordingHotkey="রেকর্ডিং Hotkey শুরু করুন"
|
||||||
StopRecordingHotkey="রেকর্ডিং Hotkey বন্ধ করুন"
|
StopRecordingHotkey="রেকর্ডিং Hotkey বন্ধ করুন"
|
||||||
Version="ভার্সন"
|
Version="ভার্সন"
|
||||||
MadeBy="♡ দ্বারা তৈরি"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="vertical scene যুক্ত করুন"
|
AddVerticalScene="vertical scene যুক্ত করুন"
|
||||||
RemoveVerticalScene="vertical scene অপসারণ করুন"
|
RemoveVerticalScene="vertical scene অপসারণ করুন"
|
||||||
StreamVertical="সব vertical আউটপুটগুলো stream করুন"
|
StreamVertical="সব vertical আউটপুটগুলো stream করুন"
|
||||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack শুরু করা ব্যর্থ হয
|
||||||
backtrackCustomFfmpeg="backtrack শুরু করা যাচ্ছে না যখন রেকর্ডিং custom ffmpeg এ সেট করা আছে।"
|
backtrackCustomFfmpeg="backtrack শুরু করা যাচ্ছে না যখন রেকর্ডিং custom ffmpeg এ সেট করা আছে।"
|
||||||
backtrackNoReplayBuffer="backtrack শুরু করা যাচ্ছে না কারণ কোনো রিপ্লে বাফার পাওয়া যায়নি।"
|
backtrackNoReplayBuffer="backtrack শুরু করা যাচ্ছে না কারণ কোনো রিপ্লে বাফার পাওয়া যায়নি।"
|
||||||
UseMain="main OBS সেটিংস ব্যবহার করুন"
|
UseMain="main OBS সেটিংস ব্যবহার করুন"
|
||||||
NewVersion="নতুন ভার্সন (%1) <a href='https://aitum.tv/download/vertical/'>এখানে/a> পাওয়া যাবে"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="কনফিগার করা Recording Path খালি রয়েছে। আপনার Recording Path টি Vertical Settings → Recording এর অধীনে পরীক্ষা করুন।"
|
RecordPathError="কনফিগার করা Recording Path খালি রয়েছে। আপনার Recording Path টি Vertical Settings → Recording এর অধীনে পরীক্ষা করুন।"
|
||||||
Help="সাহায্য"
|
Help="সাহায্য"
|
||||||
HelpSupport="Aitum Discord সার্ভারে যোগ দিন"
|
HelpSupport="Vulcast Discord সার্ভারে যোগ দিন"
|
||||||
CopyFromMain="main থেকে copy করুন"
|
CopyFromMain="main থেকে copy করুন"
|
||||||
VirtualCameraWarning="vertical ভার্চুয়াল ক্যামেরা চালু করার পর, OBS কিছু সেটিংস edit করতে বাধা দিতে পারে কারণ এটি মনে করতে পারে ক্যামেরাটি এখনও সক্রিয়, এমনকি এটি বন্ধ হওয়ার পরেও। সেটিংস আবার edit করতে OBS রিস্টার্ট করুন।"
|
VirtualCameraWarning="vertical ভার্চুয়াল ক্যামেরা চালু করার পর, OBS কিছু সেটিংস edit করতে বাধা দিতে পারে কারণ এটি মনে করতে পারে ক্যামেরাটি এখনও সক্রিয়, এমনকি এটি বন্ধ হওয়ার পরেও। সেটিংস আবার edit করতে OBS রিস্টার্ট করুন।"
|
||||||
NoOutputServer="কোনো আউটপুট সার্ভার নেই"
|
NoOutputServer="কোনো আউটপুট সার্ভার নেই"
|
||||||
|
|
@ -63,10 +63,10 @@ StopAll="সব বন্ধ করুন"
|
||||||
HelpIntro="সমস্যা সম্মুখীন হচ্ছেন? Vertical সম্পর্কে আরও জানতে চান? নীচে আমাদের সহায়ক রিসোর্সগুলি দেখুন।"
|
HelpIntro="সমস্যা সম্মুখীন হচ্ছেন? Vertical সম্পর্কে আরও জানতে চান? নীচে আমাদের সহায়ক রিসোর্সগুলি দেখুন।"
|
||||||
HelpTroubleshooterButton="Vertical ট্রাবলশুটার ওয়েবসাইটে ভিজিট করুন"
|
HelpTroubleshooterButton="Vertical ট্রাবলশুটার ওয়েবসাইটে ভিজিট করুন"
|
||||||
HelpGuideButton="Vertical গাইডস ওয়েবসাইটে ভিজিট করুন"
|
HelpGuideButton="Vertical গাইডস ওয়েবসাইটে ভিজিট করুন"
|
||||||
HelpDiscordButton="Aitum Discord ভিজিট করুন"
|
HelpDiscordButton="Vulcast Discord ভিজিট করুন"
|
||||||
VirtualCameraModeVertical="Vertical"
|
VirtualCameraModeVertical="Vertical"
|
||||||
VirtualCameraModeMain="Main"
|
VirtualCameraModeMain="Main"
|
||||||
VirtualCameraModeBoth="Both"
|
VirtualCameraModeBoth="Both"
|
||||||
StreamingMatchMain="main OBS স্ট্রিম শুরু ও শেষ হলে Vertical স্ট্রিমিংও শুরু এবং শেষ হবে"
|
StreamingMatchMain="main OBS স্ট্রিম শুরু ও শেষ হলে Vertical স্ট্রিমিংও শুরু এবং শেষ হবে"
|
||||||
RecordingMatchMain="main OBS স্ট্রিম শুরু ও শেষ হলে Vertical স্ট্রিমিংও শুরু এবং শেষ হবে"
|
RecordingMatchMain="main OBS স্ট্রিম শুরু ও শেষ হলে Vertical স্ট্রিমিংও শুরু এবং শেষ হবে"
|
||||||
OutputsMultistream="যেহেতু আপনি Aitum Multistream ব্যবহার করছেন, আপনাকে Vertical স্ট্রিমিং আউটপুটগুলি Aitum Multistream সেটিংস থেকে নিয়ন্ত্রণ করতে হবে।\nএখানে আউটপুট সেটিংস পরিবর্তন করা নিষ্ক্রিয় করা হয়েছে।"
|
OutputsMultistream="যেহেতু আপনি Vulcast Multistream ব্যবহার করছেন, আপনাকে Vertical স্ট্রিমিং আউটপুটগুলি Vulcast Multistream সেটিংস থেকে নিয়ন্ত্রণ করতে হবে।\nএখানে আউটপুট সেটিংস পরিবর্তন করা নিষ্ক্রিয় করা হয়েছে।"
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ Recording="Aufnahme"
|
||||||
StartRecordingHotkey="Start Aufnahme Hotkey"
|
StartRecordingHotkey="Start Aufnahme Hotkey"
|
||||||
StopRecordingHotkey="Stoppe Aufnahme Hotkey"
|
StopRecordingHotkey="Stoppe Aufnahme Hotkey"
|
||||||
Version="Version"
|
Version="Version"
|
||||||
MadeBy="made with ♡ by"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Füge vertikale Szene hinzu"
|
AddVerticalScene="Füge vertikale Szene hinzu"
|
||||||
RemoveVerticalScene="Entferne vertikale Szene"
|
RemoveVerticalScene="Entferne vertikale Szene"
|
||||||
StreamVertical="Streame alle vertikalen Ausgaben"
|
StreamVertical="Streame alle vertikalen Ausgaben"
|
||||||
|
|
@ -46,10 +46,10 @@ backtrackStartFail="Backtrack starting fehlgeschlagen"
|
||||||
backtrackCustomFfmpeg="Backtrack kann nicht gestartet werden, wenn custom ffmpeg Einstellungen vorhanden sind"
|
backtrackCustomFfmpeg="Backtrack kann nicht gestartet werden, wenn custom ffmpeg Einstellungen vorhanden sind"
|
||||||
backtrackNoReplayBuffer="Backtrack kann nicht gestartet werden, wenn kein Wiederholungsbuffer gefunden wurde"
|
backtrackNoReplayBuffer="Backtrack kann nicht gestartet werden, wenn kein Wiederholungsbuffer gefunden wurde"
|
||||||
UseMain="Benutze OBS Haupteinstellungen"
|
UseMain="Benutze OBS Haupteinstellungen"
|
||||||
NewVersion="Neue Version (%1) verfügbar <a href='https://aitum.tv/download/vertical/'>hier</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="Der eingestellte Aufnahmepfad ist leer. Prüfe den Aufnahmepfad unter Vertikale Einstellungen → Aufnahme."
|
RecordPathError="Der eingestellte Aufnahmepfad ist leer. Prüfe den Aufnahmepfad unter Vertikale Einstellungen → Aufnahme."
|
||||||
Help="Hilfe"
|
Help="Hilfe"
|
||||||
HelpSupport="Trete dem Aitum Discord Server bei"
|
HelpSupport="Trete dem Vulcast Discord Server bei"
|
||||||
CopyFromMain="Kopiere von Main"
|
CopyFromMain="Kopiere von Main"
|
||||||
VirtualCameraWarning="Nach dem starten der vertikalen Kamera ist es evtl. nicht möglich OBS Einstellungen zu ändern, weil OBS denkt es wäre noch aktiv nachdem es gestoppt wurde. OBS muss neugestartet werden um Einstellungen zu ändern."
|
VirtualCameraWarning="Nach dem starten der vertikalen Kamera ist es evtl. nicht möglich OBS Einstellungen zu ändern, weil OBS denkt es wäre noch aktiv nachdem es gestoppt wurde. OBS muss neugestartet werden um Einstellungen zu ändern."
|
||||||
NoOutputServer="Kein Ausgabe Server"
|
NoOutputServer="Kein Ausgabe Server"
|
||||||
|
|
@ -59,7 +59,7 @@ StopAll="Stoppe alle"
|
||||||
HelpIntro="Ein Problem aufgetreten? Du möchtest mehr über Vertikal erfahren? Prüfe unsere Hilfsresourcen unten."
|
HelpIntro="Ein Problem aufgetreten? Du möchtest mehr über Vertikal erfahren? Prüfe unsere Hilfsresourcen unten."
|
||||||
HelpTroubleshooterButton="Besuche die Vertikal Ratgeber Webseite"
|
HelpTroubleshooterButton="Besuche die Vertikal Ratgeber Webseite"
|
||||||
HelpGuideButton="Besuche die Vertikal Hilfe Webseite"
|
HelpGuideButton="Besuche die Vertikal Hilfe Webseite"
|
||||||
HelpDiscordButton="Besuche den Aitum Discord"
|
HelpDiscordButton="Besuche den Vulcast Discord"
|
||||||
VirtualCameraModeVertical="Vertikal"
|
VirtualCameraModeVertical="Vertikal"
|
||||||
VirtualCameraModeMain="Haupt"
|
VirtualCameraModeMain="Haupt"
|
||||||
VirtualCameraModeBoth="Beide"
|
VirtualCameraModeBoth="Beide"
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ Recording="Recording"
|
||||||
StartRecordingHotkey="Start Recording Hotkey"
|
StartRecordingHotkey="Start Recording Hotkey"
|
||||||
StopRecordingHotkey="Stop Recording Hotkey"
|
StopRecordingHotkey="Stop Recording Hotkey"
|
||||||
Version="Version"
|
Version="Version"
|
||||||
MadeBy="made with ♡ by"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Add vertical scene"
|
AddVerticalScene="Add vertical scene"
|
||||||
RemoveVerticalScene="Remove vertical scene"
|
RemoveVerticalScene="Remove vertical scene"
|
||||||
StreamVertical="Stream all vertical outputs"
|
StreamVertical="Stream all vertical outputs"
|
||||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack starting failed"
|
||||||
backtrackCustomFfmpeg="Can't start backtrack when recording is set to custom ffmpeg"
|
backtrackCustomFfmpeg="Can't start backtrack when recording is set to custom ffmpeg"
|
||||||
backtrackNoReplayBuffer="Can't start backtrack when no replay buffer is found"
|
backtrackNoReplayBuffer="Can't start backtrack when no replay buffer is found"
|
||||||
UseMain="Use main OBS settings"
|
UseMain="Use main OBS settings"
|
||||||
NewVersion="New version (%1) available <a href='https://aitum.tv/download/vertical/'>here</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="The configured Recording Path is empty. Please check your Recording Path under Vertical Settings → Recording."
|
RecordPathError="The configured Recording Path is empty. Please check your Recording Path under Vertical Settings → Recording."
|
||||||
Help="Help"
|
Help="Help"
|
||||||
HelpSupport="Join the Aitum Discord Server"
|
HelpSupport="Join the Vulcast Discord"
|
||||||
CopyFromMain="Copy from main"
|
CopyFromMain="Copy from main"
|
||||||
VirtualCameraWarning="After starting the vertical virtual camera you might not be able to edit some OBS settings because it thinks it is still active after it stopped. Restart OBS to be able edit the settings again."
|
VirtualCameraWarning="After starting the vertical virtual camera you might not be able to edit some OBS settings because it thinks it is still active after it stopped. Restart OBS to be able edit the settings again."
|
||||||
NoOutputServer="No output server"
|
NoOutputServer="No output server"
|
||||||
|
|
@ -63,19 +63,19 @@ StopAll="Stop all"
|
||||||
HelpIntro="Encountering an issue? Want to learn more about Vertical? Check out our help resources below."
|
HelpIntro="Encountering an issue? Want to learn more about Vertical? Check out our help resources below."
|
||||||
HelpTroubleshooterButton="Visit the Vertical Troubleshooter website"
|
HelpTroubleshooterButton="Visit the Vertical Troubleshooter website"
|
||||||
HelpGuideButton="Visit the Vertical Guides website"
|
HelpGuideButton="Visit the Vertical Guides website"
|
||||||
HelpDiscordButton="Visit the Aitum Discord"
|
HelpDiscordButton="Visit the Vulcast Discord"
|
||||||
VirtualCameraModeVertical="Vertical"
|
VirtualCameraModeVertical="Vertical"
|
||||||
VirtualCameraModeMain="Main"
|
VirtualCameraModeMain="Main"
|
||||||
VirtualCameraModeBoth="Both"
|
VirtualCameraModeBoth="Both"
|
||||||
StreamingMatchMain="Start and stop streaming when main OBS starts and stops streaming"
|
StreamingMatchMain="Start and stop streaming when main OBS starts and stops streaming"
|
||||||
RecordingMatchMain="Start and stop recording when main OBS starts and stops recording"
|
RecordingMatchMain="Start and stop recording when main OBS starts and stops recording"
|
||||||
OutputsMultistream="As you are using Aitum Multistream, you must control Vertical streaming outputs from the Aitum Multistream Settings.\nChanging Output settings is disabled here."
|
OutputsMultistream="Output settings are managed externally.\nChanging Output settings is disabled here."
|
||||||
VerticalDonate="Support Aitum"
|
VerticalDonate="Support Vulcast"
|
||||||
SupportButton="Support Aitum"
|
SupportButton="Support Vulcast"
|
||||||
SupportTitle="Supporting Aitum"
|
SupportTitle="Supporting Vulcast"
|
||||||
SupportText="Aitum Vertical is provided free by the Aitum Team for <u>you, the streaming community</u>.<br /><br />Your support is essential in helping us to continue our journey of making useful tools that empower creators to make awesome content.<br /><br />If our tools have helped streamline your workflows, enabled your channel to grow or even inspired you to start crearting content, please consider supporting our team.<br /><br /><strong><a href='https://aitum.tv/support-us'>Support the Aitum Team</a></strong>"
|
SupportText="Vulcast Vertical is provided free for the streaming community.<br /><br />Visit <a href='https://vulcast.tv'>vulcast.tv</a> for more tools and info."
|
||||||
BacktrackEncoder="Backtrack quality is set in the recording settings"
|
BacktrackEncoder="Backtrack quality is set in the recording settings"
|
||||||
Multitrack="Multitrack video"
|
Multitrack="Multitrack video"
|
||||||
MultitrackDisabled="In the OBS stream settings you have selected a service that does not support Multitrack video or you have Multitrack video disabled"
|
MultitrackDisabled="In the OBS stream settings you have selected a service that does not support Multitrack video or you have Multitrack video disabled"
|
||||||
MultitrackVerticalSelected="Aitum Vertical is selected as extra canvas for Multitrack video streaming"
|
MultitrackVerticalSelected="Vulcast Vertical is selected as extra canvas for Multitrack video streaming"
|
||||||
MultitrackVerticalNotSelected="In the OBS stream settings you have Multitrack video enabled, but you do not have Aitum Vertical selected as aditional canvas"
|
MultitrackVerticalNotSelected="In the OBS stream settings you have Multitrack video enabled, but you do not have Vulcast Vertical selected as additional canvas"
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ Recording="Grabación"
|
||||||
StartRecordingHotkey="Hotkey para iniciar transmisión"
|
StartRecordingHotkey="Hotkey para iniciar transmisión"
|
||||||
StopRecordingHotkey="Hotkey para detener transmisión"
|
StopRecordingHotkey="Hotkey para detener transmisión"
|
||||||
Version="Versión"
|
Version="Versión"
|
||||||
MadeBy="hecha con ♡ por"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Agregar escena vertical"
|
AddVerticalScene="Agregar escena vertical"
|
||||||
RemoveVerticalScene="Eliminar escena vertical"
|
RemoveVerticalScene="Eliminar escena vertical"
|
||||||
StreamVertical="Transmisión vertical"
|
StreamVertical="Transmisión vertical"
|
||||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Error al iniciar el backtrack"
|
||||||
backtrackCustomFfmpeg="No se puede iniciar el backtrack cuando la grabación está configurada como ffmpeg personalizado"
|
backtrackCustomFfmpeg="No se puede iniciar el backtrack cuando la grabación está configurada como ffmpeg personalizado"
|
||||||
backtrackNoReplayBuffer="No se puede iniciar un backtrack cuando no está activo el búfer de repetición"
|
backtrackNoReplayBuffer="No se puede iniciar un backtrack cuando no está activo el búfer de repetición"
|
||||||
UseMain="Usar la configuración principal de OBS"
|
UseMain="Usar la configuración principal de OBS"
|
||||||
NewVersion="Nueva version (%1) disponible <a href='https://aitum.tv/download/vertical/'>aquí</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="La ruta de grabación configurada está vacía. Verifica tu ruta de grabación en Ajustes verticales → Grabación."
|
RecordPathError="La ruta de grabación configurada está vacía. Verifica tu ruta de grabación en Ajustes verticales → Grabación."
|
||||||
Help="Ayuda"
|
Help="Ayuda"
|
||||||
HelpSupport="Únete al servidor de Discord de Aitum"
|
HelpSupport="Únete al servidor de Discord de Vulcast"
|
||||||
CopyFromMain="Copiar de las transiciones principales"
|
CopyFromMain="Copiar de las transiciones principales"
|
||||||
VirtualCameraWarning="Después de iniciar la cámara virtual vertical es posible que no puedas editar algunos ajustes de OBS porque él cree que todavía está activa después de detenerse. Reinicia OBS para poder editar los ajustes de nuevo."
|
VirtualCameraWarning="Después de iniciar la cámara virtual vertical es posible que no puedas editar algunos ajustes de OBS porque él cree que todavía está activa después de detenerse. Reinicia OBS para poder editar los ajustes de nuevo."
|
||||||
NoOutputServer="No hay servidor de salida"
|
NoOutputServer="No hay servidor de salida"
|
||||||
|
|
@ -63,15 +63,15 @@ StopAll="Detener todas"
|
||||||
HelpIntro="¿Encontraste algún problema? ¿Quieres saber más sobre Vertical? Consulta nuestros artículos de ayuda."
|
HelpIntro="¿Encontraste algún problema? ¿Quieres saber más sobre Vertical? Consulta nuestros artículos de ayuda."
|
||||||
HelpTroubleshooterButton="Visita la página de resolución de problemas de Vertical"
|
HelpTroubleshooterButton="Visita la página de resolución de problemas de Vertical"
|
||||||
HelpGuideButton="Visita la página de guías de Vertical"
|
HelpGuideButton="Visita la página de guías de Vertical"
|
||||||
HelpDiscordButton="Visita el Discord de Aitum"
|
HelpDiscordButton="Visita el Discord de Vulcast"
|
||||||
VirtualCameraModeVertical="Vertical"
|
VirtualCameraModeVertical="Vertical"
|
||||||
VirtualCameraModeMain="Principal"
|
VirtualCameraModeMain="Principal"
|
||||||
VirtualCameraModeBoth="Ambas"
|
VirtualCameraModeBoth="Ambas"
|
||||||
StreamingMatchMain="Iniciar y detener la transmisión cuando OBS inicia y detiene la transmisión"
|
StreamingMatchMain="Iniciar y detener la transmisión cuando OBS inicia y detiene la transmisión"
|
||||||
RecordingMatchMain="Iniciar y detener la grabación cuando OBS inicia y detiene la grabación"
|
RecordingMatchMain="Iniciar y detener la grabación cuando OBS inicia y detiene la grabación"
|
||||||
OutputsMultistream="Al estar usando Aitum Multistream, debes controlar las salidas de transmisión verticales desde los ajustes de Aitum Multistream.\nCambiar las opciones de salida está deshabilitado aquí."
|
OutputsMultistream="Al estar usando Vulcast Multistream, debes controlar las salidas de transmisión verticales desde los ajustes de Vulcast Multistream.\nCambiar las opciones de salida está deshabilitado aquí."
|
||||||
VerticalDonate="Apoya a Aitum"
|
VerticalDonate="Apoya a Vulcast"
|
||||||
SupportButton="Apoya a Aitum"
|
SupportButton="Apoya a Vulcast"
|
||||||
SupportTitle="Apoyando a Aitum"
|
SupportTitle="Apoyando a Vulcast"
|
||||||
SupportText="Aitum Vertical se proporciona de forma gratuita por el equipo de Aitum para <u>vosotros, la comunidad de streaming</u>.<br /><br />Vuestro apoyo es esencial para ayudarnos a continuar nuestro viaje de crear herramientas útiles que potencien a los creadores a realizar contenidos increíbles.<br /><br />Si nuestras herramientas te han ayudado a optimizar tu flujo de trabajo, han permitido que tu canal crezca o incluso te han inspirado a comenzar a crear contenido, considera apoyar a nuestro equipo.<br /><br /><strong><a href='https://aitum.tv/support-us'>Apoya al equipo de Aitum</a></strong>"
|
SupportText="Vulcast Vertical se proporciona de forma gratuita por el equipo de Vulcast para <u>vosotros, la comunidad de streaming</u>.<br /><br />Vuestro apoyo es esencial para ayudarnos a continuar nuestro viaje de crear herramientas útiles que potencien a los creadores a realizar contenidos increíbles.<br /><br />Si nuestras herramientas te han ayudado a optimizar tu flujo de trabajo, han permitido que tu canal crezca o incluso te han inspirado a comenzar a crear contenido, considera apoyar a nuestro equipo.<br /><br /><strong><a href='https://vulcast.tv/support-us'>Apoya al equipo de Vulcast</a></strong>"
|
||||||
BacktrackEncoder="La calidad del Backtrack se establece en los ajustes de grabación"
|
BacktrackEncoder="La calidad del Backtrack se establece en los ajustes de grabación"
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ Recording="Opnemen"
|
||||||
StartRecordingHotkey="Opname Starten Sneltoets"
|
StartRecordingHotkey="Opname Starten Sneltoets"
|
||||||
StopRecordingHotkey="Opname Stoppen Sneltoets"
|
StopRecordingHotkey="Opname Stoppen Sneltoets"
|
||||||
Version="Versie"
|
Version="Versie"
|
||||||
MadeBy="gemaakt met ♡ door"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Voeg verticale scène toe"
|
AddVerticalScene="Voeg verticale scène toe"
|
||||||
RemoveVerticalScene="Verwijder verticale scène"
|
RemoveVerticalScene="Verwijder verticale scène"
|
||||||
StreamVertical="Alle verticale stream uitvoeren starten"
|
StreamVertical="Alle verticale stream uitvoeren starten"
|
||||||
|
|
@ -47,10 +47,10 @@ backtrackStartFail="Starten van Backtrack is gefaald"
|
||||||
backtrackCustomFfmpeg="Backtrack kan niet gestart worden wanneer opname is ingesteld als 'Aangepaste Uitvoer (FFmpeg)'"
|
backtrackCustomFfmpeg="Backtrack kan niet gestart worden wanneer opname is ingesteld als 'Aangepaste Uitvoer (FFmpeg)'"
|
||||||
backtrackNoReplayBuffer="Kan backtrack niet starten wanneer er geen replay buffer gevonden is"
|
backtrackNoReplayBuffer="Kan backtrack niet starten wanneer er geen replay buffer gevonden is"
|
||||||
UseMain="Gebruik de hoofdinstellingen van OBS"
|
UseMain="Gebruik de hoofdinstellingen van OBS"
|
||||||
NewVersion="Er is <a href='https://aitum.tv/download/vertical/'>hier</a> een nieuwe versie (%1) beschikbaar"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="Het geconfigureerde bestandspad is leeg. Controleer alstublieft het bestandspad onder Verticale Instellingen → Opnemen"
|
RecordPathError="Het geconfigureerde bestandspad is leeg. Controleer alstublieft het bestandspad onder Verticale Instellingen → Opnemen"
|
||||||
Help="Help"
|
Help="Help"
|
||||||
HelpSupport="Word lid van de Aitum Discord server"
|
HelpSupport="Word lid van de Vulcast Discord server"
|
||||||
CopyFromMain="Kopieer van de de hoofd scène lijst"
|
CopyFromMain="Kopieer van de de hoofd scène lijst"
|
||||||
VirtualCameraWarning="Na het starten van de verticale virtuele camera is het mogelijk dat je sommige OBS instellingen niet meer kan aanpassen. Dit is omdat OBS denkt dat de virtuele camera nogsteeds actief is. Herstart OBS om alle instellingen weer aan te kunnen passen"
|
VirtualCameraWarning="Na het starten van de verticale virtuele camera is het mogelijk dat je sommige OBS instellingen niet meer kan aanpassen. Dit is omdat OBS denkt dat de virtuele camera nogsteeds actief is. Herstart OBS om alle instellingen weer aan te kunnen passen"
|
||||||
NoOutputServer="Geen uitvoerserver"
|
NoOutputServer="Geen uitvoerserver"
|
||||||
|
|
@ -60,7 +60,7 @@ StopAll="Alles stoppen"
|
||||||
HelpIntro="Heeft u een probleem ondervonden? Wilt u meer weten over Verticaal? Bekijk onze hulpmiddelen hieronder."
|
HelpIntro="Heeft u een probleem ondervonden? Wilt u meer weten over Verticaal? Bekijk onze hulpmiddelen hieronder."
|
||||||
HelpTroubleshooterButton="Bezoek de probleemoplosser website voor Verticaal"
|
HelpTroubleshooterButton="Bezoek de probleemoplosser website voor Verticaal"
|
||||||
HelpGuideButton="Bezoek de gids website voor Verticaal"
|
HelpGuideButton="Bezoek de gids website voor Verticaal"
|
||||||
HelpDiscordButton="Bezoek de Aitum Discord"
|
HelpDiscordButton="Bezoek de Vulcast Discord"
|
||||||
VirtualCameraModeVertical="Verticaal"
|
VirtualCameraModeVertical="Verticaal"
|
||||||
VirtualCameraModeMain="Hoofd"
|
VirtualCameraModeMain="Hoofd"
|
||||||
VirtualCameraModeBoth="Beide"
|
VirtualCameraModeBoth="Beide"
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ Recording="Nagrywanie"
|
||||||
StartRecordingHotkey="Skrót: rozpocznij nagrywanie"
|
StartRecordingHotkey="Skrót: rozpocznij nagrywanie"
|
||||||
StopRecordingHotkey="Skrót: zatrzymaj nagrywanie"
|
StopRecordingHotkey="Skrót: zatrzymaj nagrywanie"
|
||||||
Version="Wersja"
|
Version="Wersja"
|
||||||
MadeBy="stworzone z ♡ przez"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Dodaj pionową scenę"
|
AddVerticalScene="Dodaj pionową scenę"
|
||||||
RemoveVerticalScene="Usuń pionową scenę"
|
RemoveVerticalScene="Usuń pionową scenę"
|
||||||
StreamVertical="Pionowy stream"
|
StreamVertical="Pionowy stream"
|
||||||
|
|
@ -42,8 +42,8 @@ backtrackStartFail="Rozpoczęcie Backtrack nieudane"
|
||||||
backtrackCustomFfmpeg="Nie możesz włączyć Backtrack jeżeli nagrywanie jest ustawione na custom ffmpeg"
|
backtrackCustomFfmpeg="Nie możesz włączyć Backtrack jeżeli nagrywanie jest ustawione na custom ffmpeg"
|
||||||
backtrackNoReplayBuffer="Nie możesz włączyć Backtrack jeżeli nie znaleziono nagrywania powtórek."
|
backtrackNoReplayBuffer="Nie możesz włączyć Backtrack jeżeli nie znaleziono nagrywania powtórek."
|
||||||
UseMain="Użyj ustawień OBS"
|
UseMain="Użyj ustawień OBS"
|
||||||
NewVersion="Nowa wersja (%1) dostępna <a href='https://aitum.tv/download/vertical/'>tutaj</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="Skonfigurowana ścieżka dostępu do nagrań jest pusta. Sprawdź proszę swoją ścieżkę dostępu w Pionowe ustawienia → Nagrywanie."
|
RecordPathError="Skonfigurowana ścieżka dostępu do nagrań jest pusta. Sprawdź proszę swoją ścieżkę dostępu w Pionowe ustawienia → Nagrywanie."
|
||||||
Help="Pomoc"
|
Help="Pomoc"
|
||||||
HelpSupport="Dołącz do naszego serwera Discord: Aitum"
|
HelpSupport="Dołącz do naszego serwera Discord: Vulcast"
|
||||||
CopyFromMain="Skopiuj z głównej"
|
CopyFromMain="Skopiuj z głównej"
|
||||||
|
|
@ -33,7 +33,7 @@ Recording="Gravando"
|
||||||
StartRecordingHotkey="Botão de Início da Gravação"
|
StartRecordingHotkey="Botão de Início da Gravação"
|
||||||
StopRecordingHotkey="Botão de Término da Gravação"
|
StopRecordingHotkey="Botão de Término da Gravação"
|
||||||
Version="Versão"
|
Version="Versão"
|
||||||
MadeBy="feito com ♡ por"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Adicionar cena vertical"
|
AddVerticalScene="Adicionar cena vertical"
|
||||||
RemoveVerticalScene="Remover cena vertical"
|
RemoveVerticalScene="Remover cena vertical"
|
||||||
StreamVertical="Transmitir todas as saídas verticais"
|
StreamVertical="Transmitir todas as saídas verticais"
|
||||||
|
|
@ -47,10 +47,10 @@ backtrackStartFail="Falha ao iniciar o Backtrack"
|
||||||
backtrackCustomFfmpeg="Impossível iniciar o backtrack quando a gravação está configurada como custom ffmpeg"
|
backtrackCustomFfmpeg="Impossível iniciar o backtrack quando a gravação está configurada como custom ffmpeg"
|
||||||
backtrackNoReplayBuffer="Impossível iniciar o backtrack quando nenhum replay buffer é encontrado"
|
backtrackNoReplayBuffer="Impossível iniciar o backtrack quando nenhum replay buffer é encontrado"
|
||||||
UseMain="Usar configurações principais do OBS"
|
UseMain="Usar configurações principais do OBS"
|
||||||
NewVersion="Nova versão (%1) disponível <a href='https://aitum.tv/download/vertical/'>aqui</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="O Caminho do Local de Salvamento está vazio. Por favor verifique seu Caminho do Local de Salvamento em Configurações Verticais → Gravação."
|
RecordPathError="O Caminho do Local de Salvamento está vazio. Por favor verifique seu Caminho do Local de Salvamento em Configurações Verticais → Gravação."
|
||||||
Help="Ajuda"
|
Help="Ajuda"
|
||||||
HelpSupport="Entrar no Servidor de Discord do Aitum"
|
HelpSupport="Entrar no Servidor de Discord do Vulcast"
|
||||||
CopyFromMain="Copiar do principal"
|
CopyFromMain="Copiar do principal"
|
||||||
VirtualCameraWarning="Após iniciar a câmera virtual vertical, pode ser que você não consiga editar algumas configurações do OBS, pois ele vai achar que ela ainda está ativa após ter paradoo. Reinicie o OBS para conseguir editar as configurações novamente."
|
VirtualCameraWarning="Após iniciar a câmera virtual vertical, pode ser que você não consiga editar algumas configurações do OBS, pois ele vai achar que ela ainda está ativa após ter paradoo. Reinicie o OBS para conseguir editar as configurações novamente."
|
||||||
NoOutputServer="Nenhum servidor de saída"
|
NoOutputServer="Nenhum servidor de saída"
|
||||||
|
|
@ -60,7 +60,7 @@ StopAll="Parar todos"
|
||||||
HelpIntro="Encontrou um problema? Quer aprender mais sobre o Vertical? Veja os nossos recursos de ajuda abaixo."
|
HelpIntro="Encontrou um problema? Quer aprender mais sobre o Vertical? Veja os nossos recursos de ajuda abaixo."
|
||||||
HelpTroubleshooterButton="Visitar o website de Soluções de Problemas do Vertical"
|
HelpTroubleshooterButton="Visitar o website de Soluções de Problemas do Vertical"
|
||||||
HelpGuideButton="Visitar o webiste de Regras do Vertical"
|
HelpGuideButton="Visitar o webiste de Regras do Vertical"
|
||||||
HelpDiscordButton="Visitar o Discord do Aitum"
|
HelpDiscordButton="Visitar o Discord do Vulcast"
|
||||||
VirtualCameraModeVertical="Vertical"
|
VirtualCameraModeVertical="Vertical"
|
||||||
VirtualCameraModeMain="Principal"
|
VirtualCameraModeMain="Principal"
|
||||||
VirtualCameraModeBoth="Ambos"
|
VirtualCameraModeBoth="Ambos"
|
||||||
|
|
|
||||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack ошибка запуска"
|
||||||
backtrackCustomFfmpeg="Невозможно запустить Backtrack пока запись настроена с ffmpeg"
|
backtrackCustomFfmpeg="Невозможно запустить Backtrack пока запись настроена с ffmpeg"
|
||||||
backtrackNoReplayBuffer="Нельзя запусть Backtrack если нет буфера повтора"
|
backtrackNoReplayBuffer="Нельзя запусть Backtrack если нет буфера повтора"
|
||||||
UseMain="Использовать основные настройки OBS"
|
UseMain="Использовать основные настройки OBS"
|
||||||
NewVersion="Доступна <a href='https://aitum.tv/download/vertical/'>новая версия</a> (%1)"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="Указанный путь для записи пуст. Пожалуйста, проверьте путь в разделе Vertical Настройки → Запись."
|
RecordPathError="Указанный путь для записи пуст. Пожалуйста, проверьте путь в разделе Vertical Настройки → Запись."
|
||||||
Help="Помощь"
|
Help="Помощь"
|
||||||
HelpSupport="Подключиться к Discord серверу Aitum"
|
HelpSupport="Подключиться к Discord серверу Vulcast"
|
||||||
CopyFromMain="Скопировать из основного"
|
CopyFromMain="Скопировать из основного"
|
||||||
VirtualCameraWarning="После запуска Vertical виртуальной камеры вы не сможете изменить некоторые настройки OBS без перезапуска OBS."
|
VirtualCameraWarning="После запуска Vertical виртуальной камеры вы не сможете изменить некоторые настройки OBS без перезапуска OBS."
|
||||||
NoOutputServer="Нет сервера вывода"
|
NoOutputServer="Нет сервера вывода"
|
||||||
|
|
@ -63,6 +63,6 @@ StopAll="Остановить все"
|
||||||
HelpIntro="Столкнулись с проблемой? Хотите узнать больше о Vertical? Ознакомьтесь с нашими справочными ресурсами ниже."
|
HelpIntro="Столкнулись с проблемой? Хотите узнать больше о Vertical? Ознакомьтесь с нашими справочными ресурсами ниже."
|
||||||
HelpTroubleshooterButton="Посетите веб-сайт Vertical средства устранения неполадок"
|
HelpTroubleshooterButton="Посетите веб-сайт Vertical средства устранения неполадок"
|
||||||
HelpGuideButton="Посетите веб-сайт руководства Vertical"
|
HelpGuideButton="Посетите веб-сайт руководства Vertical"
|
||||||
HelpDiscordButton="Посетите Aitum Discord"
|
HelpDiscordButton="Посетите Vulcast Discord"
|
||||||
StreamingMatchMain="Запуск и остановка потоковой передачи, когда OBS запускает и останавливает потоковую передачу"
|
StreamingMatchMain="Запуск и остановка потоковой передачи, когда OBS запускает и останавливает потоковую передачу"
|
||||||
RecordingMatchMain="Запуск и остановка записи, когда OBS запускает и останавливает запись"
|
RecordingMatchMain="Запуск и остановка записи, когда OBS запускает и останавливает запись"
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ Recording="Inspelning"
|
||||||
StartRecordingHotkey="Snabbtangent: Starta inspelning"
|
StartRecordingHotkey="Snabbtangent: Starta inspelning"
|
||||||
StopRecordingHotkey="Snabbtangent: Stoppa inspelning"
|
StopRecordingHotkey="Snabbtangent: Stoppa inspelning"
|
||||||
Version="Version"
|
Version="Version"
|
||||||
MadeBy="Skapad med ♡ av"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="Lägg till vertikal scen"
|
AddVerticalScene="Lägg till vertikal scen"
|
||||||
RemoveVerticalScene="Ta bort vertikal scen"
|
RemoveVerticalScene="Ta bort vertikal scen"
|
||||||
StreamVertical="Strömma alla vertikala utgångar"
|
StreamVertical="Strömma alla vertikala utgångar"
|
||||||
|
|
@ -47,10 +47,10 @@ backtrackStartFail="Backtrack start misslyckades"
|
||||||
backtrackCustomFfmpeg="Du kan inte aktivera Backtrack om inspelning är inställd på anpassad ffmpeg"
|
backtrackCustomFfmpeg="Du kan inte aktivera Backtrack om inspelning är inställd på anpassad ffmpeg"
|
||||||
backtrackNoReplayBuffer="Du kan inte aktivera Backtrack om ingen återuppspelning inspelning hittas"
|
backtrackNoReplayBuffer="Du kan inte aktivera Backtrack om ingen återuppspelning inspelning hittas"
|
||||||
UseMain="Använd OBS huvud inställningar"
|
UseMain="Använd OBS huvud inställningar"
|
||||||
NewVersion="Ny version (%1) tillgänglig <a href='https://aitum.tv/download/vertical/'>här</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="Den konfigurerade inspelningssökvägen är tom. Kontrollera din inspelningsväg under Vertikala inställningar → Inspelning."
|
RecordPathError="Den konfigurerade inspelningssökvägen är tom. Kontrollera din inspelningsväg under Vertikala inställningar → Inspelning."
|
||||||
Help="Hjälp"
|
Help="Hjälp"
|
||||||
HelpSupport="Gå med i Aitum Discord Server"
|
HelpSupport="Gå med i Vulcast Discord Server"
|
||||||
CopyFromMain="Kopiera från main"
|
CopyFromMain="Kopiera från main"
|
||||||
VirtualCameraWarning="Efter att ha startat den vertikala virtuella kameran kanske du inte kan redigera vissa OBS-inställningar eftersom den tror att den fortfarande är aktiv efter att den stoppats. Starta om OBS för att kunna redigera inställningarna igen."
|
VirtualCameraWarning="Efter att ha startat den vertikala virtuella kameran kanske du inte kan redigera vissa OBS-inställningar eftersom den tror att den fortfarande är aktiv efter att den stoppats. Starta om OBS för att kunna redigera inställningarna igen."
|
||||||
NoOutputServer="Ingen utdataserver"
|
NoOutputServer="Ingen utdataserver"
|
||||||
|
|
@ -60,4 +60,4 @@ StopAll="Stoppa allt"
|
||||||
HelpIntro="Stöter du på ett problem? Vill du lära dig mer om Vertical? Kolla in våra hjälpresurser nedan."
|
HelpIntro="Stöter du på ett problem? Vill du lära dig mer om Vertical? Kolla in våra hjälpresurser nedan."
|
||||||
HelpTroubleshooterButton="Besök webbplatsen för Vertical Troubleshooter"
|
HelpTroubleshooterButton="Besök webbplatsen för Vertical Troubleshooter"
|
||||||
HelpGuideButton="Besök webbplatsen Vertical Guides"
|
HelpGuideButton="Besök webbplatsen Vertical Guides"
|
||||||
HelpDiscordButton="Besök Aitum Discord"
|
HelpDiscordButton="Besök Vulcast Discord"
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ Recording="录制"
|
||||||
StartRecordingHotkey="开始录制热键"
|
StartRecordingHotkey="开始录制热键"
|
||||||
StopRecordingHotkey="停止录制热键"
|
StopRecordingHotkey="停止录制热键"
|
||||||
Version="版本"
|
Version="版本"
|
||||||
MadeBy="由♡制作"
|
MadeBy="powered by"
|
||||||
AddVerticalScene="添加垂直场景"
|
AddVerticalScene="添加垂直场景"
|
||||||
RemoveVerticalScene="删除垂直场景"
|
RemoveVerticalScene="删除垂直场景"
|
||||||
StreamVertical="流媒体所有垂直输出"
|
StreamVertical="流媒体所有垂直输出"
|
||||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack启动失败"
|
||||||
backtrackCustomFfmpeg="当录制设置为自定义ffmpeg时,无法启动Backtrack"
|
backtrackCustomFfmpeg="当录制设置为自定义ffmpeg时,无法启动Backtrack"
|
||||||
backtrackNoReplayBuffer="找不到重放缓冲区时,无法启动Backtrack"
|
backtrackNoReplayBuffer="找不到重放缓冲区时,无法启动Backtrack"
|
||||||
UseMain="使用主OBS设置"
|
UseMain="使用主OBS设置"
|
||||||
NewVersion="新版本(%1)可用<a href='https://aitum.tv/download/vertical/'>在这里</a>"
|
NewVersion="New version (%1) available"
|
||||||
RecordPathError="配置的录制路径为空。请在垂直设置→录制中检查您的录制路径。"
|
RecordPathError="配置的录制路径为空。请在垂直设置→录制中检查您的录制路径。"
|
||||||
Help="帮助"
|
Help="帮助"
|
||||||
HelpSupport="加入Aitum Discord服务器"
|
HelpSupport="加入Vulcast Discord服务器"
|
||||||
CopyFromMain="从主复制"
|
CopyFromMain="从主复制"
|
||||||
VirtualCameraWarning="启动垂直虚拟摄像头后,您可能无法编辑某些OBS设置,因为它认为在停止后仍处于活动状态。重新启动OBS以再次编辑设置。"
|
VirtualCameraWarning="启动垂直虚拟摄像头后,您可能无法编辑某些OBS设置,因为它认为在停止后仍处于活动状态。重新启动OBS以再次编辑设置。"
|
||||||
NoOutputServer="没有输出服务器"
|
NoOutputServer="没有输出服务器"
|
||||||
|
|
@ -63,10 +63,10 @@ StopAll="全部停止"
|
||||||
HelpIntro="遇到问题?想了解更多关于垂直的信息?请查看下面的帮助资源。"
|
HelpIntro="遇到问题?想了解更多关于垂直的信息?请查看下面的帮助资源。"
|
||||||
HelpTroubleshooterButton="访问垂直故障排除网站"
|
HelpTroubleshooterButton="访问垂直故障排除网站"
|
||||||
HelpGuideButton="访问垂直指南网站"
|
HelpGuideButton="访问垂直指南网站"
|
||||||
HelpDiscordButton="访问Aitum Discord"
|
HelpDiscordButton="访问Vulcast Discord"
|
||||||
VirtualCameraModeVertical="垂直"
|
VirtualCameraModeVertical="垂直"
|
||||||
VirtualCameraModeMain="主"
|
VirtualCameraModeMain="主"
|
||||||
VirtualCameraModeBoth="两者"
|
VirtualCameraModeBoth="两者"
|
||||||
StreamingMatchMain="当主OBS开始和停止流媒体时,开始和停止流媒体"
|
StreamingMatchMain="当主OBS开始和停止流媒体时,开始和停止流媒体"
|
||||||
RecordingMatchMain="当主OBS开始和停止录制时,开始和停止录制"
|
RecordingMatchMain="当主OBS开始和停止录制时,开始和停止录制"
|
||||||
OutputsMultistream="由于您正在使用Aitum Multistream,您必须从Aitum Multistream设置中控制垂直流媒体输出。\n在此处禁用更改输出设置。"
|
OutputsMultistream="由于您正在使用Vulcast Multistream,您必须从Vulcast Multistream设置中控制垂直流媒体输出。\n在此处禁用更改输出设置。"
|
||||||
|
|
|
||||||
BIN
media/logo.png
BIN
media/logo.png
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.8 KiB |
|
|
@ -15,11 +15,11 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
BLOCK "040904b0"
|
BLOCK "040904b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Aitum"
|
VALUE "CompanyName", "Vulcast"
|
||||||
VALUE "FileDescription", "${PROJECT_FULL_NAME}"
|
VALUE "FileDescription", "${PROJECT_FULL_NAME}"
|
||||||
VALUE "FileVersion", "${PROJECT_VERSION}"
|
VALUE "FileVersion", "${PROJECT_VERSION}"
|
||||||
VALUE "InternalName", "${PROJECT_NAME}"
|
VALUE "InternalName", "${PROJECT_NAME}"
|
||||||
VALUE "LegalCopyright", "(C) Aitum"
|
VALUE "LegalCopyright", "(C) Vulcast"
|
||||||
VALUE "OriginalFilename", "${PROJECT_NAME}"
|
VALUE "OriginalFilename", "${PROJECT_NAME}"
|
||||||
VALUE "ProductName", "${PROJECT_FULL_NAME}"
|
VALUE "ProductName", "${PROJECT_FULL_NAME}"
|
||||||
VALUE "ProductVersion", "${PROJECT_VERSION}"
|
VALUE "ProductVersion", "${PROJECT_VERSION}"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<RCC>
|
<RCC>
|
||||||
<qresource prefix="/aitum">
|
<qresource prefix="/vulcast">
|
||||||
<file>media/aitum.png</file>
|
<file>media/logo.png</file>
|
||||||
<file>media/record.svg</file>
|
<file>media/record.svg</file>
|
||||||
<file>media/recording.svg</file>
|
<file>media/recording.svg</file>
|
||||||
<file>media/stream.svg</file>
|
<file>media/stream.svg</file>
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
OBS_DECLARE_MODULE()
|
OBS_DECLARE_MODULE()
|
||||||
OBS_MODULE_AUTHOR("Aitum");
|
OBS_MODULE_AUTHOR("Vulcast");
|
||||||
OBS_MODULE_USE_DEFAULT_LOCALE("vertical-canvas", "en-US")
|
OBS_MODULE_USE_DEFAULT_LOCALE("vertical-canvas", "en-US")
|
||||||
|
|
||||||
#define HANDLE_RADIUS 4.0f
|
#define HANDLE_RADIUS 4.0f
|
||||||
|
|
@ -53,7 +53,7 @@ OBS_MODULE_USE_DEFAULT_LOCALE("vertical-canvas", "en-US")
|
||||||
|
|
||||||
#define SPACER_LABEL_MARGIN 6.0f
|
#define SPACER_LABEL_MARGIN 6.0f
|
||||||
|
|
||||||
#define CANVAS_NAME "Aitum Vertical"
|
#define CANVAS_NAME "Vulcast Vertical"
|
||||||
|
|
||||||
inline std::list<CanvasDock *> canvas_docks;
|
inline std::list<CanvasDock *> canvas_docks;
|
||||||
|
|
||||||
|
|
@ -640,10 +640,7 @@ bool version_info_downloaded(void *param, struct file_download_data *file)
|
||||||
|
|
||||||
bool obs_module_load(void)
|
bool obs_module_load(void)
|
||||||
{
|
{
|
||||||
if (obs_get_module("aitum-stream-suite")) {
|
/* Stream suite check removed in Vulcast fork */
|
||||||
blog(LOG_ERROR, "[Vertical Canvas] Aitum Stream Suite detected, please uninstall it to use Vertical Canvas.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
blog(LOG_INFO, "[Vertical Canvas] loaded version %s", PROJECT_VERSION);
|
blog(LOG_INFO, "[Vertical Canvas] loaded version %s", PROJECT_VERSION);
|
||||||
obs_frontend_add_event_callback(frontend_event, nullptr);
|
obs_frontend_add_event_callback(frontend_event, nullptr);
|
||||||
|
|
@ -652,21 +649,21 @@ bool obs_module_load(void)
|
||||||
obs_register_source(&multi_canvas_source);
|
obs_register_source(&multi_canvas_source);
|
||||||
|
|
||||||
auto ph = obs_get_proc_handler();
|
auto ph = obs_get_proc_handler();
|
||||||
proc_handler_add(ph, "void aitum_vertical_get_video(in int width, in int height, out ptr video)", get_video, nullptr);
|
proc_handler_add(ph, "void vulcast_vertical_get_video(in int width, in int height, out ptr video)", get_video, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_get_stream_settings(in int width, in int height, out ptr outputs)",
|
proc_handler_add(ph, "void vulcast_vertical_get_stream_settings(in int width, in int height, out ptr outputs)",
|
||||||
get_stream_settings, nullptr);
|
get_stream_settings, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_set_stream_settings(in int width, in int height, in ptr outputs)",
|
proc_handler_add(ph, "void vulcast_vertical_set_stream_settings(in int width, in int height, in ptr outputs)",
|
||||||
set_stream_settings, nullptr);
|
set_stream_settings, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_get_stream_output(in int width, in int height, in string name, out ptr output)",
|
proc_handler_add(ph, "void vulcast_vertical_get_stream_output(in int width, in int height, in string name, out ptr output)",
|
||||||
get_stream_output, nullptr);
|
get_stream_output, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_start_stream_output(in int width, in int height, in string name)",
|
proc_handler_add(ph, "void vulcast_vertical_start_stream_output(in int width, in int height, in string name)",
|
||||||
start_stream_output, nullptr);
|
start_stream_output, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_stop_stream_output(in int width, in int height, in string name)",
|
proc_handler_add(ph, "void vulcast_vertical_stop_stream_output(in int width, in int height, in string name)",
|
||||||
stop_stream_output, nullptr);
|
stop_stream_output, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_add_chapter(in int width, in int height, in string chapter_name)", add_chapter,
|
proc_handler_add(ph, "void vulcast_vertical_add_chapter(in int width, in int height, in string chapter_name)", add_chapter,
|
||||||
nullptr);
|
nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_get_scene(in int width, in int height, out string scene)", get_scene, nullptr);
|
proc_handler_add(ph, "void vulcast_vertical_get_scene(in int width, in int height, out string scene)", get_scene, nullptr);
|
||||||
proc_handler_add(ph, "void aitum_vertical_switch_scene(in int width, in int height, in string scene)", switch_scene,
|
proc_handler_add(ph, "void vulcast_vertical_switch_scene(in int width, in int height, in string scene)", switch_scene,
|
||||||
nullptr);
|
nullptr);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -714,7 +711,7 @@ void obs_module_post_load(void)
|
||||||
obs_data_array_release(canvas);
|
obs_data_array_release(canvas);
|
||||||
|
|
||||||
if (!vendor) {
|
if (!vendor) {
|
||||||
vendor = obs_websocket_register_vendor("aitum-vertical-canvas");
|
vendor = obs_websocket_register_vendor("vulcast-vertical");
|
||||||
}
|
}
|
||||||
if (!vendor) {
|
if (!vendor) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -741,14 +738,7 @@ void obs_module_post_load(void)
|
||||||
obs_websocket_vendor_register_request(vendor, "pause_recording", vendor_request_pause_recording, nullptr);
|
obs_websocket_vendor_register_request(vendor, "pause_recording", vendor_request_pause_recording, nullptr);
|
||||||
obs_websocket_vendor_register_request(vendor, "unpause_recording", vendor_request_unpause_recording, nullptr);
|
obs_websocket_vendor_register_request(vendor, "unpause_recording", vendor_request_unpause_recording, nullptr);
|
||||||
|
|
||||||
std::string url = "https://api.aitum.tv/plugin/vertical";
|
/* Version check removed in Vulcast fork — no external API calls */
|
||||||
const char *pguid = config_get_string(obs_frontend_get_app_config(), "General", "InstallGUID");
|
|
||||||
if (pguid) {
|
|
||||||
url += "?uuid=";
|
|
||||||
url += pguid;
|
|
||||||
}
|
|
||||||
|
|
||||||
version_update_info = update_info_create_single("[Vertical Canvas]", "OBS", url.c_str(), version_info_downloaded, nullptr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void obs_module_unload(void)
|
void obs_module_unload(void)
|
||||||
|
|
@ -1459,38 +1449,7 @@ CanvasDock::CanvasDock(obs_data_t *settings, QWidget *parent)
|
||||||
connect(configButton, SIGNAL(clicked()), this, SLOT(ConfigButtonClicked()));
|
connect(configButton, SIGNAL(clicked()), this, SLOT(ConfigButtonClicked()));
|
||||||
buttonRow->addWidget(configButton);
|
buttonRow->addWidget(configButton);
|
||||||
|
|
||||||
auto aitumButtonGroupLayout = new QHBoxLayout();
|
/* Vulcast branding — no external buttons */
|
||||||
aitumButtonGroupLayout->setContentsMargins(0, 0, 0, 0);
|
|
||||||
aitumButtonGroupLayout->setSpacing(0);
|
|
||||||
|
|
||||||
auto contributeButton = new QPushButton;
|
|
||||||
contributeButton->setMinimumHeight(30);
|
|
||||||
QPixmap pixmap(32, 32);
|
|
||||||
pixmap.fill(Qt::transparent);
|
|
||||||
|
|
||||||
QPainter painter(&pixmap);
|
|
||||||
QFont font = painter.font();
|
|
||||||
font.setPixelSize(32);
|
|
||||||
painter.setFont(font);
|
|
||||||
painter.drawText(pixmap.rect(), Qt::AlignCenter, "❤️");
|
|
||||||
contributeButton->setIcon(QIcon(pixmap));
|
|
||||||
contributeButton->setToolTip(QString::fromUtf8(obs_module_text("VerticalDonate")));
|
|
||||||
contributeButton->setStyleSheet(
|
|
||||||
QString::fromUtf8("QPushButton{ border-top-right-radius: 0; border-bottom-right-radius: 0;}"));
|
|
||||||
QPushButton::connect(contributeButton, &QPushButton::clicked,
|
|
||||||
[] { QDesktopServices::openUrl(QUrl("https://aitum.tv/contribute")); });
|
|
||||||
|
|
||||||
aitumButtonGroupLayout->addWidget(contributeButton);
|
|
||||||
|
|
||||||
auto aitumButton = new QPushButton;
|
|
||||||
aitumButton->setMinimumHeight(30);
|
|
||||||
aitumButton->setIcon(QIcon(":/aitum/media/aitum.png"));
|
|
||||||
aitumButton->setToolTip(QString::fromUtf8("https://aitum.tv"));
|
|
||||||
aitumButton->setStyleSheet(QString::fromUtf8("QPushButton{border-top-left-radius: 0; border-bottom-left-radius: 0;}"));
|
|
||||||
connect(aitumButton, &QPushButton::clicked, [] { QDesktopServices::openUrl(QUrl("https://aitum.tv")); });
|
|
||||||
aitumButtonGroupLayout->addWidget(aitumButton);
|
|
||||||
|
|
||||||
buttonRow->addLayout(aitumButtonGroupLayout);
|
|
||||||
|
|
||||||
setStyleSheet(QString::fromUtf8("QPushButton{padding-left: 4px; padding-right: 4px;}"));
|
setStyleSheet(QString::fromUtf8("QPushButton{padding-left: 4px; padding-right: 4px;}"));
|
||||||
|
|
||||||
|
|
@ -2275,7 +2234,7 @@ static obs_source_t *CreateLabel(float pixelRatio, int i)
|
||||||
|
|
||||||
struct dstr name;
|
struct dstr name;
|
||||||
dstr_init(&name);
|
dstr_init(&name);
|
||||||
dstr_printf(&name, "Aitum Vertical Preview spacing label %d", i);
|
dstr_printf(&name, "Vulcast Vertical Preview spacing label %d", i);
|
||||||
OBSSource txtSource = obs_source_create_private(text_source_id, name.array, settings);
|
OBSSource txtSource = obs_source_create_private(text_source_id, name.array, settings);
|
||||||
dstr_free(&name);
|
dstr_free(&name);
|
||||||
return txtSource;
|
return txtSource;
|
||||||
|
|
@ -6344,8 +6303,8 @@ void CanvasDock::StartStreamOutput(std::vector<StreamServer>::iterator it)
|
||||||
{
|
{
|
||||||
CreateStreamOutput(it);
|
CreateStreamOutput(it);
|
||||||
const bool started_video = StartVideo();
|
const bool started_video = StartVideo();
|
||||||
if (it->settings && obs_data_get_bool(it->settings, "advanced") && obs_get_module("aitum-multistream")) {
|
if (it->settings && obs_data_get_bool(it->settings, "advanced")) {
|
||||||
blog(LOG_INFO, "[Vertical Canvas] Start output '%s' with multistream advanced settings", it->name.c_str());
|
blog(LOG_INFO, "[Vertical Canvas] Start output '%s' with advanced settings", it->name.c_str());
|
||||||
auto venc_name = obs_data_get_string(it->settings, "video_encoder");
|
auto venc_name = obs_data_get_string(it->settings, "video_encoder");
|
||||||
if (!venc_name || venc_name[0] == '\0') {
|
if (!venc_name || venc_name[0] == '\0') {
|
||||||
//use main encoder
|
//use main encoder
|
||||||
|
|
@ -6647,7 +6606,7 @@ void CanvasDock::StartStream()
|
||||||
obs_data_release(s);
|
obs_data_release(s);
|
||||||
|
|
||||||
CreateStreamOutput(it);
|
CreateStreamOutput(it);
|
||||||
if (it->settings && obs_data_get_bool(it->settings, "advanced") && obs_get_module("aitum-multistream")) {
|
if (it->settings && obs_data_get_bool(it->settings, "advanced")) {
|
||||||
blog(LOG_INFO, "[Vertical Canvas] Start output '%s' with multistream advanced settings", it->name.c_str());
|
blog(LOG_INFO, "[Vertical Canvas] Start output '%s' with multistream advanced settings", it->name.c_str());
|
||||||
auto venc_name = obs_data_get_string(it->settings, "video_encoder");
|
auto venc_name = obs_data_get_string(it->settings, "video_encoder");
|
||||||
if (!venc_name || venc_name[0] == '\0') {
|
if (!venc_name || venc_name[0] == '\0') {
|
||||||
|
|
@ -8907,7 +8866,7 @@ void CanvasDock::save_load(obs_data_t *save_data, bool saving, void *param)
|
||||||
void CanvasDock::LogScenes()
|
void CanvasDock::LogScenes()
|
||||||
{
|
{
|
||||||
blog(LOG_INFO, "------------------------------------------------");
|
blog(LOG_INFO, "------------------------------------------------");
|
||||||
blog(LOG_INFO, "[Aitum Vertical] Canvas '%s' scenes:", obs_canvas_get_name(canvas));
|
blog(LOG_INFO, "[Vulcast Vertical] Canvas '%s' scenes:", obs_canvas_get_name(canvas));
|
||||||
if (scenesDock && scenesDock->sceneList) {
|
if (scenesDock && scenesDock->sceneList) {
|
||||||
for (int j = 0; j < scenesDock->sceneList->count(); j++) {
|
for (int j = 0; j < scenesDock->sceneList->count(); j++) {
|
||||||
auto item = scenesDock->sceneList->item(j);
|
auto item = scenesDock->sceneList->item(j);
|
||||||
|
|
@ -9043,7 +9002,7 @@ void CanvasDock::AskUpdate()
|
||||||
mb.setDefaultButton(remind);
|
mb.setDefaultButton(remind);
|
||||||
mb.exec();
|
mb.exec();
|
||||||
if (mb.clickedButton() == update) {
|
if (mb.clickedButton() == update) {
|
||||||
QDesktopServices::openUrl(QUrl(QString::fromUtf8("https://aitum.tv/download/stream-suite")));
|
/* Stream suite prompt removed in Vulcast fork */
|
||||||
} else if (mb.clickedButton() == skip) {
|
} else if (mb.clickedButton() == skip) {
|
||||||
if (!config) {
|
if (!config) {
|
||||||
config = obs_data_create();
|
config = obs_data_create();
|
||||||
|
|
|
||||||
|
|
@ -152,8 +152,8 @@ private:
|
||||||
gs_stagesurf_t *stagesurface = nullptr;
|
gs_stagesurf_t *stagesurface = nullptr;
|
||||||
QPushButton *virtualCamButton;
|
QPushButton *virtualCamButton;
|
||||||
QPushButton *recordButton;
|
QPushButton *recordButton;
|
||||||
QIcon recordActiveIcon = QIcon(":/aitum/media/recording.svg");
|
QIcon recordActiveIcon = QIcon(":/vulcast/media/recording.svg");
|
||||||
QIcon recordInactiveIcon = QIcon(":/aitum/media/record.svg");
|
QIcon recordInactiveIcon = QIcon(":/vulcast/media/record.svg");
|
||||||
QPushButton *replayButton;
|
QPushButton *replayButton;
|
||||||
QPushButton *replayEnableButton;
|
QPushButton *replayEnableButton;
|
||||||
QCheckBox *replayEnable;
|
QCheckBox *replayEnable;
|
||||||
|
|
@ -162,14 +162,14 @@ private:
|
||||||
QTimer recordDurationTimer;
|
QTimer recordDurationTimer;
|
||||||
QPushButton *streamButton;
|
QPushButton *streamButton;
|
||||||
QPushButton *streamButtonMulti;
|
QPushButton *streamButtonMulti;
|
||||||
QIcon streamActiveIcon = QIcon(":/aitum/media/streaming.svg");
|
QIcon streamActiveIcon = QIcon(":/vulcast/media/streaming.svg");
|
||||||
QIcon streamInactiveIcon = QIcon(":/aitum/media/stream.svg");
|
QIcon streamInactiveIcon = QIcon(":/vulcast/media/stream.svg");
|
||||||
|
|
||||||
QIcon replayActiveIcon = QIcon(":/aitum/media/backtrack_on.svg");
|
QIcon replayActiveIcon = QIcon(":/vulcast/media/backtrack_on.svg");
|
||||||
QIcon replayInactiveIcon = QIcon(":/aitum/media/backtrack_off.svg");
|
QIcon replayInactiveIcon = QIcon(":/vulcast/media/backtrack_off.svg");
|
||||||
|
|
||||||
QIcon virtualCamActiveIcon = QIcon(":/aitum/media/virtual_cam_on.svg");
|
QIcon virtualCamActiveIcon = QIcon(":/vulcast/media/virtual_cam_on.svg");
|
||||||
QIcon virtualCamInactiveIcon = QIcon(":/aitum/media/virtual_cam_off.svg");
|
QIcon virtualCamInactiveIcon = QIcon(":/vulcast/media/virtual_cam_off.svg");
|
||||||
QComboBox *scenesCombo = nullptr;
|
QComboBox *scenesCombo = nullptr;
|
||||||
QCheckBox *linkedButton = nullptr;
|
QCheckBox *linkedButton = nullptr;
|
||||||
CanvasScenesDock *scenesDock = nullptr;
|
CanvasScenesDock *scenesDock = nullptr;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue