Stub editor application

This commit is contained in:
Jack Andersen 2018-03-14 14:25:29 -10:00
parent 8f94bdd488
commit f5a0a46453
22 changed files with 274 additions and 0 deletions

View File

@ -115,4 +115,13 @@ if(TARGET boo AND NOT WINDOWS_STORE)
# Renderer
add_executable(amuserender driver/amuserender.cpp)
target_link_libraries(amuserender amuse boo ${BOO_SYS_LIBS} logvisor athena-core athena-libyaml ${ZLIB_LIBRARIES} ${LZO_LIB})
# Editor
find_package(Qt5Widgets)
if (Qt5Widgets_FOUND)
message(STATUS "Qt5 found, amuse-gui will be built")
add_subdirectory(Editor)
else()
message(STATUS "Qt5 not found, amuse-gui will not be built")
endif()
endif()

27
Editor/CMakeLists.txt Normal file
View File

@ -0,0 +1,27 @@
cmake_minimum_required(VERSION 3.10)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5Widgets)
find_package(Qt5Network)
find_package(Qt5Xml)
add_subdirectory(platforms/freedesktop)
declare_qticon_target()
list(APPEND PLAT_SRCS mainicon_qt.cpp)
add_executable(amuse-gui WIN32 MACOSX_BUNDLE
MainWindow.ui MainWindow.hpp MainWindow.cpp
${PLAT_SRCS}
main.cpp)
set_target_properties(amuse-gui PROPERTIES
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/platforms/mac/Info.plist")
target_link_libraries(amuse-gui ${PLAT_LIBS}
${Qt5Widgets_LIBRARIES}
${Qt5Network_LIBRARIES}
${Qt5Xml_LIBRARIES}
boo logvisor zeus athena-core athena-libyaml xxhash z)

5
Editor/MainWindow.cpp Normal file
View File

@ -0,0 +1,5 @@
//
// Created by Jack Andersen on 3/5/18.
//
#include "MainWindow.hpp"

15
Editor/MainWindow.hpp Normal file
View File

@ -0,0 +1,15 @@
//
// Created by Jack Andersen on 3/5/18.
//
#ifndef URDE_MAINWINDOW_HPP
#define URDE_MAINWINDOW_HPP
class MainWindow
{
};
#endif //URDE_MAINWINDOW_HPP

8
Editor/main.cpp Normal file
View File

@ -0,0 +1,8 @@
//
// Created by Jack Andersen on 3/5/18.
//
int main(int argc, char* argv[])
{
// TODO: Do
}

24
Editor/mainwindow.ui Normal file
View File

@ -0,0 +1,24 @@
<ui version="4.0" >
<author></author>
<comment></comment>
<exportmacro></exportmacro>
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle" >
<string>MainWindow</string>
</property>
<widget class="QMenuBar" name="menubar" />
<widget class="QWidget" name="centralwidget" />
<widget class="QStatusBar" name="statusbar" />
</widget>
<pixmapfunction></pixmapfunction>
<connections/>
</ui>

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,18 @@
include_directories(${LIBPNG_INCLUDE_DIR})
add_executable(amuse-mkqticon mkqticon.c)
target_link_libraries(amuse-mkqticon ${PNG_LIB} ${ZLIB_LIBRARIES})
macro(declare_qticon_target)
add_custom_command(OUTPUT ${amuse_BINARY_DIR}/Editor/platforms/freedesktop/mainicon_qt.bin
COMMAND $<TARGET_FILE:amuse-mkqticon>
ARGS ${amuse_BINARY_DIR}/Editor/platforms/freedesktop/mainicon_qt.bin
DEPENDS
${amuse_SOURCE_DIR}/Editor/platforms/freedesktop/128x128/apps/amuse.png
${amuse_SOURCE_DIR}/Editor/platforms/freedesktop/64x64/apps/amuse.png
${amuse_SOURCE_DIR}/Editor/platforms/freedesktop/48x48/apps/amuse.png
${amuse_SOURCE_DIR}/Editor/platforms/freedesktop/32x32/apps/amuse.png
${amuse_SOURCE_DIR}/Editor/platforms/freedesktop/16x16/apps/amuse.png
WORKING_DIRECTORY ${amuse_SOURCE_DIR}/Editor/platforms/freedesktop
COMMENT "Generating mainicon_qt.bin")
bintoc(mainicon_qt.cpp ${amuse_BINARY_DIR}/Editor/platforms/freedesktop/mainicon_qt.bin MAINICON_QT)
endmacro()

View File

@ -0,0 +1,9 @@
[Desktop Entry]
Name=Amuse
GenericName=MusyX Game Audio Editor
Comment=Edit Audio Data of MusyX Sound Groups
Exec=amuse-gui
Icon=amuse
Terminal=false
Type=Application
Categories=Audio

View File

@ -0,0 +1,71 @@
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
static const int DIMS[] =
{
16,
32,
48,
64,
128,
256,
0
};
int main(int argc, char* argv[])
{
if (argc < 2)
{
fprintf(stderr, "Usage: makeqticon <out.bin>\n");
return 1;
}
FILE* ofp = fopen(argv[1], "wb");
if (!ofp)
{
fprintf(stderr, "'%s' is not able to be opened for writing as a regular file\n", argv[1]);
return 1;
}
char command[2048];
for (const int* d = DIMS ; *d != 0 ; ++d)
{
printf("Rendering main icon @%dx%d\n", *d, *d);
fflush(stdout);
snprintf(command, 2048, "%dx%d/apps/amuse.png", *d, *d);
FILE* fp = fopen(command, "rb");
if (!fp)
{
fprintf(stderr, "unable to open '%s' for reading\n", command);
fclose(ofp);
return 1;
}
fseek(fp, 0, SEEK_END);
uint32_t size = (uint32_t)ftell(fp);
fseek(fp, 0, SEEK_SET);
fwrite(&size, 1, 4, ofp);
uint8_t buf[1024];
while (size > 0)
{
long thisSize = size;
if (thisSize > 1024)
thisSize = 1024;
fread(buf, 1, (size_t)thisSize, fp);
fwrite(buf, 1, (size_t)thisSize, ofp);
size -= thisSize;
}
fclose(fp);
}
fclose(ofp);
return 0;
}

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>amuse-gui</string>
<key>CFBundleGetInfoString</key>
<string>Version BETA</string>
<key>CFBundleShortVersionString</key>
<string>BETA</string>
<key>NSHumanReadableCopyright</key>
<string>2015-2018 Antidote / Jackoalan</string>
<key>CFBundleIconFile</key>
<string>mainicon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.axiodl.Amuse</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Amuse</string>
<key>CFBundleVersion</key>
<string>BETA</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

Binary file not shown.

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<description>Amuse</description>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
</application>
</compatibility>
<asmv3:application>
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true/PM</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
</assembly>

View File

@ -0,0 +1,33 @@
#include "winver.h"
#define IDI_ICON1 101
IDI_ICON1 ICON DISCARDABLE "mainicon.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGS 0x0L
FILEFLAGSMASK 0x3fL
FILEOS 0x00040004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "CompanyName", "Antidote / Jackoalan"
VALUE "FileDescription", "Amuse"
VALUE "FileVersion", "BETA"
VALUE "LegalCopyright", "Copyright (C) 2015-2018 Antidote / Jackoalan"
VALUE "InternalName", "amuse"
VALUE "OriginalFilename", "amuse-gui.exe"
VALUE "ProductName", "Amuse"
VALUE "ProductVersion", "BETA"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB