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)
|
||||
set_target_properties_plugin(${CMAKE_PROJECT_NAME} PROPERTIES OUTPUT_NAME ${_name})
|
||||
else()
|
||||
set_target_properties_obs(${PROJECT_NAME} PROPERTIES FOLDER "plugins/aitum" PREFIX "")
|
||||
set_target_properties_obs(${PROJECT_NAME} PROPERTIES FOLDER "plugins/vulcast" PREFIX "")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -33,15 +33,15 @@
|
|||
},
|
||||
"platformConfig": {
|
||||
"macos": {
|
||||
"bundleId": "tv.aitum.vertical"
|
||||
"bundleId": "tv.vulcast.vertical"
|
||||
}
|
||||
},
|
||||
"name": "vertical-canvas",
|
||||
"displayName": "Vertical",
|
||||
"version": "1.6.4",
|
||||
"author": "Aitum",
|
||||
"website": "https://aitum.tv",
|
||||
"email": "support@aitum.tv",
|
||||
"author": "Vulcast",
|
||||
"website": "https://vulcast.tv",
|
||||
"email": "support@vulcast.tv",
|
||||
"uuids": {
|
||||
"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 = 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")));
|
||||
|
||||
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")));
|
||||
general_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||
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>"));
|
||||
guide_link->setOpenExternalLinks(true);
|
||||
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")));
|
||||
backtrack_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||
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>"));
|
||||
guide_link->setOpenExternalLinks(true);
|
||||
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")));
|
||||
streaming_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||
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>"));
|
||||
guide_link->setOpenExternalLinks(true);
|
||||
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")));
|
||||
record_title->setStyleSheet(QString::fromUtf8("font-weight: bold;"));
|
||||
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>"));
|
||||
guide_link->setOpenExternalLinks(true);
|
||||
record_title_layout->addWidget(guide_link, 0, Qt::AlignRight);
|
||||
|
|
@ -892,7 +892,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
|||
tsButton->setCheckable(false);
|
||||
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);
|
||||
|
||||
|
|
@ -902,7 +902,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
|||
guideButton->setCheckable(false);
|
||||
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);
|
||||
|
||||
|
|
@ -912,7 +912,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
|||
discordButton->setCheckable(false);
|
||||
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);
|
||||
|
||||
|
|
@ -939,7 +939,7 @@ OBSBasicSettings::OBSBasicSettings(CanvasDock *canvas_dock, QMainWindow *parent)
|
|||
QHBoxLayout *bottomLayout = new QHBoxLayout;
|
||||
const auto 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->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ Recording="রেকর্ডিং"
|
|||
StartRecordingHotkey="রেকর্ডিং Hotkey শুরু করুন"
|
||||
StopRecordingHotkey="রেকর্ডিং Hotkey বন্ধ করুন"
|
||||
Version="ভার্সন"
|
||||
MadeBy="♡ দ্বারা তৈরি"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="vertical scene যুক্ত করুন"
|
||||
RemoveVerticalScene="vertical scene অপসারণ করুন"
|
||||
StreamVertical="সব vertical আউটপুটগুলো stream করুন"
|
||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack শুরু করা ব্যর্থ হয
|
|||
backtrackCustomFfmpeg="backtrack শুরু করা যাচ্ছে না যখন রেকর্ডিং custom ffmpeg এ সেট করা আছে।"
|
||||
backtrackNoReplayBuffer="backtrack শুরু করা যাচ্ছে না কারণ কোনো রিপ্লে বাফার পাওয়া যায়নি।"
|
||||
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 এর অধীনে পরীক্ষা করুন।"
|
||||
Help="সাহায্য"
|
||||
HelpSupport="Aitum Discord সার্ভারে যোগ দিন"
|
||||
HelpSupport="Vulcast Discord সার্ভারে যোগ দিন"
|
||||
CopyFromMain="main থেকে copy করুন"
|
||||
VirtualCameraWarning="vertical ভার্চুয়াল ক্যামেরা চালু করার পর, OBS কিছু সেটিংস edit করতে বাধা দিতে পারে কারণ এটি মনে করতে পারে ক্যামেরাটি এখনও সক্রিয়, এমনকি এটি বন্ধ হওয়ার পরেও। সেটিংস আবার edit করতে OBS রিস্টার্ট করুন।"
|
||||
NoOutputServer="কোনো আউটপুট সার্ভার নেই"
|
||||
|
|
@ -63,10 +63,10 @@ StopAll="সব বন্ধ করুন"
|
|||
HelpIntro="সমস্যা সম্মুখীন হচ্ছেন? Vertical সম্পর্কে আরও জানতে চান? নীচে আমাদের সহায়ক রিসোর্সগুলি দেখুন।"
|
||||
HelpTroubleshooterButton="Vertical ট্রাবলশুটার ওয়েবসাইটে ভিজিট করুন"
|
||||
HelpGuideButton="Vertical গাইডস ওয়েবসাইটে ভিজিট করুন"
|
||||
HelpDiscordButton="Aitum Discord ভিজিট করুন"
|
||||
HelpDiscordButton="Vulcast Discord ভিজিট করুন"
|
||||
VirtualCameraModeVertical="Vertical"
|
||||
VirtualCameraModeMain="Main"
|
||||
VirtualCameraModeBoth="Both"
|
||||
StreamingMatchMain="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"
|
||||
StopRecordingHotkey="Stoppe Aufnahme Hotkey"
|
||||
Version="Version"
|
||||
MadeBy="made with ♡ by"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Füge vertikale Szene hinzu"
|
||||
RemoveVerticalScene="Entferne vertikale Szene"
|
||||
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"
|
||||
backtrackNoReplayBuffer="Backtrack kann nicht gestartet werden, wenn kein Wiederholungsbuffer gefunden wurde"
|
||||
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."
|
||||
Help="Hilfe"
|
||||
HelpSupport="Trete dem Aitum Discord Server bei"
|
||||
HelpSupport="Trete dem Vulcast Discord Server bei"
|
||||
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."
|
||||
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."
|
||||
HelpTroubleshooterButton="Besuche die Vertikal Ratgeber Webseite"
|
||||
HelpGuideButton="Besuche die Vertikal Hilfe Webseite"
|
||||
HelpDiscordButton="Besuche den Aitum Discord"
|
||||
HelpDiscordButton="Besuche den Vulcast Discord"
|
||||
VirtualCameraModeVertical="Vertikal"
|
||||
VirtualCameraModeMain="Haupt"
|
||||
VirtualCameraModeBoth="Beide"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ Recording="Recording"
|
|||
StartRecordingHotkey="Start Recording Hotkey"
|
||||
StopRecordingHotkey="Stop Recording Hotkey"
|
||||
Version="Version"
|
||||
MadeBy="made with ♡ by"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Add vertical scene"
|
||||
RemoveVerticalScene="Remove vertical scene"
|
||||
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"
|
||||
backtrackNoReplayBuffer="Can't start backtrack when no replay buffer is found"
|
||||
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."
|
||||
Help="Help"
|
||||
HelpSupport="Join the Aitum Discord Server"
|
||||
HelpSupport="Join the Vulcast Discord"
|
||||
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."
|
||||
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."
|
||||
HelpTroubleshooterButton="Visit the Vertical Troubleshooter website"
|
||||
HelpGuideButton="Visit the Vertical Guides website"
|
||||
HelpDiscordButton="Visit the Aitum Discord"
|
||||
HelpDiscordButton="Visit the Vulcast Discord"
|
||||
VirtualCameraModeVertical="Vertical"
|
||||
VirtualCameraModeMain="Main"
|
||||
VirtualCameraModeBoth="Both"
|
||||
StreamingMatchMain="Start and stop streaming when main OBS starts and stops streaming"
|
||||
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."
|
||||
VerticalDonate="Support Aitum"
|
||||
SupportButton="Support Aitum"
|
||||
SupportTitle="Supporting Aitum"
|
||||
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>"
|
||||
OutputsMultistream="Output settings are managed externally.\nChanging Output settings is disabled here."
|
||||
VerticalDonate="Support Vulcast"
|
||||
SupportButton="Support Vulcast"
|
||||
SupportTitle="Supporting Vulcast"
|
||||
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"
|
||||
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"
|
||||
MultitrackVerticalSelected="Aitum 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"
|
||||
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 Vulcast Vertical selected as additional canvas"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ Recording="Grabación"
|
|||
StartRecordingHotkey="Hotkey para iniciar transmisión"
|
||||
StopRecordingHotkey="Hotkey para detener transmisión"
|
||||
Version="Versión"
|
||||
MadeBy="hecha con ♡ por"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Agregar escena vertical"
|
||||
RemoveVerticalScene="Eliminar escena 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"
|
||||
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"
|
||||
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."
|
||||
Help="Ayuda"
|
||||
HelpSupport="Únete al servidor de Discord de Aitum"
|
||||
HelpSupport="Únete al servidor de Discord de Vulcast"
|
||||
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."
|
||||
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."
|
||||
HelpTroubleshooterButton="Visita la página de resolución de problemas 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"
|
||||
VirtualCameraModeMain="Principal"
|
||||
VirtualCameraModeBoth="Ambas"
|
||||
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"
|
||||
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í."
|
||||
VerticalDonate="Apoya a Aitum"
|
||||
SupportButton="Apoya a Aitum"
|
||||
SupportTitle="Apoyando a Aitum"
|
||||
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>"
|
||||
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 Vulcast"
|
||||
SupportButton="Apoya a Vulcast"
|
||||
SupportTitle="Apoyando a Vulcast"
|
||||
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"
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ Recording="Opnemen"
|
|||
StartRecordingHotkey="Opname Starten Sneltoets"
|
||||
StopRecordingHotkey="Opname Stoppen Sneltoets"
|
||||
Version="Versie"
|
||||
MadeBy="gemaakt met ♡ door"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Voeg verticale scène toe"
|
||||
RemoveVerticalScene="Verwijder verticale scène"
|
||||
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)'"
|
||||
backtrackNoReplayBuffer="Kan backtrack niet starten wanneer er geen replay buffer gevonden is"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
|
|
@ -60,7 +60,7 @@ StopAll="Alles stoppen"
|
|||
HelpIntro="Heeft u een probleem ondervonden? Wilt u meer weten over Verticaal? Bekijk onze hulpmiddelen hieronder."
|
||||
HelpTroubleshooterButton="Bezoek de probleemoplosser website voor Verticaal"
|
||||
HelpGuideButton="Bezoek de gids website voor Verticaal"
|
||||
HelpDiscordButton="Bezoek de Aitum Discord"
|
||||
HelpDiscordButton="Bezoek de Vulcast Discord"
|
||||
VirtualCameraModeVertical="Verticaal"
|
||||
VirtualCameraModeMain="Hoofd"
|
||||
VirtualCameraModeBoth="Beide"
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Recording="Nagrywanie"
|
|||
StartRecordingHotkey="Skrót: rozpocznij nagrywanie"
|
||||
StopRecordingHotkey="Skrót: zatrzymaj nagrywanie"
|
||||
Version="Wersja"
|
||||
MadeBy="stworzone z ♡ przez"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Dodaj pionową scenę"
|
||||
RemoveVerticalScene="Usuń pionową scenę"
|
||||
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"
|
||||
backtrackNoReplayBuffer="Nie możesz włączyć Backtrack jeżeli nie znaleziono nagrywania powtórek."
|
||||
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."
|
||||
Help="Pomoc"
|
||||
HelpSupport="Dołącz do naszego serwera Discord: Aitum"
|
||||
HelpSupport="Dołącz do naszego serwera Discord: Vulcast"
|
||||
CopyFromMain="Skopiuj z głównej"
|
||||
|
|
@ -33,7 +33,7 @@ Recording="Gravando"
|
|||
StartRecordingHotkey="Botão de Início da Gravação"
|
||||
StopRecordingHotkey="Botão de Término da Gravação"
|
||||
Version="Versão"
|
||||
MadeBy="feito com ♡ por"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Adicionar cena vertical"
|
||||
RemoveVerticalScene="Remover cena vertical"
|
||||
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"
|
||||
backtrackNoReplayBuffer="Impossível iniciar o backtrack quando nenhum replay buffer é encontrado"
|
||||
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."
|
||||
Help="Ajuda"
|
||||
HelpSupport="Entrar no Servidor de Discord do Aitum"
|
||||
HelpSupport="Entrar no Servidor de Discord do Vulcast"
|
||||
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."
|
||||
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."
|
||||
HelpTroubleshooterButton="Visitar o website de Soluções de Problemas do Vertical"
|
||||
HelpGuideButton="Visitar o webiste de Regras do Vertical"
|
||||
HelpDiscordButton="Visitar o Discord do Aitum"
|
||||
HelpDiscordButton="Visitar o Discord do Vulcast"
|
||||
VirtualCameraModeVertical="Vertical"
|
||||
VirtualCameraModeMain="Principal"
|
||||
VirtualCameraModeBoth="Ambos"
|
||||
|
|
|
|||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack ошибка запуска"
|
|||
backtrackCustomFfmpeg="Невозможно запустить Backtrack пока запись настроена с ffmpeg"
|
||||
backtrackNoReplayBuffer="Нельзя запусть Backtrack если нет буфера повтора"
|
||||
UseMain="Использовать основные настройки OBS"
|
||||
NewVersion="Доступна <a href='https://aitum.tv/download/vertical/'>новая версия</a> (%1)"
|
||||
NewVersion="New version (%1) available"
|
||||
RecordPathError="Указанный путь для записи пуст. Пожалуйста, проверьте путь в разделе Vertical Настройки → Запись."
|
||||
Help="Помощь"
|
||||
HelpSupport="Подключиться к Discord серверу Aitum"
|
||||
HelpSupport="Подключиться к Discord серверу Vulcast"
|
||||
CopyFromMain="Скопировать из основного"
|
||||
VirtualCameraWarning="После запуска Vertical виртуальной камеры вы не сможете изменить некоторые настройки OBS без перезапуска OBS."
|
||||
NoOutputServer="Нет сервера вывода"
|
||||
|
|
@ -63,6 +63,6 @@ StopAll="Остановить все"
|
|||
HelpIntro="Столкнулись с проблемой? Хотите узнать больше о Vertical? Ознакомьтесь с нашими справочными ресурсами ниже."
|
||||
HelpTroubleshooterButton="Посетите веб-сайт Vertical средства устранения неполадок"
|
||||
HelpGuideButton="Посетите веб-сайт руководства Vertical"
|
||||
HelpDiscordButton="Посетите Aitum Discord"
|
||||
HelpDiscordButton="Посетите Vulcast Discord"
|
||||
StreamingMatchMain="Запуск и остановка потоковой передачи, когда OBS запускает и останавливает потоковую передачу"
|
||||
RecordingMatchMain="Запуск и остановка записи, когда OBS запускает и останавливает запись"
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ Recording="Inspelning"
|
|||
StartRecordingHotkey="Snabbtangent: Starta inspelning"
|
||||
StopRecordingHotkey="Snabbtangent: Stoppa inspelning"
|
||||
Version="Version"
|
||||
MadeBy="Skapad med ♡ av"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="Lägg till vertikal scen"
|
||||
RemoveVerticalScene="Ta bort vertikal scen"
|
||||
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"
|
||||
backtrackNoReplayBuffer="Du kan inte aktivera Backtrack om ingen återuppspelning inspelning hittas"
|
||||
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."
|
||||
Help="Hjälp"
|
||||
HelpSupport="Gå med i Aitum Discord Server"
|
||||
HelpSupport="Gå med i Vulcast Discord Server"
|
||||
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."
|
||||
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."
|
||||
HelpTroubleshooterButton="Besök webbplatsen för Vertical Troubleshooter"
|
||||
HelpGuideButton="Besök webbplatsen Vertical Guides"
|
||||
HelpDiscordButton="Besök Aitum Discord"
|
||||
HelpDiscordButton="Besök Vulcast Discord"
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ Recording="录制"
|
|||
StartRecordingHotkey="开始录制热键"
|
||||
StopRecordingHotkey="停止录制热键"
|
||||
Version="版本"
|
||||
MadeBy="由♡制作"
|
||||
MadeBy="powered by"
|
||||
AddVerticalScene="添加垂直场景"
|
||||
RemoveVerticalScene="删除垂直场景"
|
||||
StreamVertical="流媒体所有垂直输出"
|
||||
|
|
@ -50,10 +50,10 @@ backtrackStartFail="Backtrack启动失败"
|
|||
backtrackCustomFfmpeg="当录制设置为自定义ffmpeg时,无法启动Backtrack"
|
||||
backtrackNoReplayBuffer="找不到重放缓冲区时,无法启动Backtrack"
|
||||
UseMain="使用主OBS设置"
|
||||
NewVersion="新版本(%1)可用<a href='https://aitum.tv/download/vertical/'>在这里</a>"
|
||||
NewVersion="New version (%1) available"
|
||||
RecordPathError="配置的录制路径为空。请在垂直设置→录制中检查您的录制路径。"
|
||||
Help="帮助"
|
||||
HelpSupport="加入Aitum Discord服务器"
|
||||
HelpSupport="加入Vulcast Discord服务器"
|
||||
CopyFromMain="从主复制"
|
||||
VirtualCameraWarning="启动垂直虚拟摄像头后,您可能无法编辑某些OBS设置,因为它认为在停止后仍处于活动状态。重新启动OBS以再次编辑设置。"
|
||||
NoOutputServer="没有输出服务器"
|
||||
|
|
@ -63,10 +63,10 @@ StopAll="全部停止"
|
|||
HelpIntro="遇到问题?想了解更多关于垂直的信息?请查看下面的帮助资源。"
|
||||
HelpTroubleshooterButton="访问垂直故障排除网站"
|
||||
HelpGuideButton="访问垂直指南网站"
|
||||
HelpDiscordButton="访问Aitum Discord"
|
||||
HelpDiscordButton="访问Vulcast Discord"
|
||||
VirtualCameraModeVertical="垂直"
|
||||
VirtualCameraModeMain="主"
|
||||
VirtualCameraModeBoth="两者"
|
||||
StreamingMatchMain="当主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
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Aitum"
|
||||
VALUE "CompanyName", "Vulcast"
|
||||
VALUE "FileDescription", "${PROJECT_FULL_NAME}"
|
||||
VALUE "FileVersion", "${PROJECT_VERSION}"
|
||||
VALUE "InternalName", "${PROJECT_NAME}"
|
||||
VALUE "LegalCopyright", "(C) Aitum"
|
||||
VALUE "LegalCopyright", "(C) Vulcast"
|
||||
VALUE "OriginalFilename", "${PROJECT_NAME}"
|
||||
VALUE "ProductName", "${PROJECT_FULL_NAME}"
|
||||
VALUE "ProductVersion", "${PROJECT_VERSION}"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<RCC>
|
||||
<qresource prefix="/aitum">
|
||||
<file>media/aitum.png</file>
|
||||
<qresource prefix="/vulcast">
|
||||
<file>media/logo.png</file>
|
||||
<file>media/record.svg</file>
|
||||
<file>media/recording.svg</file>
|
||||
<file>media/stream.svg</file>
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
OBS_DECLARE_MODULE()
|
||||
OBS_MODULE_AUTHOR("Aitum");
|
||||
OBS_MODULE_AUTHOR("Vulcast");
|
||||
OBS_MODULE_USE_DEFAULT_LOCALE("vertical-canvas", "en-US")
|
||||
|
||||
#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 CANVAS_NAME "Aitum Vertical"
|
||||
#define CANVAS_NAME "Vulcast Vertical"
|
||||
|
||||
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)
|
||||
{
|
||||
if (obs_get_module("aitum-stream-suite")) {
|
||||
blog(LOG_ERROR, "[Vertical Canvas] Aitum Stream Suite detected, please uninstall it to use Vertical Canvas.");
|
||||
return false;
|
||||
}
|
||||
/* Stream suite check removed in Vulcast fork */
|
||||
|
||||
blog(LOG_INFO, "[Vertical Canvas] loaded version %s", PROJECT_VERSION);
|
||||
obs_frontend_add_event_callback(frontend_event, nullptr);
|
||||
|
|
@ -652,21 +649,21 @@ bool obs_module_load(void)
|
|||
obs_register_source(&multi_canvas_source);
|
||||
|
||||
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 aitum_vertical_get_stream_settings(in int width, in int height, out ptr outputs)",
|
||||
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 vulcast_vertical_get_stream_settings(in int width, in int height, out ptr outputs)",
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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 aitum_vertical_switch_scene(in int width, in int height, in string scene)", switch_scene,
|
||||
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 vulcast_vertical_switch_scene(in int width, in int height, in string scene)", switch_scene,
|
||||
nullptr);
|
||||
|
||||
return true;
|
||||
|
|
@ -714,7 +711,7 @@ void obs_module_post_load(void)
|
|||
obs_data_array_release(canvas);
|
||||
|
||||
if (!vendor) {
|
||||
vendor = obs_websocket_register_vendor("aitum-vertical-canvas");
|
||||
vendor = obs_websocket_register_vendor("vulcast-vertical");
|
||||
}
|
||||
if (!vendor) {
|
||||
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, "unpause_recording", vendor_request_unpause_recording, nullptr);
|
||||
|
||||
std::string url = "https://api.aitum.tv/plugin/vertical";
|
||||
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);
|
||||
/* Version check removed in Vulcast fork — no external API calls */
|
||||
}
|
||||
|
||||
void obs_module_unload(void)
|
||||
|
|
@ -1459,38 +1449,7 @@ CanvasDock::CanvasDock(obs_data_t *settings, QWidget *parent)
|
|||
connect(configButton, SIGNAL(clicked()), this, SLOT(ConfigButtonClicked()));
|
||||
buttonRow->addWidget(configButton);
|
||||
|
||||
auto aitumButtonGroupLayout = new QHBoxLayout();
|
||||
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);
|
||||
/* Vulcast branding — no external buttons */
|
||||
|
||||
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;
|
||||
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);
|
||||
dstr_free(&name);
|
||||
return txtSource;
|
||||
|
|
@ -6344,8 +6303,8 @@ void CanvasDock::StartStreamOutput(std::vector<StreamServer>::iterator it)
|
|||
{
|
||||
CreateStreamOutput(it);
|
||||
const bool started_video = StartVideo();
|
||||
if (it->settings && obs_data_get_bool(it->settings, "advanced") && obs_get_module("aitum-multistream")) {
|
||||
blog(LOG_INFO, "[Vertical Canvas] Start output '%s' with multistream advanced settings", it->name.c_str());
|
||||
if (it->settings && obs_data_get_bool(it->settings, "advanced")) {
|
||||
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");
|
||||
if (!venc_name || venc_name[0] == '\0') {
|
||||
//use main encoder
|
||||
|
|
@ -6647,7 +6606,7 @@ void CanvasDock::StartStream()
|
|||
obs_data_release(s);
|
||||
|
||||
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());
|
||||
auto venc_name = obs_data_get_string(it->settings, "video_encoder");
|
||||
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()
|
||||
{
|
||||
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) {
|
||||
for (int j = 0; j < scenesDock->sceneList->count(); j++) {
|
||||
auto item = scenesDock->sceneList->item(j);
|
||||
|
|
@ -9043,7 +9002,7 @@ void CanvasDock::AskUpdate()
|
|||
mb.setDefaultButton(remind);
|
||||
mb.exec();
|
||||
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) {
|
||||
if (!config) {
|
||||
config = obs_data_create();
|
||||
|
|
|
|||
|
|
@ -152,8 +152,8 @@ private:
|
|||
gs_stagesurf_t *stagesurface = nullptr;
|
||||
QPushButton *virtualCamButton;
|
||||
QPushButton *recordButton;
|
||||
QIcon recordActiveIcon = QIcon(":/aitum/media/recording.svg");
|
||||
QIcon recordInactiveIcon = QIcon(":/aitum/media/record.svg");
|
||||
QIcon recordActiveIcon = QIcon(":/vulcast/media/recording.svg");
|
||||
QIcon recordInactiveIcon = QIcon(":/vulcast/media/record.svg");
|
||||
QPushButton *replayButton;
|
||||
QPushButton *replayEnableButton;
|
||||
QCheckBox *replayEnable;
|
||||
|
|
@ -162,14 +162,14 @@ private:
|
|||
QTimer recordDurationTimer;
|
||||
QPushButton *streamButton;
|
||||
QPushButton *streamButtonMulti;
|
||||
QIcon streamActiveIcon = QIcon(":/aitum/media/streaming.svg");
|
||||
QIcon streamInactiveIcon = QIcon(":/aitum/media/stream.svg");
|
||||
QIcon streamActiveIcon = QIcon(":/vulcast/media/streaming.svg");
|
||||
QIcon streamInactiveIcon = QIcon(":/vulcast/media/stream.svg");
|
||||
|
||||
QIcon replayActiveIcon = QIcon(":/aitum/media/backtrack_on.svg");
|
||||
QIcon replayInactiveIcon = QIcon(":/aitum/media/backtrack_off.svg");
|
||||
QIcon replayActiveIcon = QIcon(":/vulcast/media/backtrack_on.svg");
|
||||
QIcon replayInactiveIcon = QIcon(":/vulcast/media/backtrack_off.svg");
|
||||
|
||||
QIcon virtualCamActiveIcon = QIcon(":/aitum/media/virtual_cam_on.svg");
|
||||
QIcon virtualCamInactiveIcon = QIcon(":/aitum/media/virtual_cam_off.svg");
|
||||
QIcon virtualCamActiveIcon = QIcon(":/vulcast/media/virtual_cam_on.svg");
|
||||
QIcon virtualCamInactiveIcon = QIcon(":/vulcast/media/virtual_cam_off.svg");
|
||||
QComboBox *scenesCombo = nullptr;
|
||||
QCheckBox *linkedButton = nullptr;
|
||||
CanvasScenesDock *scenesDock = nullptr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue