Skip to content
Snippets Groups Projects
Commit 08ce463b authored by jsiegle's avatar jsiegle
Browse files

Major revisions to FilterList class

The FilterList is now an OpenGLCanvas. It now uses custom fonts (which have
been placed in the Resources/Fonts/ directory), and a completely customized
design. Nevertheless, it seems to retain the same functionality as the old
TreeView-based FilterList.

Minimizing the FilterList is now possible, which allows the DataViewport
to extend the entire length of the window.
parent c5c13d8d
No related branches found
No related tags found
No related merge requests found
Showing
with 696 additions and 0 deletions
File added
File added
File added
File added
File added
# Automatically generated makefile, created by the Jucer
# Don't edit this file! Your changes will be overwritten when you re-save the Jucer project!
ifndef CONFIG
CONFIG=Debug
endif
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
# (this disables dependency generation if multiple architectures are set)
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
ifeq ($(CONFIG),Debug)
BINDIR := build
LIBDIR := build
OBJDIR := build/intermediate/Debug
OUTDIR := build
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
CXXFLAGS += $(CFLAGS)
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
TARGET := Font\ Serializer
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
endif
ifeq ($(CONFIG),Release)
BINDIR := build
LIBDIR := build
OBJDIR := build/intermediate/Release
OUTDIR := build
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os
CXXFLAGS += $(CFLAGS)
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
TARGET := Font\ Serializer
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
endif
OBJECTS := \
$(OBJDIR)/Main_90ebc5c2.o \
$(OBJDIR)/JuceLibraryCode1_682c927f.o \
$(OBJDIR)/JuceLibraryCode2_683aaa00.o \
$(OBJDIR)/JuceLibraryCode3_6848c181.o \
$(OBJDIR)/JuceLibraryCode4_6856d902.o \
.PHONY: clean
$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
@echo Linking Font Serializer
-@mkdir -p $(BINDIR)
-@mkdir -p $(LIBDIR)
-@mkdir -p $(OUTDIR)
@$(BLDCMD)
clean:
@echo Cleaning Font Serializer
-@rm -f $(OUTDIR)/$(TARGET)
-@rm -rf $(OBJDIR)/*
-@rm -rf $(OBJDIR)
$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling Main.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode1_682c927f.o: ../../JuceLibraryCode/JuceLibraryCode1.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode1.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode2_683aaa00.o: ../../JuceLibraryCode/JuceLibraryCode2.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode2.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode3_6848c181.o: ../../JuceLibraryCode/JuceLibraryCode3.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode3.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode4_6856d902.o: ../../JuceLibraryCode/JuceLibraryCode4.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode4.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
-include $(OBJECTS:%.o=%.d)
# Automatically generated makefile, created by the Jucer
# Don't edit this file! Your changes will be overwritten when you re-save the Jucer project!
ifndef CONFIG
CONFIG=Debug
endif
ifeq ($(TARGET_ARCH),)
TARGET_ARCH := -march=native
endif
# (this disables dependency generation if multiple architectures are set)
DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)
ifeq ($(CONFIG),Debug)
BINDIR := build
LIBDIR := build
OBJDIR := build/intermediate/Debug
OUTDIR := build
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0
CXXFLAGS += $(CFLAGS)
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
TARGET := Font\ Serializer
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
endif
ifeq ($(CONFIG),Release)
BINDIR := build
LIBDIR := build
OBJDIR := build/intermediate/Release
OUTDIR := build
CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -Os
CXXFLAGS += $(CFLAGS)
LDFLAGS += -L$(BINDIR) -L$(LIBDIR) -L"/usr/X11R6/lib/" -L"../../../../../../JuceLibraryCode/bin" -lfreetype -lpthread -lrt -lX11 -lGL -lGLU -lXinerama -lasound
LDDEPS :=
RESFLAGS := -D "LINUX=1" -D "NDEBUG=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -I "/usr/include" -I "/usr/include/freetype2"
TARGET := Font\ Serializer
BLDCMD = $(CXX) -o $(OUTDIR)/$(TARGET) $(OBJECTS) $(LDFLAGS) $(RESOURCES) $(TARGET_ARCH)
endif
OBJECTS := \
$(OBJDIR)/Main_90ebc5c2.o \
$(OBJDIR)/JuceLibraryCode1_682c927f.o \
$(OBJDIR)/JuceLibraryCode2_683aaa00.o \
$(OBJDIR)/JuceLibraryCode3_6848c181.o \
$(OBJDIR)/JuceLibraryCode4_6856d902.o \
.PHONY: clean
$(OUTDIR)/$(TARGET): $(OBJECTS) $(LDDEPS) $(RESOURCES)
@echo Linking Font Serializer
-@mkdir -p $(BINDIR)
-@mkdir -p $(LIBDIR)
-@mkdir -p $(OUTDIR)
@$(BLDCMD)
clean:
@echo Cleaning Font Serializer
-@rm -f $(OUTDIR)/$(TARGET)
-@rm -rf $(OBJDIR)/*
-@rm -rf $(OBJDIR)
$(OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling Main.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode1_682c927f.o: ../../JuceLibraryCode/JuceLibraryCode1.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode1.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode2_683aaa00.o: ../../JuceLibraryCode/JuceLibraryCode2.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode2.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode3_6848c181.o: ../../JuceLibraryCode/JuceLibraryCode3.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode3.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/JuceLibraryCode4_6856d902.o: ../../JuceLibraryCode/JuceLibraryCode4.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling JuceLibraryCode4.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
-include $(OBJECTS:%.o=%.d)
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 44;
objects = {
D60CFBE33D82E4AD87FEB8B8 = { isa = PBXBuildFile; fileRef = 6F8C936AD82D52E639058FDE; };
1220C636D1EC4FCDA0885826 = { isa = PBXBuildFile; fileRef = AED213607E5F9281FA344A72; };
6D5C27AE0C1FD5EE3068D41E = { isa = PBXBuildFile; fileRef = 604D36E4D046D324367BECBE; };
ADD0D1B453479A48ABA58BE1 = { isa = PBXBuildFile; fileRef = 1F9836FC5A8FDF2293C9A232; };
218D14A5CA2FA12D7DACA118 = { isa = PBXBuildFile; fileRef = 466375E3E08B6AB1947A7CEB; };
315347D8F1805AF642911D9C = { isa = PBXBuildFile; fileRef = DF4E5E5DC9067DB67A40FE18; };
876F6224C46DABDFE8DB8544 = { isa = PBXBuildFile; fileRef = 00D1A33EFB612EA5B80C6FB2; };
F5A852E5713837BEF7C31447 = { isa = PBXBuildFile; fileRef = C94D365AE7FA08DBC62C63D7; };
361FBF87EED68D639E6E7AE1 = { isa = PBXBuildFile; fileRef = 7EFB5BA72259C159D60DBE7E; };
FEF6F5E6D2179490CC8B944C = { isa = PBXBuildFile; fileRef = 7293D3C3EE9C3DA20D4CC13F; };
89853857E80CDCB81FCAD086 = { isa = PBXBuildFile; fileRef = 25281B36C112DBE83AFE68AB; };
5EE620FBD769442DAA3F4D54 = { isa = PBXBuildFile; fileRef = 8EBC3C20991CFD307B9919A9; };
576676E8E848EB04C154D6C7 = { isa = PBXBuildFile; fileRef = EF6AAFE75FB55683D95FBEBC; };
63FD8779B414B20CFB291AD2 = { isa = PBXBuildFile; fileRef = 388177E26B90D9A6BD4332FB; };
7F83971A90DF8814260E5EDD = { isa = PBXBuildFile; fileRef = 71B740EE788B4CD98126B54B; };
7B1AA7AB7C9A4F2C50E392E8 = { isa = PBXBuildFile; fileRef = CBDE09D98567CFFC650A498B; };
6F8C936AD82D52E639058FDE = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
AED213607E5F9281FA344A72 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
604D36E4D046D324367BECBE = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
1F9836FC5A8FDF2293C9A232 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
466375E3E08B6AB1947A7CEB = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
DF4E5E5DC9067DB67A40FE18 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
00D1A33EFB612EA5B80C6FB2 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
C94D365AE7FA08DBC62C63D7 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
7EFB5BA72259C159D60DBE7E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
7293D3C3EE9C3DA20D4CC13F = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
25281B36C112DBE83AFE68AB = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
6D1E520BC2D8390B348E4831 = { isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Font Serializer"; sourceTree = BUILT_PRODUCTS_DIR; };
8EBC3C20991CFD307B9919A9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
139C8697F1DE5F141583FAF0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
DA185D34F3998374799F6E5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
EF6AAFE75FB55683D95FBEBC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
388177E26B90D9A6BD4332FB = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
71B740EE788B4CD98126B54B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
CBDE09D98567CFFC650A498B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
EA0B5A78DB36C8F587581BDC = { isa = PBXGroup; children = (
8EBC3C20991CFD307B9919A9 ); name = Source; sourceTree = "<group>"; };
81834AEAB9DF775F2F086020 = { isa = PBXGroup; children = (
139C8697F1DE5F141583FAF0,
DA185D34F3998374799F6E5F,
EF6AAFE75FB55683D95FBEBC,
388177E26B90D9A6BD4332FB,
71B740EE788B4CD98126B54B,
CBDE09D98567CFFC650A498B ); name = "Juce Library Code"; sourceTree = "<group>"; };
45F1BACE0E4CAC9DFF0C5541 = { isa = PBXGroup; children = ( ); name = Resources; sourceTree = "<group>"; };
59A06093E4B55F856F591093 = { isa = PBXGroup; children = (
6F8C936AD82D52E639058FDE,
AED213607E5F9281FA344A72,
604D36E4D046D324367BECBE,
1F9836FC5A8FDF2293C9A232,
466375E3E08B6AB1947A7CEB,
DF4E5E5DC9067DB67A40FE18,
00D1A33EFB612EA5B80C6FB2,
C94D365AE7FA08DBC62C63D7,
7EFB5BA72259C159D60DBE7E,
7293D3C3EE9C3DA20D4CC13F,
25281B36C112DBE83AFE68AB ); name = Frameworks; sourceTree = "<group>"; };
64A53E1F43E5BABC4A5E64FF = { isa = PBXGroup; children = (
6D1E520BC2D8390B348E4831 ); name = Products; sourceTree = "<group>"; };
5C0C6BDAC7764635AF27E7E4 = { isa = PBXGroup; children = (
EA0B5A78DB36C8F587581BDC,
81834AEAB9DF775F2F086020,
45F1BACE0E4CAC9DFF0C5541,
59A06093E4B55F856F591093,
64A53E1F43E5BABC4A5E64FF ); name = Source; sourceTree = "<group>"; };
39B01538C757295A5451E280 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
GCC_OPTIMIZATION_LEVEL = 0;
INFOPLIST_FILE = Info.plist;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
ONLY_ACTIVE_ARCH = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Debug; };
C25CAD9BF2BFCF446ABD6058 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = " $(inherited)";
GCC_OPTIMIZATION_LEVEL = s;
INFOPLIST_FILE = Info.plist;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1"); }; name = Release; };
B40E6C65A6493F43634CE524 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
WARNING_CFLAGS = -Wreorder;
GCC_MODEL_TUNING = G5;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf";
PRODUCT_NAME = "Font Serializer"; }; name = Debug; };
A7941FC08F0041C9982AF738 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
WARNING_CFLAGS = -Wreorder;
GCC_MODEL_TUNING = G5;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf";
PRODUCT_NAME = "Font Serializer"; }; name = Release; };
6F87B78B1215642FE5AAC3F2 = { isa = XCConfigurationList; buildConfigurations = (
B40E6C65A6493F43634CE524,
A7941FC08F0041C9982AF738 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
07C9D4C602881E7684BBF7E5 = { isa = XCConfigurationList; buildConfigurations = (
39B01538C757295A5451E280,
C25CAD9BF2BFCF446ABD6058 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
E2F8E5BE7BC03128E2FB5CBA = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
BE9FD21D3BBB4B855B0D9057 = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
5EE620FBD769442DAA3F4D54,
576676E8E848EB04C154D6C7,
63FD8779B414B20CFB291AD2,
7F83971A90DF8814260E5EDD,
7B1AA7AB7C9A4F2C50E392E8 ); runOnlyForDeploymentPostprocessing = 0; };
63B4026613A786ADD5E08F58 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
D60CFBE33D82E4AD87FEB8B8,
1220C636D1EC4FCDA0885826,
6D5C27AE0C1FD5EE3068D41E,
ADD0D1B453479A48ABA58BE1,
218D14A5CA2FA12D7DACA118,
315347D8F1805AF642911D9C,
876F6224C46DABDFE8DB8544,
F5A852E5713837BEF7C31447,
361FBF87EED68D639E6E7AE1,
FEF6F5E6D2179490CC8B944C,
89853857E80CDCB81FCAD086 ); runOnlyForDeploymentPostprocessing = 0; };
37C05C79C82BAABB066A0B15 = { isa = PBXNativeTarget; buildConfigurationList = 07C9D4C602881E7684BBF7E5; buildPhases = (
E2F8E5BE7BC03128E2FB5CBA,
BE9FD21D3BBB4B855B0D9057,
63B4026613A786ADD5E08F58 ); buildRules = ( ); dependencies = ( ); name = "Font Serializer"; productName = "Font Serializer"; productReference = 6D1E520BC2D8390B348E4831; productInstallPath = /usr/bin; productType = "com.apple.product-type.tool"; };
226AFEC2B941C8BC7160216D = { isa = PBXProject; buildConfigurationList = 6F87B78B1215642FE5AAC3F2; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = 5C0C6BDAC7764635AF27E7E4; projectDirPath = ""; projectRoot = ""; targets = ( 37C05C79C82BAABB066A0B15 ); };
};
rootObject = 226AFEC2B941C8BC7160216D;
}
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="l0iZZ46" name="Font Serializer" projectType="consoleapp"
version="1.0.0" juceLinkage="amalg_multi" buildVST="1" buildRTAS="0"
buildAU="1" pluginName="Juce Project" pluginDesc="Juce Project"
pluginManufacturer="yourcompany" pluginManufacturerCode="Manu"
pluginCode="Plug" pluginChannelConfigs="{1, 1}, {2, 2}" pluginIsSynth="0"
pluginWantsMidiIn="0" pluginProducesMidiOut="0" pluginSilenceInIsSilenceOut="0"
pluginTailLength="0" pluginEditorRequiresKeys="0" pluginAUExportPrefix="JuceProjectAU"
pluginAUViewClass="JuceProjectAU_V1" pluginRTASCategory="" bundleIdentifier="com.yourcompany.FontSerializer"
jucerVersion="3.0.0">
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"
juceFolder="../../../../JuceLibraryCode"/>
<LINUX_MAKE targetFolder="Builds/Linux" vstFolder="~/SDKs/vstsdk2.4" juceFolder="../../../JuceLibraryCode"/>
</EXPORTFORMATS>
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="Font Serializer"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="2" targetName="Font Serializer"/>
</CONFIGURATIONS>
<MAINGROUP id="EazegAT" name="Font Serializer">
<GROUP id="9goohQn" name="Source">
<FILE id="fdSaKI" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>
</GROUP>
</MAINGROUP>
<JUCEOPTIONS JUCE_FORCE_DEBUG="default" JUCE_LOG_ASSERTIONS="default" JUCE_ASIO="default"
JUCE_WASAPI="default" JUCE_DIRECTSOUND="default" JUCE_ALSA="default"
JUCE_QUICKTIME="default" JUCE_OPENGL="default" JUCE_DIRECT2D="default"
JUCE_USE_FLAC="default" JUCE_USE_OGGVORBIS="default" JUCE_USE_CDBURNER="default"
JUCE_USE_CDREADER="default" JUCE_USE_CAMERA="default" JUCE_ENABLE_REPAINT_DEBUGGING="default"
JUCE_USE_XINERAMA="default" JUCE_USE_XSHM="default" JUCE_USE_XRENDER="default"
JUCE_USE_XCURSOR="default" JUCE_PLUGINHOST_VST="default" JUCE_PLUGINHOST_AU="default"
JUCE_ONLY_BUILD_CORE_LIBRARY="default" JUCE_WEB_BROWSER="default"
JUCE_SUPPORT_CARBON="default" JUCE_CHECK_MEMORY_LEAKS="default"
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default"/>
</JUCERPROJECT>
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
If you want to change any of these values, use the Jucer to do so, rather than
editing this file directly!
Any commented-out settings will fall back to using the default values that
they are given in juce_Config.h
*/
//#define JUCE_FORCE_DEBUG
//#define JUCE_LOG_ASSERTIONS
//#define JUCE_ASIO
//#define JUCE_WASAPI
//#define JUCE_DIRECTSOUND
//#define JUCE_ALSA
//#define JUCE_QUICKTIME
//#define JUCE_OPENGL
//#define JUCE_DIRECT2D
//#define JUCE_USE_FLAC
//#define JUCE_USE_OGGVORBIS
//#define JUCE_USE_CDBURNER
//#define JUCE_USE_CDREADER
//#define JUCE_USE_CAMERA
//#define JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_USE_XINERAMA
//#define JUCE_USE_XSHM
//#define JUCE_USE_XRENDER
//#define JUCE_USE_XCURSOR
//#define JUCE_PLUGINHOST_VST
//#define JUCE_PLUGINHOST_AU
//#define JUCE_ONLY_BUILD_CORE_LIBRARY
//#define JUCE_WEB_BROWSER
//#define JUCE_SUPPORT_CARBON
//#define JUCE_CHECK_MEMORY_LEAKS
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This is the header file that your files should include in order to get all the
Juce library headers. You should NOT include juce.h or juce_amalgamated.h directly in
your own source files, because that wouldn't pick up the correct Juce configuration
options for your app.
*/
#ifndef __APPHEADERFILE_4529796E__
#define __APPHEADERFILE_4529796E__
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/juce_amalgamated.h"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/juce_amalgamated.h"
#endif
namespace ProjectInfo
{
const char* const projectName = "Font Serializer";
const char* const versionString = "1.0.0";
const int versionNumber = 0x10000;
}
#endif // __APPHEADERFILE_4529796E__
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated1.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated1.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated1.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated1.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated2.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated2.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated2.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated2.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated3.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated3.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated3.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated3.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated4.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated4.cpp"
#endif
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#if defined (JUCER_LINUX_MAKE_7346DA2A)
#include "../../../../JuceLibraryCode/amalgamation/juce_amalgamated4.cpp"
#elif defined (JUCER_XCODE_MAC_F6D2F4CF)
#include "../../../../../JuceLibraryCode/amalgamation/juce_amalgamated4.cpp"
#endif
#include "../JuceLibraryCode/JuceHeader.h"
#include <iostream>
void shutdownSequence(OutputStream* destStream)
{
delete destStream;
shutdownJuce_GUI();
}
int main (int argc, char* argv[])
{
// This object makes sure that Juce is initialised and shut down correctly
// for the scope of this function call. Make sure this declaration is the
// first statement of this function.
const ScopedJuceInitialiser_NonGUI juceSystemInitialiser;
printf ("\n\n--------------------------------\n Font Serialiser by Niall Moody\n--------------------------------\n\n");
if (argc != 3)
{
printf (" Usage: FontSerialiser <filename> <fontname>\n\n");
printf (" FontSerialiser will turn a font into a compressed binary file.\n\n\n");
return 1;
}
// because we're not using the proper application startup procedure, we need to call
// this explicitly here to initialise some of the time-related stuff..
initialiseJuce_GUI();
// get file and font name from command line arguments
const File destFile (File::getCurrentWorkingDirectory().getChildFile (argv[1]));
String fontName(argv[2]);
// make sure the destination file can be written to
OutputStream *destStream = destFile.createOutputStream();
if (destStream == 0)
{
String error;
error << "\nError : Couldn't open " << destFile.getFullPathName() << " for writing.\n\n";
std::cout << error;
destFile.deleteFile();
shutdownSequence(destStream);
return 2;
}
// make sure the font is installed on the current system
StringArray fontNames = Font::findAllTypefaceNames();
if(!fontNames.contains(fontName))
{
String error ("\nError: The font " + fontName + " does not exist in the system\n");
std::cout << error;
destFile.deleteFile();
shutdownSequence(destStream);
return 3;
}
// load the font as a system-Typeface
Font font(fontName, 10, 0);
if(!Typeface::createSystemTypefaceFor (font))
{
String error ("\nError : Where's the font?\n\n");
std::cout << error;
destFile.deleteFile();
shutdownSequence(destStream);
return 4;
}
// copy the font-properties to a CustomTypeface
CustomTypeface customTypeface;
customTypeface.setCharacteristics(font.getTypefaceName(), font.getAscent(),
font.isBold(), font.isItalic(), ' ');
// Here's the important part: copy all glyphs to a new instance of CustomTypeface
customTypeface.addGlyphsFromOtherTypeface( *font.getTypeface(), 0, 256);
// finally write the typeface into the destination file
customTypeface.writeToStream(*destStream);
String op;
op << "\nWrote font " << fontName << " to file " << destFile.getFullPathName() << " successfully.\n\n";
std::cout << op;
std::cout << "\n(You might want to use Binary Builder to turn this file into a c++ file now)\n\n ";
shutdownSequence(destStream);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment