mirror of
https://github.com/projectM-visualizer/projectm.git
synced 2026-02-05 01:25:28 +00:00
Add possibility to use system fonts & fix font-loading bug in renderer
git-svn-id: https://projectm.svn.sourceforge.net/svnroot/projectm/trunk@1396 6778bc44-b910-0410-a7a0-be141de4315d
This commit is contained in:
10
AUTHORS.txt
10
AUTHORS.txt
@ -1,4 +1,3 @@
|
||||
|
||||
projectM -- Milkdrop-esque visualisation SDK
|
||||
Copyright (C)2003-2007 projectM Team
|
||||
|
||||
@ -25,12 +24,12 @@ Carmelo Piccione
|
||||
Evaluator
|
||||
Pulse Audio support (projectM-pulseaudio)
|
||||
Qt GUI (projectM-qt)
|
||||
|
||||
|
||||
Peter Sperl
|
||||
Beat Detection
|
||||
Rendering
|
||||
XMMS Support (projectM-xmms)
|
||||
libvisual Support (projectM-libvisual)
|
||||
libvisual Support (projectM-libvisual)
|
||||
|
||||
Alligator Descartes
|
||||
Media Player Support (iTunes, Winamp, Windows Media Player)
|
||||
@ -40,3 +39,8 @@ Alligator Descartes
|
||||
|
||||
Roger Dannenburg
|
||||
Advice & Support
|
||||
|
||||
Matthias Klumpp
|
||||
CMake build system
|
||||
Distro integration
|
||||
Bug fixes
|
||||
|
||||
@ -1,11 +1,5 @@
|
||||
PROJECT(projectM-complete)
|
||||
cmake_minimum_required(VERSION 2.4.0)
|
||||
cmake_policy(SET CMP0005 OLD)
|
||||
|
||||
if(COMMAND cmake_policy)
|
||||
cmake_policy(SET CMP0003 NEW)
|
||||
endif(COMMAND cmake_policy)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.0)
|
||||
|
||||
include(src/cmake/CPack-projectM.cmake)
|
||||
|
||||
|
||||
@ -33,16 +33,10 @@ set(PROJECTM_VERSION 2.0.1)
|
||||
set(PROJECTM_ABI_LEVEL 2)
|
||||
#
|
||||
|
||||
SET(LIB_SUFFIX ""
|
||||
CACHE STRING "Define suffix of directory name (32/64)"
|
||||
FORCE)
|
||||
|
||||
ADD_DEFINITIONS(-DLIB_SUFFIX="\\\"${LIB_SUFFIX}\\\"")
|
||||
|
||||
ADD_DEFINITIONS(-DCMAKE_INSTALL_PREFIX="\\\"${CMAKE_INSTALL_PREFIX}\\\"")
|
||||
|
||||
SET(LIB_INSTALL_DIR "\${exec_prefix}/lib${LIB_SUFFIX}"
|
||||
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})"
|
||||
SET(LIB_INSTALL_DIR "\${exec_prefix}/lib"
|
||||
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib)"
|
||||
FORCE)
|
||||
|
||||
if (USE_NATIVE_GLEW)
|
||||
@ -221,14 +215,26 @@ else(BUILD_PROJECTM_STATIC)
|
||||
)
|
||||
endif(BUILD_PROJECTM_STATIC)
|
||||
|
||||
SET(projectM_FONT_MENU "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" CACHE FILEPATH "Path to the default menu TrueType font")
|
||||
SET(projectM_FONT_TITLE "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" CACHE FILEPATH "Path to the default title TrueType font")
|
||||
ADD_DEFINITIONS(-DprojectM_FONT_MENU="\\\"${projectM_FONT_MENU}\\\"")
|
||||
ADD_DEFINITIONS(-DprojectM_FONT_TITLE="\\\"${projectM_FONT_TITLE}\\\"")
|
||||
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/libprojectM.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc" @ONLY)
|
||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/config.inp.in" "${CMAKE_CURRENT_BINARY_DIR}/config.inp" @ONLY)
|
||||
|
||||
IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
|
||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/VeraMono.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
|
||||
ENDIF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/Vera.ttf")
|
||||
|
||||
IF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf")
|
||||
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/fonts/VeraMono.ttf DESTINATION ${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts)
|
||||
ENDIF(projectM_FONT_MENU MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf" OR projectM_FONT_TITLE MATCHES "${CMAKE_INSTALL_PREFIX}/${RESOURCE_PREFIX}/fonts/VeraMono.ttf")
|
||||
|
||||
FILE(GLOB presets "presets/*.milk" "presets/*.prjm" "presets/*.tga")
|
||||
INSTALL(FILES ${presets} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/presets)
|
||||
INSTALL(FILES ${Renderer_SOURCE_DIR}/projectM.cg ${Renderer_SOURCE_DIR}/blur.cg DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM/shaders)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libprojectM.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.inp DESTINATION ${CMAKE_INSTALL_PREFIX}/share/projectM)
|
||||
INSTALL(FILES projectM.hpp event.h dlldefs.h fatal.h PCM.hpp Common.hpp DESTINATION include/libprojectM)
|
||||
INSTALL(TARGETS projectM DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(TARGETS projectM DESTINATION lib)
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
#include "TextureManager.hpp"
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <sys/stat.h>
|
||||
#include <cassert>
|
||||
#include "omptl/omptl"
|
||||
#include "omptl/omptl_algorithm"
|
||||
@ -45,7 +46,17 @@ Renderer::Renderer(int width, int height, int gx, int gy, int texsize, BeatDetec
|
||||
this->beatDetect = beatDetect;
|
||||
|
||||
#ifdef USE_FTGL
|
||||
/**f Load the standard fonts */
|
||||
/** Load the standard fonts if they do exist */
|
||||
struct stat buffer;
|
||||
|
||||
if (stat( title_fontURL.c_str(), &buffer )) {
|
||||
std::cout << "Could not open font file: " << title_fontURL << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
if (stat( menu_fontURL.c_str(), &buffer )) {
|
||||
std::cout << "Could not open font file: " << menu_fontURL << std::endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
title_font = new FTGLPixmapFont(title_fontURL.c_str());
|
||||
other_font = new FTGLPixmapFont(menu_fontURL.c_str());
|
||||
|
||||
@ -4,8 +4,8 @@
|
||||
Texture Size = 1024 # Size of internal rendering texture
|
||||
Mesh X = 32 # Width of PerPixel Equation mesh
|
||||
Mesh Y = 24 # Height of PerPixel Equation mesh
|
||||
FPS = 35 # Frames Per Second
|
||||
Fullscreen = false
|
||||
FPS = 35 # Frames Per Second
|
||||
Fullscreen = false
|
||||
Window Width = 512 # startup window width
|
||||
Window Height = 512 # startup window height
|
||||
|
||||
@ -17,6 +17,5 @@ Hard Cut Sensitivity = 10 # Lower to make hard cuts more frequent
|
||||
Aspect Correction = true # Custom Shape Aspect Correction
|
||||
|
||||
Preset Path = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/presets # preset location
|
||||
Title Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/Vera.ttf
|
||||
Menu Font = @CMAKE_INSTALL_PREFIX@/@RESOURCE_PREFIX@/fonts/VeraMono.ttf
|
||||
|
||||
Title Font = @projectM_FONT_TITLE@
|
||||
Menu Font = @projectM_FONT_MENU@
|
||||
|
||||
@ -201,16 +201,16 @@ void projectM::readConfig (const std::string & configFile )
|
||||
|
||||
#ifdef LINUX
|
||||
_settings.titleFontURL = config.read<string>
|
||||
( "Title Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/Vera.ttf" );
|
||||
( "Title Font", projectM_FONT_TITLE );
|
||||
_settings.menuFontURL = config.read<string>
|
||||
( "Menu Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/VeraMono.ttf" );
|
||||
( "Menu Font", projectM_FONT_MENU );
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
_settings.titleFontURL = config.read<string>
|
||||
( "Title Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/Vera.ttf" );
|
||||
( "Title Font", projectM_FONT_TITLE );
|
||||
_settings.menuFontURL = config.read<string>
|
||||
( "Menu Font", CMAKE_INSTALL_PREFIX "/share/projectM/fonts/VeraMono.ttf" );
|
||||
( "Menu Font", projectM_FONT_MENU );
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@ -1,19 +1,13 @@
|
||||
PROJECT(projectM_libvisual)
|
||||
cmake_minimum_required(VERSION 2.4.0)
|
||||
if(COMMAND cmake_policy)
|
||||
cmake_policy(SET CMP0003 NEW)
|
||||
endif(COMMAND cmake_policy)
|
||||
|
||||
|
||||
INCLUDE(cmake/CPack-projectM.cmake)
|
||||
|
||||
|
||||
ADD_LIBRARY(projectM_libvisual SHARED actor_projectM.cpp lvtoprojectM.h ConfigFile.h ConfigFile.cpp)
|
||||
|
||||
INCLUDE(FindPkgConfig.cmake)
|
||||
cmake_policy(SET CMP0005 OLD)
|
||||
|
||||
|
||||
FIND_PACKAGE(OpenGL)
|
||||
FIND_PACKAGE(SDL)
|
||||
|
||||
@ -30,19 +24,18 @@ ADD_DEFINITIONS(-DLINUX)
|
||||
pkg_search_module(LIBVISUAL REQUIRED libvisual-0.4)
|
||||
|
||||
if (LIBPROJECTM_FOUND)
|
||||
MESSAGE (STATUS "[projectM-libvisual] projectM detected.")
|
||||
MESSAGE (STATUS "[projectM-libvisual] projectM detected.")
|
||||
else(LIBPROJECTM_FOUND)
|
||||
MESSAGE (FATAL_ERROR "projectM NOT detected. Please install the projectM module or build from the top level projectM source directory.")
|
||||
MESSAGE (FATAL_ERROR "projectM NOT detected. Please install the projectM module or build from the top level projectM source directory.")
|
||||
endif(LIBPROJECTM_FOUND)
|
||||
|
||||
if(LIBVISUAL_FOUND)
|
||||
MESSAGE(STATUS "[projectM-libvisual] libvisual detected.")
|
||||
MESSAGE(STATUS "[projectM-libvisual] libvisual detected.")
|
||||
else(LIBVISUAL_FOUND)
|
||||
MESSAGE(FATAL_ERROR "libvisual 0.4 not found! Please visit http://libvisual.sf.net and download the module.")
|
||||
MESSAGE(FATAL_ERROR "libvisual 0.4 not found! Please visit http://libvisual.sf.net and download the module.")
|
||||
endif(LIBVISUAL_FOUND)
|
||||
|
||||
|
||||
|
||||
if (${CMAKE_PROJECT_NAME} MATCHES "projectM-complete")
|
||||
set(PROJECTM_INCLUDE ${PROJECTM_ROOT_SOURCE_DIR}/libprojectM)
|
||||
set(PROJECTM_LINK ${PROJECTM_ROOT_BINARY_DIR}/libprojectM)
|
||||
|
||||
@ -131,6 +131,6 @@ include_directories(${PROJECTM_INCLUDE} ${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR
|
||||
target_link_libraries(projectM-qt projectM GLEW GL ${QT_QTGUI_LIBRARIES} ${QT_QTOPENGL_LIBRARIES} ${QT_QTXML_LIBRARIES} ${QT_LIBRARIES})
|
||||
|
||||
install(FILES qprojectm_mainwindow.hpp DESTINATION include/libprojectM-qt)
|
||||
install(TARGETS projectM-qt DESTINATION lib${LIB_SUFFIX})
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libprojectM-qt.pc" DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/pkgconfig)
|
||||
install(TARGETS projectM-qt DESTINATION lib)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libprojectM-qt.pc" DESTINATION lib/pkgconfig)
|
||||
install(FILES "images/icons/prjm16-transparent.svg" DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps)
|
||||
|
||||
@ -44,4 +44,4 @@ LINK_DIRECTORIES(${PROJECTM_LINK} ${LIBXMMS_LDFLAGS})
|
||||
|
||||
TARGET_LINK_LIBRARIES(xmms_projectM projectM xmms ${SDL_LIBRARY} ${GTK_LIBRARIES})
|
||||
|
||||
INSTALL(TARGETS xmms_projectM DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/xmms/Visualization )
|
||||
INSTALL(TARGETS xmms_projectM DESTINATION lib/xmms/Visualization )
|
||||
|
||||
Reference in New Issue
Block a user