diff options
240 files changed, 0 insertions, 15694 deletions
diff --git a/examples/mobile/guitartuner/guitartuner.pro b/examples/mobile/guitartuner/guitartuner.pro deleted file mode 100644 index 9478f380..00000000 --- a/examples/mobile/guitartuner/guitartuner.pro +++ /dev/null @@ -1,89 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2010-10-22T14:28:56 -# -#------------------------------------------------- - -QT += core gui widgets - -TARGET = guitartuner -TEMPLATE = app - -ICON = images/guitartuner_icon.svg - -SOURCES += src/main.cpp\ - src/guitartuner.cpp \ - src/voicegenerator.cpp \ - src/voiceanalyzer.cpp \ - src/guitartunerui.cpp \ - src/fastfouriertransformer.cpp - -HEADERS += src/guitartuner.h \ - src/voicegenerator.h \ - src/voiceanalyzer.h \ - src/constants.h \ - src/guitartunerui.h \ - src/fastfouriertransformer.h - -FORMS += src/guitartunerui.ui - -VERSION = 1.2.0 - -symbian { - INCLUDEPATH += /epoc32/include/mmf/common - INCLUDEPATH += /epoc32/include/mmf/server - LIBS += -lmmfdevsound - TARGET.UID3 = 0xEC46D2C8 - # TARGET.CAPABILITY += - # TARGET.EPOCSTACKSIZE = 0x14000 - # TARGET.EPOCHEAPSIZE = 0x020000 0x1000000 -} - -RESOURCES += \ - guitartuner.qrc - -# Avoid auto screen rotation -DEFINES += ORIENTATIONLOCK - -symbian { - contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -leiksrv -lcone -} - - -# Add mobility into Qt's CONFIG, and add multimedia into MOBILITY. - -win32 { - QT += multimedia - RC_FILE = src/guitartuner.rc -} -else { - CONFIG += mobility - MOBILITY += multimedia -} - -symbian { - TARGET.CAPABILITY = UserEnvironment -} - -# Add declarative module -QT += declarative - -OTHER_FILES += \ - src/application.qml \ - src/mycomponents/Adjuster.qml \ - src/mycomponents/adjustbars.js \ - src/mycomponents/ToggleButton.qml - -OTHER_FILES += \ - src/mycomponents/NotesModel.qml \ - src/mycomponents/NoteButtonView.qml \ - src/mycomponents/Meter.qml - -unix:!symbian { - maemo5 { - target.path = /opt/usr/bin - } else { - target.path = /usr/local/bin - } - INSTALLS += target -} diff --git a/examples/mobile/guitartuner/guitartuner.qrc b/examples/mobile/guitartuner/guitartuner.qrc deleted file mode 100644 index d8ba0199..00000000 --- a/examples/mobile/guitartuner/guitartuner.qrc +++ /dev/null @@ -1,43 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>src/application.qml</file> - <file>src/mycomponents/adjustbars.js</file> - <file>src/mycomponents/Adjuster.qml</file> - <file>src/mycomponents/Meter.qml</file> - <file>src/mycomponents/NoteButtonView.qml</file> - <file>src/mycomponents/NotesModel.qml</file> - <file>src/mycomponents/ToggleButton.qml</file> - <file>src/mycomponents/images/meterBG.png</file> - <file>src/mycomponents/images/pointerShadow.png</file> - <file>src/mycomponents/images/sensitivity.png</file> - <file>src/mycomponents/images/tuner_a.png</file> - <file>src/mycomponents/images/tuner_a_on.png</file> - <file>src/mycomponents/images/tuner_b.png</file> - <file>src/mycomponents/images/tuner_b_on.png</file> - <file>src/mycomponents/images/tuner_d.png</file> - <file>src/mycomponents/images/tuner_d_on.png</file> - <file>src/mycomponents/images/tuner_e.png</file> - <file>src/mycomponents/images/tuner_e_on.png</file> - <file>src/mycomponents/images/tuner_g.png</file> - <file>src/mycomponents/images/tuner_g_on.png</file> - <file>src/mycomponents/images/voicemode_off.png</file> - <file>src/mycomponents/images/voicemode_on.png</file> - <file>src/mycomponents/images/volume.png</file> - <file>src/mycomponents/images/volume_off.png</file> - <file>src/mycomponents/images/guitartuner_skin.png</file> - <file>src/mycomponents/images/power.png</file> - <file>src/mycomponents/images/tuner_auto.png</file> - <file>src/mycomponents/images/tuner_auto_on.png</file> - <file>src/mycomponents/images/big_a.png</file> - <file>src/mycomponents/images/big_b.png</file> - <file>src/mycomponents/images/big_d.png</file> - <file>src/mycomponents/images/big_e.png</file> - <file>src/mycomponents/images/big_g.png</file> - <file>src/mycomponents/images/glowing_a.png</file> - <file>src/mycomponents/images/glowing_b.png</file> - <file>src/mycomponents/images/glowing_d.png</file> - <file>src/mycomponents/images/glowing_e.png</file> - <file>src/mycomponents/images/glowing_g.png</file> - <file>src/mycomponents/images/pointer.png</file> - </qresource> -</RCC> diff --git a/examples/mobile/guitartuner/images/guitartab.svg b/examples/mobile/guitartuner/images/guitartab.svg deleted file mode 100644 index 9d88d5d2..00000000 --- a/examples/mobile/guitartuner/images/guitartab.svg +++ /dev/null @@ -1,174 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="70.661781" - height="55.997791" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="guitartab.svg"> - <defs - id="defs4"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective3604" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3632" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3632-4" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3632-9" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3632-8" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3632-2" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3690" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3712" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.98994949" - inkscape:cx="343.43632" - inkscape:cy="198.00574" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1280" - inkscape:window-height="888" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" - showguides="true" - inkscape:guide-bbox="true" - borderlayer="true" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-45.793001,-702.07386)"> - <rect - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96666431;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="rect3728" - width="68.695114" - height="54.031128" - x="46.776333" - y="703.05719" /> - <g - id="g3732" - transform="matrix(0.11166616,0,0,0.11166616,41.003771,673.42071)"> - <path - sodipodi:nodetypes="cc" - id="path2816" - d="m 133.63811,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-7" - d="m 223.89631,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-0" - d="m 314.15451,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-4" - d="m 404.4127,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-8" - d="m 494.6709,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-45" - d="m 584.92911,570.46864 0,-225.36571" - style="fill:none;stroke:#000000;stroke-width:17.61199951;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-5" - d="m 124.89988,344.21478 468.77277,0" - style="fill:none;stroke:#000000;stroke-width:19.51578331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - sodipodi:nodetypes="cc" - id="path2816-5-1" - d="m 125.76355,400.6818 467.80305,0" - style="fill:none;stroke:#000000;stroke-width:19.4955883;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - </g> - </g> -</svg> diff --git a/examples/mobile/guitartuner/images/guitartuner_icon.svg b/examples/mobile/guitartuner/images/guitartuner_icon.svg deleted file mode 100644 index de7ebe0f..00000000 --- a/examples/mobile/guitartuner/images/guitartuner_icon.svg +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In --> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [ - <!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/"> -]> -<svg version="1.1" - xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" - x="0px" y="0px" width="128px" height="128px" viewBox="0 0 128 128" overflow="visible" enable-background="new 0 0 128 128" - xml:space="preserve"> -<defs> -</defs> -<rect x="0" display="none" fill="#1A171B" width="128" height="128"/> -<circle fill="#13235B" cx="64" cy="64" r="47"/> -<g> - <g> - <path fill="#F29400" d="M14.352,113.699c0,0-13.927-13.928-3.122-24.732c7.203-7.205,11.706-2.701,15.308-6.305 - c3.602-3.601,1.417-6.729,5.28-10.84c7.547-8.035,15.842,3.149,15.842,3.149l4.765,4.765l-7.204,7.204 - c0,0,5.134,7.943,12.338,0.74c-3.827,10.578-9.411,9.39-13.014,12.99c-3.602,3.603,0.854,8.058-6.303,15.31 - C27.508,126.855,14.352,113.699,14.352,113.699z"/> - </g> - <defs> - <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="7.122" y="68.918" width="50.437" height="51.368"> - - <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/> - </filter> - </defs> - <mask maskUnits="userSpaceOnUse" x="7.122" y="68.918" width="50.437" height="51.368" id="SVGID_1_"> - <g filter="url(#Adobe_OpacityMaskFilter)"> - - <image overflow="visible" width="55" height="57" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA -EAMCAwYAAAG8AAACPgAAAr//2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX -Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa -JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADkANwMBIgACEQEDEQH/ -xAB9AAABBQEBAAAAAAAAAAAAAAAAAgQFBgcBAwEBAAAAAAAAAAAAAAAAAAAAABAAAgMAAgICAwAA -AAAAAAAAAgMBBAUABhBAMBEhEiMRAAICAQMFAQAAAAAAAAAAAAECABEhEEESIDFRIgMwEgEAAAAA -AAAAAAAAAAAAAABA/9oADAMBAAIRAxEAAADPwAc+F5Kkx0alEcAdmuaSVq5PFkFles5qQR0J/T8X -0IuyGbQrdAm4IAAcNwsnjAgpIAAf/9oACAECAAEFAPQ//9oACAEDAAEFAPQ//9oACAEBAAEFAPNa -k2xx+W5UTExPlYSw8bI/jezBFerWBTeCJGVDrjrEZPT1qZUzgSvZT+qtc2zc516mL25WcuABIBHN -loQvbZXln3+eruEG5bRJfGnAB27WJKzYbC5TslWfh7YECtNZDoagQvst6LDfNW8+qVbtBCN3sRtF -jDYfw//aAAgBAgIGPwAH/9oACAEDAgY/AAf/2gAIAQEBBj8A1tRichkSj36FRcljUW12hsQlcHQK -osnsIC952EH0ZbPkwCo1DaOrigD66cmF5gxMDRrMY4Jl7Tie9wVoTGCnJwIWc2Tov0U43i+0u4aM -4A3m+i0bHiU5IMKoSSYXc2T+X//Z" transform="matrix(1 0 0 1 5.0005 66)"> - </image> - </g> - </mask> - <g mask="url(#SVGID_1_)"> - <path fill="#B20000" d="M14.352,113.699c0,0-13.927-13.928-3.122-24.732c7.203-7.205,11.706-2.701,15.308-6.305 - c3.602-3.601,1.417-6.729,5.28-10.84c7.547-8.035,15.842,3.149,15.842,3.149l4.765,4.765l-7.204,7.204 - c0,0,5.134,7.943,12.338,0.74c-3.827,10.578-9.411,9.39-13.014,12.99c-3.602,3.603,0.854,8.058-6.303,15.31 - C27.508,126.855,14.352,113.699,14.352,113.699z"/> - </g> -</g> -<g> - <path fill="#FFEDB8" d="M37.791,69.168c5.189,0,9.624,5.894,9.692,5.98l4.588,4.588l-7.027,7.027l-0.143,0.143l0.11,0.17 - c0.102,0.158,2.55,3.875,6.503,3.875c1.808,0,3.63-0.791,5.427-2.352c-2.541,6.327-5.777,7.936-8.649,9.362 - c-1.422,0.707-2.765,1.374-3.924,2.532c-1.562,1.562-1.672,3.261-1.8,5.227c-0.171,2.633-0.384,5.909-4.504,10.084 - c-2.771,2.808-5.958,4.231-9.472,4.231c-7.46,0-14-6.448-14.064-6.514c-0.137-0.138-13.625-13.877-3.122-24.379 - c4.152-4.153,7.301-4.348,10.078-4.519c1.97-0.122,3.67-0.227,5.229-1.786c1.829-1.829,2.218-3.585,2.595-5.284 - c0.384-1.735,0.782-3.529,2.69-5.562C33.761,70.118,35.709,69.168,37.791,69.168 M37.791,68.918c-1.932,0-3.979,0.781-5.974,2.904 - c-3.862,4.11-1.678,7.239-5.28,10.84c-3.602,3.604-8.104-0.9-15.308,6.305c-10.805,10.805,3.122,24.732,3.122,24.732 - s6.586,6.587,14.241,6.587c3.164,0,6.51-1.126,9.649-4.306c7.157-7.252,2.701-11.707,6.303-15.31 - c3.603-3.601,9.187-2.412,13.014-12.99c-2.248,2.247-4.293,3.021-6.044,3.021c-3.862,0-6.293-3.761-6.293-3.761l7.204-7.204 - l-4.765-4.765C47.66,74.972,43.17,68.918,37.791,68.918L37.791,68.918z"/> -</g> -<rect x="35.983" y="67.296" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 146.0415 81.7395)" fill="#41281B" width="40.217" height="7.64"/> -<rect x="35.697" y="84.509" transform="matrix(-0.7073 0.707 -0.707 -0.7073 128.185 124.851)" fill="#ECEDED" width="5.092" height="8.913"/> -<rect x="27.593" y="92.612" transform="matrix(-0.7072 0.7071 -0.7071 -0.7072 120.0864 144.402)" fill="#ECEDED" width="5.092" height="8.914"/> -<rect x="24.55" y="96.293" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 115.1376 156.3543)" fill="#F6F6F6" width="1.273" height="11.46"/> -<rect x="26.351" y="94.491" transform="matrix(-0.7071 0.7071 -0.7071 -0.7071 116.9377 152.0052)" fill="#F6F6F6" width="1.273" height="11.461"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="23.499" y1="99.433" x2="66.495" y2="56.438"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="28" y1="103.934" x2="70.997" y2="60.941"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="27.101" y1="103.034" x2="70.096" y2="60.04"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="26.2" y1="102.134" x2="69.196" y2="59.139"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="25.3" y1="101.233" x2="68.295" y2="58.239"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="24.4" y1="100.333" x2="67.395" y2="57.339"/> -<circle fill="#1A171B" cx="26.908" cy="113.596" r="1.761"/> -<path fill="#1A171B" d="M33.138,107.366c0.688,0.687,0.688,1.804,0,2.493c-0.688,0.686-1.804,0.686-2.492,0 - c-0.688-0.689-0.688-1.807,0-2.493C31.334,106.678,32.45,106.678,33.138,107.366z"/> -<circle fill="#FFEDB8" cx="36.848" cy="75.131" r="1.762"/> -<circle fill="#1A171B" cx="32.31" cy="115.397" r="1.762"/> -<path fill="#1A171B" d="M38.54,109.167c0.689,0.687,0.689,1.804,0,2.493c-0.688,0.686-1.804,0.686-2.492,0 - c-0.688-0.689-0.688-1.807,0-2.493C36.736,108.479,37.852,108.479,38.54,109.167z"/> -<g> - <g> - <path fill="#ECEDED" d="M105.895,10.52l2.704,2.702L70.764,51.056c0,0-2.702,2.702,0,5.404c2.704,2.702,5.405,0,5.405,0 - l37.833-37.833l2.704,2.702c0,0-35.132,35.131-37.835,37.833c-2.702,2.702-8.107,2.702-10.81,0s-2.702-8.106,0-10.809 - C70.765,45.649,105.895,10.52,105.895,10.52z"/> - </g> - <defs> - <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="66.036" y="10.52" width="50.671" height="50.669"> - - <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/> - </filter> - </defs> - <mask maskUnits="userSpaceOnUse" x="66.036" y="10.52" width="50.671" height="50.669" id="SVGID_2_"> - <g filter="url(#Adobe_OpacityMaskFilter_1_)"> - - <image overflow="visible" width="55" height="56" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA -EAMCAwYAAAGyAAACNwAAA9T/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX -Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa -JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIADgANwMBIgACEQEDEQH/ -xACCAAEBAQADAAAAAAAAAAAAAAAABgQDBQcBAQAAAAAAAAAAAAAAAAAAAAAQAQEBAAIDAQEAAAAA -AAAAAAUEBhADACBAAQIRAAIBAgQEBgIDAQAAAAAAAAECAxEEACFREjHBQgUQIGEyUhNBFZEiIwYS -AQAAAAAAAAAAAAAAAAAAAED/2gAMAwEAAhEDEQAAAPPwDcOwp4w61WCTNwt0YL95scjGN1vxSIv3 -mwzgBUdyENnAAD//2gAIAQIAAQUA+D//2gAIAQMAAQUA+D//2gAIAQEAAQUA9Bx7GLNSHCL3+g49 -jFiKJuMNONS0CLmRkOQ4HHsYsRRNxhppqWgSqqJwxPatd3JeDj2MWIom4w001LQJVVE4Ym66pCrw -cexixFE3GGmmpaBKqonDE3XVIVcZ+r9JwppqWgSqqJwxN11SFXOV1/8ABHR3bgAvouuqQq9P/9oA -CAECAgY/AAf/2gAIAQMCBj8AB//aAAgBAQEGPwDyLaWi1Jzdz7UXU4ht7e4+2bb/ALJxofl6eVbS -0WpObufai6nH6ztlJO4yCskhzNT1vyGPrjrJNId00zZhQepuQx22xhudz3kkcMgNNw3sF3j+fFbS -0WpObufai6nH6ztlJO4yCskhzNT1vyGPrjrJNId00zZhQepuQwLe3AlvpRkOt3+TaAYXuksm+6SR -ZVY8AUO5QBoPBbS0WpObufai6nH6ztlJO4yCskhzNT1vyGPrjrJNId00zZhQepuQwLe3AlvpRkOt -3+TaAYe7u3Mk0hqSeAGg9PBbS0WpObufai6nH6ztlJO4yCskhzNT1vyGPrjrJNId00zZhQepuQwL -e3AlvpRkOt3+TaAYe7u3Mk0hqSeAGg9PGfuVrFW6ZnBYCpru2Bm9Fx9cdZJpDummbMKD1NyGBb24 -Et9KMh1u/wAm0Aw93duZJpDUk8ANB6eRu33sJnspGJyoSm7j/X8j84ZP+fsgJJM2IT6lB9cqnD3d -25kmkNSTwA0Hp5f/2Q==" transform="matrix(1 0 0 1 64.0005 8)"> - </image> - </g> - </mask> - <g opacity="0.77" mask="url(#SVGID_2_)"> - <path fill="#1C1B1B" d="M105.895,10.52l2.704,2.702L70.764,51.056c0,0-2.702,2.702,0,5.404c2.704,2.702,5.405,0,5.405,0 - l37.833-37.833l2.704,2.702c0,0-35.132,35.131-37.835,37.833c-2.702,2.702-8.107,2.702-10.81,0s-2.702-8.106,0-10.809 - C70.765,45.649,105.895,10.52,105.895,10.52z"/> - </g> -</g> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="40.044" y1="81.762" x2="45.447" y2="87.166"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="40.966" y1="80.84" x2="46.37" y2="86.241"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="41.96" y1="79.846" x2="47.363" y2="85.248"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="43.168" y1="78.639" x2="48.57" y2="84.042"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="44.587" y1="77.219" x2="49.99" y2="82.623"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="46.006" y1="75.801" x2="51.41" y2="81.203"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="47.285" y1="74.522" x2="52.688" y2="79.925"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="48.847" y1="72.961" x2="54.249" y2="78.362"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="50.621" y1="71.185" x2="56.023" y2="76.589"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="52.489" y1="69.329" x2="57.891" y2="74.731"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="54.405" y1="67.4" x2="59.709" y2="72.704"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="56.517" y1="65.392" x2="61.821" y2="70.696"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="59.166" y1="62.744" x2="64.469" y2="68.047"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="61.883" y1="60.026" x2="67.187" y2="65.329"/> -<line fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="64.902" y1="57.007" x2="70.206" y2="62.31"/> -<g display="none"> - <g display="inline"> - <path fill="#F29400" d="M0,24.468C0,24.468,0,9,12,9c8,0,8,5,12,5s4.525-2.95,8.952-3.088C41.605,10.642,40,21.458,40,21.458 - v5.291h-8c0,0-1.56,7.262,6.44,7.262C30.44,37.762,28,34,24,34c-4,0-4,4.948-12,5C0,39.078,0,24.468,0,24.468z"/> - </g> - <defs> - <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="0" y="9" width="40.118" height="30"> - - <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/> - </filter> - </defs> - <mask maskUnits="userSpaceOnUse" x="0" y="9" width="40.118" height="30" id="SVGID_3_" display="inline"> - <g filter="url(#Adobe_OpacityMaskFilter_2_)"> - - <image overflow="visible" width="46" height="35" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA -EAMCAwYAAAGrAAACBgAAAl3/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX -Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa -JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIACMALgMBIgACEQEDEQH/ -xAB+AAABBQEBAAAAAAAAAAAAAAAAAgMFBgcEAQEBAAAAAAAAAAAAAAAAAAAAABAAAgMAAgIDAQAA -AAAAAAAAAgMBBAUREzAGECAxFBEAAgEEAQMFAAAAAAAAAAAAAAERIUECElEQMYEgIkIDExIBAAAA -AAAAAAAAAAAAAAAAMP/aAAwDAQACEQMRAAAAoEknQjPuDXogztq4Vo7NJyW2mgQdegRyGUyCwPEg -AB//2gAIAQIAAQUA8P8A/9oACAEDAAEFAPD/AP/aAAgBAQABBQARkpr4r3DYxLKR6W8zUfA8TzjV -4dZzMwJB2Mshs4aQm9VWsZAf7vXigbGW4IBllcDp3VwOtrlL+0u2nYmu6jvgIXPZxALHsLnTYdDi -+A/D+n//2gAIAQICBj8AH//aAAgBAwIGPwAf/9oACAEBAQY/AFjipbJdzZLY10c8QbPEi5WsCoVx -G9UNJGONmxzyI7jhmX1pU5P1uLNdri9w4yHRwbX6/LwX8+j/2Q==" transform="matrix(1 0 0 1 -2.9995 6)"> - </image> - </g> - </mask> - <g display="inline" mask="url(#SVGID_3_)"> - <path fill="#B20000" d="M0,24.468C0,24.468,0,9,12,9c8,0,8,5,12,5s4.525-2.95,8.952-3.088C41.605,10.642,40,21.458,40,21.458 - v5.291h-8c0,0-1.56,7.262,6.44,7.262C30.44,37.762,28,34,24,34c-4,0-4,4.948-12,5C0,39.078,0,24.468,0,24.468z"/> - </g> -</g> -<g display="none"> - <path display="inline" fill="#FFEDB8" d="M12,9.25c4.592,0,6.439,1.633,8.07,3.075c1.169,1.033,2.179,1.926,3.93,1.926 - c2.047,0,3.246-0.764,4.405-1.502c1.171-0.746,2.382-1.518,4.555-1.585c0.104-0.003,0.207-0.005,0.308-0.005 - c2.021,0,3.606,0.649,4.712,1.931c2.537,2.939,1.782,8.28,1.771,8.37V26.5H32h-0.202l-0.042,0.197 - c-0.028,0.13-0.663,3.21,1.127,5.426c0.979,1.211,2.483,1.913,4.481,2.093c-1.956,0.813-3.706,1.21-5.323,1.21 - c-1.76,0-3.121-0.458-4.438-0.9C26.416,34.126,25.295,33.75,24,33.75c-1.755,0-2.766,0.888-3.937,1.916 - c-1.631,1.432-3.479,3.054-8.064,3.084l-0.095,0C0.388,38.75,0.25,24.61,0.25,24.468C0.25,24.315,0.391,9.25,12,9.25 M12,9 - C0,9,0,24.468,0,24.468S-0.002,39,11.904,39c0.031,0,0.064,0,0.096,0c8-0.052,8-5,12-5c2.67,0,4.644,1.675,8.041,1.675 - c1.692,0,3.739-0.416,6.4-1.664c-8,0-6.44-7.262-6.44-7.262h8v-5.291c0,0,1.566-10.551-6.733-10.551 - c-0.104,0-0.209,0.001-0.316,0.005C28.525,11.05,28,14,24,14S20,9,12,9L12,9z"/> -</g> -<rect x="31.032" y="21" display="none" fill="#41281B" width="32.967" height="6"/> -<rect x="25" y="20.5" display="none" fill="#ECEDED" width="3.999" height="7"/> -<rect x="16.001" y="20.5" display="none" fill="#ECEDED" width="3.999" height="7"/> -<rect x="12" y="19.5" display="none" fill="#F6F6F6" width="1" height="9"/> -<rect x="14" y="19.5" display="none" fill="#F6F6F6" width="1" height="9"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="21.625" x2="60.75" y2="21.625"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="26.625" x2="60.75" y2="26.625"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="25.625" x2="60.75" y2="25.625"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="24.625" x2="60.75" y2="24.625"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="23.625" x2="60.75" y2="23.625"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.15" stroke-miterlimit="10" x1="13" y1="22.625" x2="60.75" y2="22.625"/> -<circle display="none" fill="#1A171B" cx="7.029" cy="31.382" r="1.384"/> -<circle display="none" fill="#1A171B" cx="12.564" cy="31.382" r="1.384"/> -<circle display="none" fill="#FFEDB8" cx="33.908" cy="15.543" r="1.384"/> -<circle display="none" fill="#1A171B" cx="9.029" cy="35.382" r="1.384"/> -<circle display="none" fill="#1A171B" cx="14.564" cy="35.382" r="1.384"/> -<g display="none"> - <g display="inline"> - <path fill="#ECEDED" d="M124,16v4H68c0,0-4,0-4,4s4,4,4,4h56v4c0,0-52,0-56,0s-8-4-8-8s4-8,8-8C72.001,16,124,16,124,16z"/> - </g> - <defs> - <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="60" y="16" width="64" height="16"> - - <feColorMatrix type="matrix" values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" color-interpolation-filters="sRGB" result="source"/> - </filter> - </defs> - <mask maskUnits="userSpaceOnUse" x="60" y="16" width="64" height="16" id="SVGID_4_" display="inline"> - <g filter="url(#Adobe_OpacityMaskFilter_3_)"> - - <image overflow="visible" width="68" height="20" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA -EAMCAwYAAAGtAAACAQAAAsf/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX -Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBEUGhQWFhQaJhoaHBoa -JjAjHh4eHiMwKy4nJycuKzU1MDA1NUBAP0BAQEBAQEBAQEBAQP/CABEIABQARAMBIgACEQEDEQH/ -xACMAAEAAQUAAAAAAAAAAAAAAAAABQECAwQGAQEAAAAAAAAAAAAAAAAAAAAAEAABAgQGAwEAAAAA -AAAAAAAABicCAwQWMBIUBRUlAREXBxEAAAQCBwcEAwAAAAAAAAAAAAERAhIDITGR0hOjREFxBBQ0 -BRVRYUIzIqKDEgEAAAAAAAAAAAAAAAAAAAAw/9oADAMBAAIRAxEAAACH3tvnSTQwmUMJm2IoarAM -vTgoAC0OdB//2gAIAQIAAQUAwv/aAAgBAwABBQDC/9oACAEBAAEFAEmk4N2gnSvzWTMbUbUbUbUb -Uj+c5eq5VKwU28pKpQ6lp5lnqUs9SlnqUs9SlnqUiSKjh8aKq1e08nrXL9OUOUOUOUOUR/R8va8r -/9oACAECAgY/AC//2gAIAQMCBj8AL//aAAgBAQEGPwB3cO4Pwu3S1KtDeZV07CIHLN815trcw5jm -nucVA1GaNRmjUZo1GaNRmg4Mddn2j5eNi94oUtrHEdjZOKXxZG80UyP8jiadCKXqIC4TGJFjlOI2 -/tCOgmWtvDoJlrbw6CZa28OgmWtvDoJlrbwV3ATCLe28OSwz5lYcOhVRQzxUfN0w4dabV2JvGoT+ -Q1GUNRlDUZQ1GUNRlA48dNv1D5eSi9ooksqH/9k=" transform="matrix(1 0 0 1 58.0005 14)"> - </image> - </g> - </mask> - <g display="inline" opacity="0.75" mask="url(#SVGID_4_)"> - <path fill="#1C1B1B" d="M124,16v4H68c0,0-4,0-4,4s4,4,4,4h56v4c0,0-52,0-56,0s-8-4-8-8s4-8,8-8C72.001,16,124,16,124,16z"/> - </g> -</g> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="32" y1="21" x2="32" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="33.025" y1="21" x2="33.025" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="34.129" y1="21" x2="34.129" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="35.469" y1="21" x2="35.469" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="37.046" y1="21" x2="37.046" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="38.623" y1="21" x2="38.623" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="40.042" y1="21" x2="40.042" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="41.776" y1="21" x2="41.776" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="43.747" y1="21" x2="43.747" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="46.033" y1="21" x2="46.033" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="48.635" y1="21" x2="48.635" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="51.315" y1="21" x2="51.315" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="54.311" y1="21" x2="54.311" y2="27"/> -<line display="none" fill="none" stroke="#FFFFFF" stroke-width="0.25" stroke-miterlimit="10" x1="57.385" y1="21" x2="57.385" y2="27"/> -</svg> diff --git a/examples/mobile/guitartuner/images/inputMode.svg b/examples/mobile/guitartuner/images/inputMode.svg deleted file mode 100644 index f95991af..00000000 --- a/examples/mobile/guitartuner/images/inputMode.svg +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="690.84283" - height="597.90881" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="inputMode.svg"> - <defs - id="defs4"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective3604" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3622" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3622-7" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3653" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3653-4" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - <inkscape:perspective - id="perspective3653-8" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.7" - inkscape:cx="220.15692" - inkscape:cy="262.65754" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1280" - inkscape:window-height="888" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" - showguides="true" - inkscape:guide-bbox="true" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-9.1421334,-233.17919)"> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="path3620" - sodipodi:cx="64.649765" - sodipodi:cy="472.53461" - sodipodi:rx="117.1777" - sodipodi:ry="268.70059" - d="m 181.82746,472.53461 c 0,148.39924 -52.46224,268.70059 -117.177695,268.70059 -64.71545463,0 -117.177696,-120.30135 -117.177696,-268.70059 0,-148.39924 52.46224137,-268.7006 117.177696,-268.7006 64.715455,0 117.177695,120.30136 117.177695,268.7006 z" - transform="matrix(2.8726899,0,0,1.0798196,168.84482,21.881457)" /> - <g - id="g3694" - transform="translate(14.702487,2.8571428)"> - <path - sodipodi:nodetypes="cccc" - id="path2830" - d="m 261.68027,406.82393 36.36549,359.61431 82.97781,0 38.24049,-359.61431" - style="fill:none;stroke:#000000;stroke-width:14.10000038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - transform="translate(-11.060917,113.98119)" - d="m 442.4468,276.6803 c 0,49.09448 -41.15572,88.89342 -91.92388,88.89342 -50.76816,0 -91.92388,-39.79894 -91.92388,-88.89342 0,-49.09449 41.15572,-88.89343 91.92388,-88.89343 50.76816,0 91.92388,39.79894 91.92388,88.89343 z" - sodipodi:ry="88.893425" - sodipodi:rx="91.923882" - sodipodi:cy="276.6803" - sodipodi:cx="350.52292" - id="path2826" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:17.61199951;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - sodipodi:type="arc" /> - <path - id="path3610" - d="M 417.09557,336.26145 265.86811,447.10263" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - id="path3610-1" - d="M 370.02409,308.17608 244.86468,399.91085" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - id="path3610-4" - d="M 266.87874,335.24091 418.10619,446.08209" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - id="path3610-4-9" - d="M 306.03234,300.77574 436.914,396.7046" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - id="path3610-4-8" - d="m 246.61065,376.5921 132.66972,97.23942" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - <path - id="path3610-4-2" - d="M 433.44049,380.0107 304.57747,474.46002" - style="fill:none;stroke:#000000;stroke-width:8.15200043;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> - </g> - </g> -</svg> diff --git a/examples/mobile/guitartuner/images/note.svg b/examples/mobile/guitartuner/images/note.svg deleted file mode 100644 index c1f1771a..00000000 --- a/examples/mobile/guitartuner/images/note.svg +++ /dev/null @@ -1,101 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="690.84283" - height="597.90881" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="New document 1"> - <defs - id="defs4"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective3604" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.49497475" - inkscape:cx="586.90391" - inkscape:cy="224.44944" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1280" - inkscape:window-height="888" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-9.1421334,-233.17919)"> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="path3620" - sodipodi:cx="64.649765" - sodipodi:cy="472.53461" - sodipodi:rx="117.1777" - sodipodi:ry="268.70059" - d="m 181.82746,472.53461 c 0,148.39924 -52.46224,268.70059 -117.177695,268.70059 -64.71545463,0 -117.177696,-120.30135 -117.177696,-268.70059 0,-148.39924 52.46224137,-268.7006 117.177696,-268.7006 64.715455,0 117.177695,120.30136 117.177695,268.7006 z" - transform="matrix(2.8726899,0,0,1.0798196,168.84482,21.881457)" /> - <path - style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 355.87166,686.47203 0,-381.77521" - id="path2816" - sodipodi:nodetypes="cc" /> - <path - sodipodi:type="arc" - style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="path2818" - sodipodi:cx="284.86301" - sodipodi:cy="703.85956" - sodipodi:rx="80.812202" - sodipodi:ry="83.842659" - d="m 365.67521,703.85956 c 0,46.30502 -36.18086,83.84266 -80.8122,83.84266 -44.63135,0 -80.81221,-37.53764 -80.81221,-83.84266 0,-46.30502 36.18086,-83.84266 80.81221,-83.84266 44.63134,0 80.8122,37.53764 80.8122,83.84266 z" - transform="matrix(0.86662604,0,0,0.86662604,41.962127,84.107402)" /> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.49788642;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - d="M 498.23775,478.96203 C 487.43102,436.20815 446.22124,431.4938 416.5823,423.48582 381.21648,411.5191 365.03425,382.76349 358.75673,339.52089 l -2.02761,-36.99987 c 12.76379,33.73415 40.64336,44.6109 67.22015,53.67478 46.38196,11.01541 67.31525,50.25786 74.72373,107.8334 0.48397,6.08567 0.99901,19.27869 0.75259,19.27869 -0.0715,0 -0.60616,-1.95564 -1.1881,-4.34586 l 0,0 2.6e-4,0 z" - id="path3618" - sodipodi:nodetypes="ccccccsccc" /> - </g> -</svg> diff --git a/examples/mobile/guitartuner/images/noteNo.svg b/examples/mobile/guitartuner/images/noteNo.svg deleted file mode 100644 index 888d2308..00000000 --- a/examples/mobile/guitartuner/images/noteNo.svg +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="690.84283" - height="597.90881" - id="svg2" - version="1.1" - inkscape:version="0.47 r22583" - sodipodi:docname="noteCrossed.svg"> - <defs - id="defs4"> - <inkscape:perspective - sodipodi:type="inkscape:persp3d" - inkscape:vp_x="0 : 526.18109 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_z="744.09448 : 526.18109 : 1" - inkscape:persp3d-origin="372.04724 : 350.78739 : 1" - id="perspective10" /> - <inkscape:perspective - id="perspective3604" - inkscape:persp3d-origin="0.5 : 0.33333333 : 1" - inkscape:vp_z="1 : 0.5 : 1" - inkscape:vp_y="0 : 1000 : 0" - inkscape:vp_x="0 : 0.5 : 1" - sodipodi:type="inkscape:persp3d" /> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.49497475" - inkscape:cx="289.91906" - inkscape:cy="224.44944" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1280" - inkscape:window-height="888" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-9.1421334,-233.17919)"> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="path3620" - sodipodi:cx="64.649765" - sodipodi:cy="472.53461" - sodipodi:rx="117.1777" - sodipodi:ry="268.70059" - d="m 181.82746,472.53461 c 0,148.39924 -52.46224,268.70059 -117.177695,268.70059 -64.71545463,0 -117.177696,-120.30135 -117.177696,-268.70059 0,-148.39924 52.46224137,-268.7006 117.177696,-268.7006 64.715455,0 117.177695,120.30136 117.177695,268.7006 z" - transform="matrix(2.8726899,0,0,1.0798196,168.84482,21.881457)" /> - <path - style="fill:none;stroke:#000000;stroke-width:10;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" - d="m 355.87166,686.47203 0,-381.77521" - id="path2816" - sodipodi:nodetypes="cc" /> - <path - sodipodi:type="arc" - style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - id="path2818" - sodipodi:cx="284.86301" - sodipodi:cy="703.85956" - sodipodi:rx="80.812202" - sodipodi:ry="83.842659" - d="m 365.67521,703.85956 c 0,46.30502 -36.18086,83.84266 -80.8122,83.84266 -44.63135,0 -80.81221,-37.53764 -80.81221,-83.84266 0,-46.30502 36.18086,-83.84266 80.81221,-83.84266 44.63134,0 80.8122,37.53764 80.8122,83.84266 z" - transform="matrix(0.86662604,0,0,0.86662604,41.962127,84.107402)" /> - <path - style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:3.49788642;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" - d="M 498.23775,478.96203 C 487.43102,436.20815 446.22124,431.4938 416.5823,423.48582 381.21648,411.5191 365.03425,382.76349 358.75673,339.52089 l -2.02761,-36.99987 c 12.76379,33.73415 40.64336,44.6109 67.22015,53.67478 46.38196,11.01541 67.31525,50.25786 74.72373,107.8334 0.48397,6.08567 0.99901,19.27869 0.75259,19.27869 -0.0715,0 -0.60616,-1.95564 -1.1881,-4.34586 l 0,0 2.6e-4,0 z" - id="path3618" - sodipodi:nodetypes="ccccccsccc" /> - <path - style="fill:none;stroke:#ff0000;stroke-width:16;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" - d="m 176.92972,346.31704 369.5113,373.55192" - id="path2817" /> - </g> -</svg> diff --git a/examples/mobile/guitartuner/src/application.qml b/examples/mobile/guitartuner/src/application.qml deleted file mode 100644 index 2f1540a0..00000000 --- a/examples/mobile/guitartuner/src/application.qml +++ /dev/null @@ -1,329 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import "mycomponents" - -/* The base canvas for all QML drawing. */ -Rectangle { - id: application - - property int targetNoteIndex: 0 - property alias frequency: noteChooser.currentFrequency - //Data provided to C++. - property bool isInput: true - property bool isMuted: false - property bool isAuto: true - property alias maxVoiceDifference: voiceDifferenceMeter.maxValue - property real volume: 0.5 - property real sensitivity: 0.5 - - //Signals to C++. - signal volumeChanged(real volume) - signal microphoneSensitivityChanged(real sensitivity) - signal targetFrequencyChanged(real frequency) - signal modeChanged(bool isInput) - signal muteStateChanged(bool isMuted) - - //Slots for signals coming from C++. - function voiceDifferenceChanged(difference) { - if (isAuto) timer.running = true; - voiceDifferenceMeter.valueChanged(difference); - noteImage.glowing = false - } - function correctFrequencyObtained() { - noteImage.glowing = true - } - function lowVoice() { - noteImage.glowing = false - } - - //Private function for changing the target frequency automatically. - function calculateTargetFrequency(difference) { - var tempDifference = Math.abs(difference); - var tempIndex = targetNoteIndex - while (!(difference < 0 && tempIndex == 0) && - tempDifference >= notes.get(tempIndex-(difference<0)).interval/2) { - tempDifference -= notes.get(tempIndex-(difference<0)).interval; - tempIndex += difference/Math.abs(difference); - } - if (tempIndex != targetNoteIndex) { - targetNoteIndex = tempIndex - noteChooser.currentFrequency = notes.get(targetNoteIndex).frequency; - targetFrequencyChanged(frequency); - } - } - - width: 360; height: 640 - color: "black" - - //Provides data for functions. - NotesModel {id: notes} - - /* A timer for changing the target frequency automatically. - * This is needed for avoiding recursion. */ - Timer { - id: timer - - interval: 1 - onTriggered: calculateTargetFrequency(voiceDifferenceMeter.value) - } - - //A meter for showing the difference between current and target frequency. - Meter { - id: voiceDifferenceMeter - - maxValue: 12 - minValue: -maxValue - height: imageSize.height/background.sourceSize.height*parent.height - width: imageSize.width/background.sourceSize.width*parent.width - anchors { - topMargin: 100/background.sourceSize.height*parent.height - horizontalCenter: parent.horizontalCenter - top: parent.top - } - } - - Image { - id: background - - anchors.fill: parent - smooth: true - source: "./mycomponents/images/guitartuner_skin.png" - } - - //A button for quitting the application. - Image { - id: quitButton - - width: sourceSize.width/background.sourceSize.width*parent.width - height: sourceSize.height/background.sourceSize.height*parent.height - source: "./mycomponents/images/power.png" - smooth: true - KeyNavigation.up: volumeAdjuster - KeyNavigation.down: modeButton - Keys.onEnterPressed: Qt.quit() - anchors{ - leftMargin: 297/background.sourceSize.width*parent.width - left: parent.left; - topMargin: 17/background.sourceSize.height*parent.height - top: parent.top - } - - MouseArea { - anchors.fill: parent - onClicked: Qt.quit() - } - } - - //An image for showing the target note. - Image { - id: noteImage - - property bool glowing: false - - width: sourceSize.width/background.sourceSize.width*parent.width - height: sourceSize.height/background.sourceSize.height*parent.height - source: glowing ? notes.get(targetNoteIndex).glowSource : notes.get(targetNoteIndex).bigSource - - anchors { - topMargin: 273/background.sourceSize.height*parent.height - top: parent.top - horizontalCenter: parent.horizontalCenter - } - } - - //A button for choosing the input/output mode. - Image { - id: modeButton - - function buttonPressed() { - isInput = !isInput - modeChanged(isInput) - if (isInput) { - soundIcons.source = "./mycomponents/images/sensitivity.png" - source = "./mycomponents/images/voicemode_off.png" - volumeAdjuster.setValue(sensitivity) - } - else { - //Change off from "auto" mode - if (isAuto) { - noteChooser.pushButton(targetNoteIndex) - } - if (isMuted) { - soundIcons.source = "./mycomponents/images/volume_off.png"; - } - else - soundIcons.source = "./mycomponents/images/volume.png" - source = "./mycomponents/images/voicemode_on.png" - volumeAdjuster.setValue(volume) - } - } - - width: sourceSize.width/background.sourceSize.width*parent.width - height: sourceSize.height/background.sourceSize.height*parent.height - smooth: true - source: "./mycomponents/images/voicemode_off.png" - KeyNavigation.up: quitButton - KeyNavigation.down: noteChooser - Keys.onEnterPressed: buttonPressed() - anchors { - leftMargin: 16/background.sourceSize.width*parent.width - left: parent.left - topMargin: 353/background.sourceSize.height*parent.height - top: parent.top - } - - MouseArea { - anchors.fill: parent - onPressed: { - parent.focus = true - parent.scale = 0.95 - } - onReleased: { - parent.scale = 1/0.95 - } - onClicked: parent.buttonPressed() - } - } - - //Buttons for choosing the target note. - NoteButtonView { - id: noteChooser - - width: parent.width*0.95; height: width/model.count - onNoteSelected: { - if (note == "Auto") { - if (!isAuto) { - isAuto = true - } - if (!isInput) { - modeButton.buttonPressed() - } - } - else { - timer.running = false; - isAuto = false - targetNoteIndex = index - targetFrequencyChanged(frequency) - } - focus = true - } - KeyNavigation.up: modeButton - KeyNavigation.down: soundIcons - anchors { - horizontalCenter: parent.horizontalCenter - topMargin: 454/background.sourceSize.height*parent.height - top: parent.top - } - } - - //An element for showing the mode and changing the mute state. - Image { - id: soundIcons - - function stateChanged() { - isMuted = !isMuted - muteStateChanged(isMuted) - if (isMuted) { - source = "qrc:/src/mycomponents/images/volume_off.png" - } - else { - source = "qrc:/src/mycomponents/images/volume.png" - } - } - - width: sourceSize.width/background.sourceSize.width*parent.width - height: sourceSize.height/background.sourceSize.height*parent.height - smooth: true - source: "./mycomponents/images/sensitivity.png" - Keys.onEnterPressed: stateChanged() - KeyNavigation.up: noteChooser - KeyNavigation.down: quitButton - KeyNavigation.left: volumeAdjuster - KeyNavigation.right: volumeAdjuster - anchors { - leftMargin: 42/background.sourceSize.width*parent.width - left: parent.left - topMargin: 565/background.sourceSize.height*parent.height - top: parent.top - } - - MouseArea { - anchors.fill: parent - onClicked: { - if (!isInput) { - parent.stateChanged() - } - parent.focus = true - } - } - } - - //An element for adjusting volume. - Adjuster { - id: volumeAdjuster - - max: 1 - value: 0.5 - width: 222/background.sourceSize.width*parent.width - height: parent.height*0.1 - onFocusChangedByClick: focus = true - onArrowPressedWhenValueOverLimits: soundIcons.focus = true - KeyNavigation.up: modeButton - KeyNavigation.down: quitButton - anchors { - leftMargin: 98/background.sourceSize.width*parent.width - left: parent.left - verticalCenter: soundIcons.verticalCenter - } - onValueChanged: { - if (isInput) { - sensitivity = value; - microphoneSensitivityChanged(1-sensitivity) - } - else { - volume = value - volumeChanged(volume) - } - } - } -} diff --git a/examples/mobile/guitartuner/src/constants.h b/examples/mobile/guitartuner/src/constants.h deleted file mode 100644 index c1203835..00000000 --- a/examples/mobile/guitartuner/src/constants.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef CONSTANTS_H -#define CONSTANTS_H - -#define M_MAX_AMPLITUDE_8BIT_SIGNED 127 -#define M_MAX_AMPLITUDE_8BIT_UNSIGNED 255 -#define M_MAX_AMPLITUDE_16BIT_SIGNED 32767 -#define M_MAX_AMPLITUDE_16BIT_UNSIGNED 65535 - -#define M_TWELTH_ROOT_OF_2 1.05946309435930000000 - -// M_SAMPLE_COUNT_MULTIPLIER is 2/(M_TWELTH_ROOT_OF_2 - 1) -#define M_SAMPLE_COUNT_MULTIPLIER 33.63430749021150000000 - -#endif // CONSTANTS_H diff --git a/examples/mobile/guitartuner/src/fastfouriertransformer.cpp b/examples/mobile/guitartuner/src/fastfouriertransformer.cpp deleted file mode 100644 index 47d1d783..00000000 --- a/examples/mobile/guitartuner/src/fastfouriertransformer.cpp +++ /dev/null @@ -1,185 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "fastfouriertransformer.h" -#include "math.h" - -#define STIN inline -#define __STATIC - -#include "fftpack.c" - -// called by __ogg_fdrffti -__STATIC void drfti1(int n, float *wa, int *ifac); -void __ogg_fdrffti(int n, float *wsave, int *ifac); -void __ogg_fdcosqi(int n, float *wsave, int *ifac); -// called by drftf1 -STIN void dradf2(int ido,int l1,float *cc,float *ch,float *wa1); -// called by drftf1 -STIN void dradf4(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2,float *wa3); -// called by drftf1 -STIN void dradfg(int ido,int ip,int l1,int idl1,float *cc,float *c1, - float *c2,float *ch,float *ch2,float *wa); -// called by drftf1 -STIN void drftf1(int n,float *c,float *ch,float *wa,int *ifac); -void __ogg_fdrfftf(int n,float *r,float *wsave,int *ifac); -STIN void dcsqf1(int n,float *x,float *w,float *xh,int *ifac); -void __ogg_fdcosqf(int n,float *x,float *wsave,int *ifac); -STIN void dradb2(int ido,int l1,float *cc,float *ch,float *wa1); -STIN void dradb3(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2); -STIN void dradb4(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2,float *wa3); -STIN void dradbg(int ido,int ip,int l1,int idl1,float *cc,float *c1, - float *c2,float *ch,float *ch2,float *wa); -STIN void drftb1(int n, float *c, float *ch, float *wa, int *ifac); -void __ogg_fdrfftb(int n, float *r, float *wsave, int *ifac); -STIN void dcsqb1(int n,float *x,float *w,float *xh,int *ifac); -void __ogg_fdcosqb(int n,float *x,float *wsave,int *ifac); - -FastFourierTransformer::FastFourierTransformer(QObject *parent) : - QObject(parent), - m_waveFloat(0), - m_workingArray(0), - m_ifac(0), - m_last_n(-1) -{ -} - -FastFourierTransformer::~FastFourierTransformer() -{ - if (m_waveFloat != 0) { - delete [] m_waveFloat; - } - if (m_workingArray != 0) { - delete [] m_workingArray; - } - if (m_ifac != 0) { - delete [] m_ifac; - } -} - -/** - * Prepares the arrays to be of length n. - */ -void FastFourierTransformer::reserve(int n) -{ - Q_ASSERT(n>0); - if (m_waveFloat != 0) { - delete [] m_waveFloat; - } - if (m_workingArray != 0) { - delete [] m_workingArray; - } - if (m_ifac != 0) { - delete [] m_ifac; - } - m_workingArray = new float[2*n+15]; - m_waveFloat = new float[n]; - m_ifac = new int[n]; - __ogg_fdrffti(n, m_workingArray, m_ifac); - m_last_n = n; -} - -/** - * Calculates the Fast Fourier Transformation (FFT). - */ -void FastFourierTransformer::calculateFFT(QList<qint16> wave) -{ - const int n = wave.size(); - if (m_last_n != n) { - reserve(n); - } - for (int i = 0; i < n; i++) { - m_waveFloat[i] = (float) wave.at(i); - } - - __ogg_fdrfftf(n, m_waveFloat, m_workingArray, m_ifac); - -} - -/** - * Returns the index which corresponds to the maximum density - * of the FFT. - */ -int FastFourierTransformer::getMaximumDensityIndex() -{ - const int halfN = m_last_n / 2; - float maxDensity = 0; - int maxDensityIndex = 0; - float densitySquared = 0.f; - for (int k = 1; k < halfN; k++) { - // Here, we calculate the frequency k/N. - // k=1, the wave oscillation time is N, and the frequency - // is 1/sample. - // k=2, the wave oscillation time is N/2, and the frequency - // is 2/sample. - // k=3, the wave oscillation time is N/3, and the frequency - // is 3/sample. - // Note, that the documentation is for Fortran, so indexes in the - // documentation does not match. - // The sine and cosine coefficients are obtained thus as follows: - const float cosCoefficient = qAbs(m_waveFloat[2*k-1]); - const float sinCoefficient = qAbs(m_waveFloat[2*k]); - - densitySquared = sinCoefficient*sinCoefficient + cosCoefficient*cosCoefficient; - if (densitySquared > maxDensity) { - maxDensity = densitySquared; - maxDensityIndex = k; - } - } - - if (m_cutOffForDensitySquared < maxDensity) { - return maxDensityIndex; - } - else { - return -1; - } -} - -/** - * Sets the cutoff density. - */ -void FastFourierTransformer::setCutOffForDensity(float cutoff) -{ - m_cutOffForDensitySquared = cutoff*cutoff; -} diff --git a/examples/mobile/guitartuner/src/fastfouriertransformer.h b/examples/mobile/guitartuner/src/fastfouriertransformer.h deleted file mode 100644 index 9d5a9c8f..00000000 --- a/examples/mobile/guitartuner/src/fastfouriertransformer.h +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef FASTFOURIERTRANSFORM_H -#define FASTFOURIERTRANSFORM_H - -#include <QObject> -#include <QList> - -class FastFourierTransformer : public QObject -{ - Q_OBJECT - -public: - FastFourierTransformer(QObject *parent = 0); - ~FastFourierTransformer(); - void reserve(int n); - void calculateFFT(QList<qint16> wave); - int getMaximumDensityIndex(); - void setCutOffForDensity(float cutoff); - -private: - float *m_waveFloat; - float *m_workingArray; - int *m_ifac; - int m_last_n; - float m_cutOffForDensitySquared; -}; - -#endif // FASTFOURIERTRANSFORM_H diff --git a/examples/mobile/guitartuner/src/fftpack.c b/examples/mobile/guitartuner/src/fftpack.c deleted file mode 100644 index feff09a5..00000000 --- a/examples/mobile/guitartuner/src/fftpack.c +++ /dev/null @@ -1,1406 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/******************************************************************** - - The routines in this file are from http://www.netlib.org/fftpack/. - According to the comments in the original file (which are provided below) - and according to the wikipedia article about the FFTPACK[1], - they are released as public domain. - - For information about the author of the original, Fortran routines, - and the author of the C translation these routines, - see the comments below. - - [1] http://en.wikipedia.org/wiki/FFTPACK, referenced 2010-12-21. - - ********************************************************************/ - -/******************************************************************** - - file: fft.c - function: Fast discrete Fourier and cosine transforms and inverses - author: Monty <xiphmont@mit.edu> - modifications by: Monty - last modification date: Jul 1 1996 - - ********************************************************************/ - -/* These Fourier routines were originally based on the Fourier - routines of the same names from the NETLIB bihar and fftpack - fortran libraries developed by Paul N. Swarztrauber at the National - Center for Atmospheric Research in Boulder, CO USA. They have been - reimplemented in C and optimized in a few ways for OggSquish. */ - -/* As the original fortran libraries are public domain, the C Fourier - routines in this file are hereby released to the public domain as - well. The C routines here produce output exactly equivalent to the - original fortran routines. Of particular interest are the facts - that (like the original fortran), these routines can work on - arbitrary length vectors that need not be powers of two in - length. */ - -#include <math.h> - -__STATIC void drfti1(int n, float *wa, int *ifac){ - static int ntryh[4] = { 4,2,3,5 }; - static float tpi = 6.28318530717958647692528676655900577; - float arg,argh,argld,fi; - int ntry=0,i,j=-1; - int k1, l1, l2, ib; - int ld, ii, ip, is, nq, nr; - int ido, ipm, nfm1; - int nl=n; - int nf=0; - - L101: - j++; - if (j < 4) - ntry=ntryh[j]; - else - ntry+=2; - - L104: - nq=nl/ntry; - nr=nl-ntry*nq; - if (nr!=0) goto L101; - - nf++; - ifac[nf+1]=ntry; - nl=nq; - if (ntry!=2) goto L107; - if (nf==1) goto L107; - - for (i=1;i<nf;i++){ - ib=nf-i+1; - ifac[ib+1]=ifac[ib]; - } - ifac[2] = 2; - - L107: - if (nl!=1) goto L104; - ifac[0]=n; - ifac[1]=nf; - argh=tpi/n; - is=0; - nfm1=nf-1; - l1=1; - - if (nfm1==0) return; - - for (k1=0;k1<nfm1;k1++){ - ip=ifac[k1+2]; - ld=0; - l2=l1*ip; - ido=n/l2; - ipm=ip-1; - - for (j=0;j<ipm;j++){ - ld+=l1; - i=is; - argld=(float)ld*argh; - fi=0.; - for (ii=2;ii<ido;ii+=2){ - fi+=1.; - arg=fi*argld; - wa[i++]=cos(arg); - wa[i++]=sin(arg); - } - is+=ido; - } - l1=l2; - } -} - -void __ogg_fdrffti(int n, float *wsave, int *ifac){ - - if (n == 1) return; - drfti1(n, wsave+n, ifac); -} - -void __ogg_fdcosqi(int n, float *wsave, int *ifac){ - static float pih = 1.57079632679489661923132169163975; - static int k; - static float fk, dt; - - dt=pih/n; - fk=0.; - for (k=0;k<n;k++){ - fk+=1.; - wsave[k] = cos(fk*dt); - } - - __ogg_fdrffti(n, wsave+n,ifac); -} - -STIN void dradf2(int ido,int l1,float *cc,float *ch,float *wa1){ - int i,k; - float ti2,tr2; - int t0,t1,t2,t3,t4,t5,t6; - - t1=0; - t0=(t2=l1*ido); - t3=ido<<1; - for (k=0;k<l1;k++){ - ch[t1<<1]=cc[t1]+cc[t2]; - ch[(t1<<1)+t3-1]=cc[t1]-cc[t2]; - t1+=ido; - t2+=ido; - } - - if (ido<2) return; - if (ido==2) goto L105; - - t1=0; - t2=t0; - for (k=0;k<l1;k++){ - t3=t2; - t4=(t1<<1)+(ido<<1); - t5=t1; - t6=t1+t1; - for (i=2;i<ido;i+=2){ - t3+=2; - t4-=2; - t5+=2; - t6+=2; - tr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; - ti2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; - ch[t6]=cc[t5]+ti2; - ch[t4]=ti2-cc[t5]; - ch[t6-1]=cc[t5-1]+tr2; - ch[t4-1]=cc[t5-1]-tr2; - } - t1+=ido; - t2+=ido; - } - - if (ido%2==1) return; - - L105: - t3=(t2=(t1=ido)-1); - t2+=t0; - for (k=0;k<l1;k++){ - ch[t1]=-cc[t2]; - ch[t1-1]=cc[t3]; - t1+=ido<<1; - t2+=ido; - t3+=ido; - } -} - -STIN void dradf4(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2,float *wa3){ - static float hsqt2 = .70710678118654752440084436210485; - int i,k,t0,t1,t2,t3,t4,t5,t6; - float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; - t0=l1*ido; - - t1=t0; - t4=t1<<1; - t2=t1+(t1<<1); - t3=0; - - for (k=0;k<l1;k++){ - tr1=cc[t1]+cc[t2]; - tr2=cc[t3]+cc[t4]; - ch[t5=t3<<2]=tr1+tr2; - ch[(ido<<2)+t5-1]=tr2-tr1; - ch[(t5+=(ido<<1))-1]=cc[t3]-cc[t4]; - ch[t5]=cc[t2]-cc[t1]; - - t1+=ido; - t2+=ido; - t3+=ido; - t4+=ido; - } - - if (ido<2) return; - if (ido==2) goto L105; - - t1=0; - for (k=0;k<l1;k++){ - t2=t1; - t4=t1<<2; - t5=(t6=ido<<1)+t4; - for (i=2;i<ido;i+=2){ - t3=(t2+=2); - t4+=2; - t5-=2; - - t3+=t0; - cr2=wa1[i-2]*cc[t3-1]+wa1[i-1]*cc[t3]; - ci2=wa1[i-2]*cc[t3]-wa1[i-1]*cc[t3-1]; - t3+=t0; - cr3=wa2[i-2]*cc[t3-1]+wa2[i-1]*cc[t3]; - ci3=wa2[i-2]*cc[t3]-wa2[i-1]*cc[t3-1]; - t3+=t0; - cr4=wa3[i-2]*cc[t3-1]+wa3[i-1]*cc[t3]; - ci4=wa3[i-2]*cc[t3]-wa3[i-1]*cc[t3-1]; - - tr1=cr2+cr4; - tr4=cr4-cr2; - ti1=ci2+ci4; - ti4=ci2-ci4; - ti2=cc[t2]+ci3; - ti3=cc[t2]-ci3; - tr2=cc[t2-1]+cr3; - tr3=cc[t2-1]-cr3; - - - ch[t4-1]=tr1+tr2; - ch[t4]=ti1+ti2; - - ch[t5-1]=tr3-ti4; - ch[t5]=tr4-ti3; - - ch[t4+t6-1]=ti4+tr3; - ch[t4+t6]=tr4+ti3; - - ch[t5+t6-1]=tr2-tr1; - ch[t5+t6]=ti1-ti2; - } - t1+=ido; - } - if (ido%2==1) return; - - L105: - - t2=(t1=t0+ido-1)+(t0<<1); - t3=ido<<2; - t4=ido; - t5=ido<<1; - t6=ido; - - for (k=0;k<l1;k++){ - ti1=-hsqt2*(cc[t1]+cc[t2]); - tr1=hsqt2*(cc[t1]-cc[t2]); - ch[t4-1]=tr1+cc[t6-1]; - ch[t4+t5-1]=cc[t6-1]-tr1; - ch[t4]=ti1-cc[t1+t0]; - ch[t4+t5]=ti1+cc[t1+t0]; - t1+=ido; - t2+=ido; - t4+=t3; - t6+=ido; - } -} - -STIN void dradfg(int ido,int ip,int l1,int idl1,float *cc,float *c1, - float *c2,float *ch,float *ch2,float *wa){ - - static float tpi=6.28318530717958647692528676655900577; - int idij,ipph,i,j,k,l,ic,ik,is; - int t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; - float dc2,ai1,ai2,ar1,ar2,ds2; - int nbd; - float dcp,arg,dsp,ar1h,ar2h; - int idp2,ipp2; - - arg=tpi/(float)ip; - dcp=cos(arg); - dsp=sin(arg); - ipph=(ip+1)>>1; - ipp2=ip; - idp2=ido; - nbd=(ido-1)>>1; - t0=l1*ido; - t10=ip*ido; - - if (ido==1) goto L119; - for (ik=0;ik<idl1;ik++)ch2[ik]=c2[ik]; - - t1=0; - for (j=1;j<ip;j++){ - t1+=t0; - t2=t1; - for (k=0;k<l1;k++){ - ch[t2]=c1[t2]; - t2+=ido; - } - } - - is=-ido; - t1=0; - if (nbd>l1){ - for (j=1;j<ip;j++){ - t1+=t0; - is+=ido; - t2= -ido+t1; - for (k=0;k<l1;k++){ - idij=is-1; - t2+=ido; - t3=t2; - for (i=2;i<ido;i+=2){ - idij+=2; - t3+=2; - ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; - ch[t3]=wa[idij-1]*c1[t3]-wa[idij]*c1[t3-1]; - } - } - } - }else{ - - for (j=1;j<ip;j++){ - is+=ido; - idij=is-1; - t1+=t0; - t2=t1; - for (i=2;i<ido;i+=2){ - idij+=2; - t2+=2; - t3=t2; - for (k=0;k<l1;k++){ - ch[t3-1]=wa[idij-1]*c1[t3-1]+wa[idij]*c1[t3]; - ch[t3]=wa[idij-1]*c1[t3]-wa[idij]*c1[t3-1]; - t3+=ido; - } - } - } - } - - t1=0; - t2=ipp2*t0; - if (nbd<l1){ - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - for (i=2;i<ido;i+=2){ - t3+=2; - t4+=2; - t5=t3-ido; - t6=t4-ido; - for (k=0;k<l1;k++){ - t5+=ido; - t6+=ido; - c1[t5-1]=ch[t5-1]+ch[t6-1]; - c1[t6-1]=ch[t5]-ch[t6]; - c1[t5]=ch[t5]+ch[t6]; - c1[t6]=ch[t6-1]-ch[t5-1]; - } - } - } - }else{ - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - for (k=0;k<l1;k++){ - t5=t3; - t6=t4; - for (i=2;i<ido;i+=2){ - t5+=2; - t6+=2; - c1[t5-1]=ch[t5-1]+ch[t6-1]; - c1[t6-1]=ch[t5]-ch[t6]; - c1[t5]=ch[t5]+ch[t6]; - c1[t6]=ch[t6-1]-ch[t5-1]; - } - t3+=ido; - t4+=ido; - } - } - } - -L119: - for (ik=0;ik<idl1;ik++)c2[ik]=ch2[ik]; - - t1=0; - t2=ipp2*idl1; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1-ido; - t4=t2-ido; - for (k=0;k<l1;k++){ - t3+=ido; - t4+=ido; - c1[t3]=ch[t3]+ch[t4]; - c1[t4]=ch[t4]-ch[t3]; - } - } - - ar1=1.; - ai1=0.; - t1=0; - t2=ipp2*idl1; - t3=(ip-1)*idl1; - for (l=1;l<ipph;l++){ - t1+=idl1; - t2-=idl1; - ar1h=dcp*ar1-dsp*ai1; - ai1=dcp*ai1+dsp*ar1; - ar1=ar1h; - t4=t1; - t5=t2; - t6=t3; - t7=idl1; - - for (ik=0;ik<idl1;ik++){ - ch2[t4++]=c2[ik]+ar1*c2[t7++]; - ch2[t5++]=ai1*c2[t6++]; - } - - dc2=ar1; - ds2=ai1; - ar2=ar1; - ai2=ai1; - - t4=idl1; - t5=(ipp2-1)*idl1; - for (j=2;j<ipph;j++){ - t4+=idl1; - t5-=idl1; - - ar2h=dc2*ar2-ds2*ai2; - ai2=dc2*ai2+ds2*ar2; - ar2=ar2h; - - t6=t1; - t7=t2; - t8=t4; - t9=t5; - for (ik=0;ik<idl1;ik++){ - ch2[t6++]+=ar2*c2[t8++]; - ch2[t7++]+=ai2*c2[t9++]; - } - } - } - - t1=0; - for (j=1;j<ipph;j++){ - t1+=idl1; - t2=t1; - for (ik=0;ik<idl1;ik++)ch2[ik]+=c2[t2++]; - } - - if (ido<l1) goto L132; - - t1=0; - t2=0; - for (k=0;k<l1;k++){ - t3=t1; - t4=t2; - for (i=0;i<ido;i++)cc[t4++]=ch[t3++]; - t1+=ido; - t2+=t10; - } - - goto L135; - - L132: - for (i=0;i<ido;i++){ - t1=i; - t2=i; - for (k=0;k<l1;k++){ - cc[t2]=ch[t1]; - t1+=ido; - t2+=t10; - } - } - - L135: - t1=0; - t2=ido<<1; - t3=0; - t4=ipp2*t0; - for (j=1;j<ipph;j++){ - - t1+=t2; - t3+=t0; - t4-=t0; - - t5=t1; - t6=t3; - t7=t4; - - for (k=0;k<l1;k++){ - cc[t5-1]=ch[t6]; - cc[t5]=ch[t7]; - t5+=t10; - t6+=ido; - t7+=ido; - } - } - - if (ido==1) return; - if (nbd<l1) goto L141; - - t1=-ido; - t3=0; - t4=0; - t5=ipp2*t0; - for (j=1;j<ipph;j++){ - t1+=t2; - t3+=t2; - t4+=t0; - t5-=t0; - t6=t1; - t7=t3; - t8=t4; - t9=t5; - for (k=0;k<l1;k++){ - for (i=2;i<ido;i+=2){ - ic=idp2-i; - cc[i+t7-1]=ch[i+t8-1]+ch[i+t9-1]; - cc[ic+t6-1]=ch[i+t8-1]-ch[i+t9-1]; - cc[i+t7]=ch[i+t8]+ch[i+t9]; - cc[ic+t6]=ch[i+t9]-ch[i+t8]; - } - t6+=t10; - t7+=t10; - t8+=ido; - t9+=ido; - } - } - return; - - L141: - - t1=-ido; - t3=0; - t4=0; - t5=ipp2*t0; - for (j=1;j<ipph;j++){ - t1+=t2; - t3+=t2; - t4+=t0; - t5-=t0; - for (i=2;i<ido;i+=2){ - t6=idp2+t1-i; - t7=i+t3; - t8=i+t4; - t9=i+t5; - for (k=0;k<l1;k++){ - cc[t7-1]=ch[t8-1]+ch[t9-1]; - cc[t6-1]=ch[t8-1]-ch[t9-1]; - cc[t7]=ch[t8]+ch[t9]; - cc[t6]=ch[t9]-ch[t8]; - t6+=t10; - t7+=t10; - t8+=ido; - t9+=ido; - } - } - } -} - -STIN void drftf1(int n,float *c,float *ch,float *wa,int *ifac){ - int i,k1,l1,l2; - int na,kh,nf; - int ip,iw,ido,idl1,ix2,ix3; - - nf=ifac[1]; - na=1; - l2=n; - iw=n; - - for (k1=0;k1<nf;k1++){ - kh=nf-k1; - ip=ifac[kh+1]; - l1=l2/ip; - ido=n/l2; - idl1=ido*l1; - iw-=(ip-1)*ido; - na=1-na; - - if (ip!=4) goto L102; - - ix2=iw+ido; - ix3=ix2+ido; - if (na!=0) - dradf4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); - else - dradf4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); - goto L110; - - L102: - if (ip!=2) goto L104; - if (na!=0) goto L103; - - dradf2(ido,l1,c,ch,wa+iw-1); - goto L110; - - L103: - dradf2(ido,l1,ch,c,wa+iw-1); - goto L110; - - L104: - if (ido==1)na=1-na; - if (na!=0) goto L109; - - dradfg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); - na=1; - goto L110; - - L109: - dradfg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); - na=0; - - L110: - l2=l1; - } - - if (na==1) return; - - for (i=0;i<n;i++)c[i]=ch[i]; -} - -void __ogg_fdrfftf(int n,float *r,float *wsave,int *ifac){ - if (n==1) return; - drftf1(n,r,wsave,wsave+n,ifac); -} - -STIN void dcsqf1(int n,float *x,float *w,float *xh,int *ifac){ - int modn,i,k,kc; - int np2,ns2; - float xim1; - - ns2=(n+1)>>1; - np2=n; - - kc=np2; - for (k=1;k<ns2;k++){ - kc--; - xh[k]=x[k]+x[kc]; - xh[kc]=x[k]-x[kc]; - } - - modn=n%2; - if (modn==0)xh[ns2]=x[ns2]+x[ns2]; - - for (k=1;k<ns2;k++){ - kc=np2-k; - x[k]=w[k-1]*xh[kc]+w[kc-1]*xh[k]; - x[kc]=w[k-1]*xh[k]-w[kc-1]*xh[kc]; - } - - if (modn==0)x[ns2]=w[ns2-1]*xh[ns2]; - - __ogg_fdrfftf(n,x,xh,ifac); - - for (i=2;i<n;i+=2){ - xim1=x[i-1]-x[i]; - x[i]=x[i-1]+x[i]; - x[i-1]=xim1; - } -} - -void __ogg_fdcosqf(int n,float *x,float *wsave,int *ifac){ - static float sqrt2=1.4142135623730950488016887242097; - float tsqx; - - switch (n){ - case 0:case 1: - return; - case 2: - tsqx=sqrt2*x[1]; - x[1]=x[0]-tsqx; - x[0]+=tsqx; - return; - default: - dcsqf1(n,x,wsave,wsave+n,ifac); - return; - } -} - -STIN void dradb2(int ido,int l1,float *cc,float *ch,float *wa1){ - int i,k,t0,t1,t2,t3,t4,t5,t6; - float ti2,tr2; - - t0=l1*ido; - - t1=0; - t2=0; - t3=(ido<<1)-1; - for (k=0;k<l1;k++){ - ch[t1]=cc[t2]+cc[t3+t2]; - ch[t1+t0]=cc[t2]-cc[t3+t2]; - t2=(t1+=ido)<<1; - } - - if (ido<2) return; - if (ido==2) goto L105; - - t1=0; - t2=0; - for (k=0;k<l1;k++){ - t3=t1; - t5=(t4=t2)+(ido<<1); - t6=t0+t1; - for (i=2;i<ido;i+=2){ - t3+=2; - t4+=2; - t5-=2; - t6+=2; - ch[t3-1]=cc[t4-1]+cc[t5-1]; - tr2=cc[t4-1]-cc[t5-1]; - ch[t3]=cc[t4]-cc[t5]; - ti2=cc[t4]+cc[t5]; - ch[t6-1]=wa1[i-2]*tr2-wa1[i-1]*ti2; - ch[t6]=wa1[i-2]*ti2+wa1[i-1]*tr2; - } - t2=(t1+=ido)<<1; - } - - if (ido%2==1) return; - -L105: - t1=ido-1; - t2=ido-1; - for (k=0;k<l1;k++){ - ch[t1]=cc[t2]+cc[t2]; - ch[t1+t0]=-(cc[t2+1]+cc[t2+1]); - t1+=ido; - t2+=ido<<1; - } -} - -STIN void dradb3(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2){ - static float taur = -.5; - static float taui = .86602540378443864676372317075293618; - int i,k,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; - float ci2,ci3,di2,di3,cr2,cr3,dr2,dr3,ti2,tr2; - t0=l1*ido; - - t1=0; - t2=t0<<1; - t3=ido<<1; - t4=ido+(ido<<1); - t5=0; - for (k=0;k<l1;k++){ - tr2=cc[t3-1]+cc[t3-1]; - cr2=cc[t5]+(taur*tr2); - ch[t1]=cc[t5]+tr2; - ci3=taui*(cc[t3]+cc[t3]); - ch[t1+t0]=cr2-ci3; - ch[t1+t2]=cr2+ci3; - t1+=ido; - t3+=t4; - t5+=t4; - } - - if (ido==1) return; - - t1=0; - t3=ido<<1; - for (k=0;k<l1;k++){ - t7=t1+(t1<<1); - t6=(t5=t7+t3); - t8=t1; - t10=(t9=t1+t0)+t0; - - for (i=2;i<ido;i+=2){ - t5+=2; - t6-=2; - t7+=2; - t8+=2; - t9+=2; - t10+=2; - tr2=cc[t5-1]+cc[t6-1]; - cr2=cc[t7-1]+(taur*tr2); - ch[t8-1]=cc[t7-1]+tr2; - ti2=cc[t5]-cc[t6]; - ci2=cc[t7]+(taur*ti2); - ch[t8]=cc[t7]+ti2; - cr3=taui*(cc[t5-1]-cc[t6-1]); - ci3=taui*(cc[t5]+cc[t6]); - dr2=cr2-ci3; - dr3=cr2+ci3; - di2=ci2+cr3; - di3=ci2-cr3; - ch[t9-1]=wa1[i-2]*dr2-wa1[i-1]*di2; - ch[t9]=wa1[i-2]*di2+wa1[i-1]*dr2; - ch[t10-1]=wa2[i-2]*dr3-wa2[i-1]*di3; - ch[t10]=wa2[i-2]*di3+wa2[i-1]*dr3; - } - t1+=ido; - } -} - -STIN void dradb4(int ido,int l1,float *cc,float *ch,float *wa1, - float *wa2,float *wa3){ - static float sqrt2=1.4142135623730950488016887242097; - int i,k,t0,t1,t2,t3,t4,t5,t6,t7,t8; - float ci2,ci3,ci4,cr2,cr3,cr4,ti1,ti2,ti3,ti4,tr1,tr2,tr3,tr4; - t0=l1*ido; - - t1=0; - t2=ido<<2; - t3=0; - t6=ido<<1; - for (k=0;k<l1;k++){ - t4=t3+t6; - t5=t1; - tr3=cc[t4-1]+cc[t4-1]; - tr4=cc[t4]+cc[t4]; - tr1=cc[t3]-cc[(t4+=t6)-1]; - tr2=cc[t3]+cc[t4-1]; - ch[t5]=tr2+tr3; - ch[t5+=t0]=tr1-tr4; - ch[t5+=t0]=tr2-tr3; - ch[t5+=t0]=tr1+tr4; - t1+=ido; - t3+=t2; - } - - if (ido<2) return; - if (ido==2) goto L105; - - t1=0; - for (k=0;k<l1;k++){ - t5=(t4=(t3=(t2=t1<<2)+t6))+t6; - t7=t1; - for (i=2;i<ido;i+=2){ - t2+=2; - t3+=2; - t4-=2; - t5-=2; - t7+=2; - ti1=cc[t2]+cc[t5]; - ti2=cc[t2]-cc[t5]; - ti3=cc[t3]-cc[t4]; - tr4=cc[t3]+cc[t4]; - tr1=cc[t2-1]-cc[t5-1]; - tr2=cc[t2-1]+cc[t5-1]; - ti4=cc[t3-1]-cc[t4-1]; - tr3=cc[t3-1]+cc[t4-1]; - ch[t7-1]=tr2+tr3; - cr3=tr2-tr3; - ch[t7]=ti2+ti3; - ci3=ti2-ti3; - cr2=tr1-tr4; - cr4=tr1+tr4; - ci2=ti1+ti4; - ci4=ti1-ti4; - - ch[(t8=t7+t0)-1]=wa1[i-2]*cr2-wa1[i-1]*ci2; - ch[t8]=wa1[i-2]*ci2+wa1[i-1]*cr2; - ch[(t8+=t0)-1]=wa2[i-2]*cr3-wa2[i-1]*ci3; - ch[t8]=wa2[i-2]*ci3+wa2[i-1]*cr3; - ch[(t8+=t0)-1]=wa3[i-2]*cr4-wa3[i-1]*ci4; - ch[t8]=wa3[i-2]*ci4+wa3[i-1]*cr4; - } - t1+=ido; - } - - if (ido%2 == 1) return; - - L105: - - t1=ido; - t2=ido<<2; - t3=ido-1; - t4=ido+(ido<<1); - for (k=0;k<l1;k++){ - t5=t3; - ti1=cc[t1]+cc[t4]; - ti2=cc[t4]-cc[t1]; - tr1=cc[t1-1]-cc[t4-1]; - tr2=cc[t1-1]+cc[t4-1]; - ch[t5]=tr2+tr2; - ch[t5+=t0]=sqrt2*(tr1-ti1); - ch[t5+=t0]=ti2+ti2; - ch[t5+=t0]=-sqrt2*(tr1+ti1); - - t3+=ido; - t1+=t2; - t4+=t2; - } -} - -STIN void dradbg(int ido,int ip,int l1,int idl1,float *cc,float *c1, - float *c2,float *ch,float *ch2,float *wa){ - static float tpi=6.28318530717958647692528676655900577; - int idij,ipph,i,j,k,l,ik,is,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10, - t11,t12; - float dc2,ai1,ai2,ar1,ar2,ds2; - int nbd; - float dcp,arg,dsp,ar1h,ar2h; - int ipp2; - - t10=ip*ido; - t0=l1*ido; - arg=tpi/(float)ip; - dcp=cos(arg); - dsp=sin(arg); - nbd=(ido-1)>>1; - ipp2=ip; - ipph=(ip+1)>>1; - if (ido<l1) goto L103; - - t1=0; - t2=0; - for (k=0;k<l1;k++){ - t3=t1; - t4=t2; - for (i=0;i<ido;i++){ - ch[t3]=cc[t4]; - t3++; - t4++; - } - t1+=ido; - t2+=t10; - } - goto L106; - - L103: - t1=0; - for (i=0;i<ido;i++){ - t2=t1; - t3=t1; - for (k=0;k<l1;k++){ - ch[t2]=cc[t3]; - t2+=ido; - t3+=t10; - } - t1++; - } - - L106: - t1=0; - t2=ipp2*t0; - t7=(t5=ido<<1); - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - t6=t5; - for (k=0;k<l1;k++){ - ch[t3]=cc[t6-1]+cc[t6-1]; - ch[t4]=cc[t6]+cc[t6]; - t3+=ido; - t4+=ido; - t6+=t10; - } - t5+=t7; - } - - if (ido == 1) goto L116; - if (nbd<l1) goto L112; - - t1=0; - t2=ipp2*t0; - t7=0; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - - t7+=(ido<<1); - t8=t7; - for (k=0;k<l1;k++){ - t5=t3; - t6=t4; - t9=t8; - t11=t8; - for (i=2;i<ido;i+=2){ - t5+=2; - t6+=2; - t9+=2; - t11-=2; - ch[t5-1]=cc[t9-1]+cc[t11-1]; - ch[t6-1]=cc[t9-1]-cc[t11-1]; - ch[t5]=cc[t9]-cc[t11]; - ch[t6]=cc[t9]+cc[t11]; - } - t3+=ido; - t4+=ido; - t8+=t10; - } - } - goto L116; - - L112: - t1=0; - t2=ipp2*t0; - t7=0; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - t7+=(ido<<1); - t8=t7; - t9=t7; - for (i=2;i<ido;i+=2){ - t3+=2; - t4+=2; - t8+=2; - t9-=2; - t5=t3; - t6=t4; - t11=t8; - t12=t9; - for (k=0;k<l1;k++){ - ch[t5-1]=cc[t11-1]+cc[t12-1]; - ch[t6-1]=cc[t11-1]-cc[t12-1]; - ch[t5]=cc[t11]-cc[t12]; - ch[t6]=cc[t11]+cc[t12]; - t5+=ido; - t6+=ido; - t11+=t10; - t12+=t10; - } - } - } - -L116: - ar1=1.; - ai1=0.; - t1=0; - t9=(t2=ipp2*idl1); - t3=(ip-1)*idl1; - for (l=1;l<ipph;l++){ - t1+=idl1; - t2-=idl1; - - ar1h=dcp*ar1-dsp*ai1; - ai1=dcp*ai1+dsp*ar1; - ar1=ar1h; - t4=t1; - t5=t2; - t6=0; - t7=idl1; - t8=t3; - for (ik=0;ik<idl1;ik++){ - c2[t4++]=ch2[t6++]+ar1*ch2[t7++]; - c2[t5++]=ai1*ch2[t8++]; - } - dc2=ar1; - ds2=ai1; - ar2=ar1; - ai2=ai1; - - t6=idl1; - t7=t9-idl1; - for (j=2;j<ipph;j++){ - t6+=idl1; - t7-=idl1; - ar2h=dc2*ar2-ds2*ai2; - ai2=dc2*ai2+ds2*ar2; - ar2=ar2h; - t4=t1; - t5=t2; - t11=t6; - t12=t7; - for (ik=0;ik<idl1;ik++){ - c2[t4++]+=ar2*ch2[t11++]; - c2[t5++]+=ai2*ch2[t12++]; - } - } - } - - t1=0; - for (j=1;j<ipph;j++){ - t1+=idl1; - t2=t1; - for (ik=0;ik<idl1;ik++)ch2[ik]+=ch2[t2++]; - } - - t1=0; - t2=ipp2*t0; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - for (k=0;k<l1;k++){ - ch[t3]=c1[t3]-c1[t4]; - ch[t4]=c1[t3]+c1[t4]; - t3+=ido; - t4+=ido; - } - } - - if (ido==1) goto L132; - if (nbd<l1) goto L128; - - t1=0; - t2=ipp2*t0; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - for (k=0;k<l1;k++){ - t5=t3; - t6=t4; - for (i=2;i<ido;i+=2){ - t5+=2; - t6+=2; - ch[t5-1]=c1[t5-1]-c1[t6]; - ch[t6-1]=c1[t5-1]+c1[t6]; - ch[t5]=c1[t5]+c1[t6-1]; - ch[t6]=c1[t5]-c1[t6-1]; - } - t3+=ido; - t4+=ido; - } - } - goto L132; - - L128: - t1=0; - t2=ipp2*t0; - for (j=1;j<ipph;j++){ - t1+=t0; - t2-=t0; - t3=t1; - t4=t2; - for (i=2;i<ido;i+=2){ - t3+=2; - t4+=2; - t5=t3; - t6=t4; - for (k=0;k<l1;k++){ - ch[t5-1]=c1[t5-1]-c1[t6]; - ch[t6-1]=c1[t5-1]+c1[t6]; - ch[t5]=c1[t5]+c1[t6-1]; - ch[t6]=c1[t5]-c1[t6-1]; - t5+=ido; - t6+=ido; - } - } - } - -L132: - if (ido==1) return; - - for (ik=0;ik<idl1;ik++)c2[ik]=ch2[ik]; - - t1=0; - for (j=1;j<ip;j++){ - t2=(t1+=t0); - for (k=0;k<l1;k++){ - c1[t2]=ch[t2]; - t2+=ido; - } - } - - if (nbd>l1) goto L139; - - is= -ido-1; - t1=0; - for (j=1;j<ip;j++){ - is+=ido; - t1+=t0; - idij=is; - t2=t1; - for (i=2;i<ido;i+=2){ - t2+=2; - idij+=2; - t3=t2; - for (k=0;k<l1;k++){ - c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; - c1[t3]=wa[idij-1]*ch[t3]+wa[idij]*ch[t3-1]; - t3+=ido; - } - } - } - return; - - L139: - is= -ido-1; - t1=0; - for (j=1;j<ip;j++){ - is+=ido; - t1+=t0; - t2=t1; - for (k=0;k<l1;k++){ - idij=is; - t3=t2; - for (i=2;i<ido;i+=2){ - idij+=2; - t3+=2; - c1[t3-1]=wa[idij-1]*ch[t3-1]-wa[idij]*ch[t3]; - c1[t3]=wa[idij-1]*ch[t3]+wa[idij]*ch[t3-1]; - } - t2+=ido; - } - } -} - -STIN void drftb1(int n, float *c, float *ch, float *wa, int *ifac){ - int i,k1,l1,l2; - int na; - int nf,ip,iw,ix2,ix3,ido,idl1; - - nf=ifac[1]; - na=0; - l1=1; - iw=1; - - for (k1=0;k1<nf;k1++){ - ip=ifac[k1 + 2]; - l2=ip*l1; - ido=n/l2; - idl1=ido*l1; - if (ip!=4) goto L103; - ix2=iw+ido; - ix3=ix2+ido; - - if (na!=0) - dradb4(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1); - else - dradb4(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1); - na=1-na; - goto L115; - - L103: - if (ip!=2) goto L106; - - if (na!=0) - dradb2(ido,l1,ch,c,wa+iw-1); - else - dradb2(ido,l1,c,ch,wa+iw-1); - na=1-na; - goto L115; - - L106: - if (ip!=3) goto L109; - - ix2=iw+ido; - if (na!=0) - dradb3(ido,l1,ch,c,wa+iw-1,wa+ix2-1); - else - dradb3(ido,l1,c,ch,wa+iw-1,wa+ix2-1); - na=1-na; - goto L115; - - L109: -/* The radix five case can be translated later..... */ -/* if (ip!=5) goto L112; - - ix2=iw+ido; - ix3=ix2+ido; - ix4=ix3+ido; - if (na!=0) - dradb5(ido,l1,ch,c,wa+iw-1,wa+ix2-1,wa+ix3-1,wa+ix4-1); - else - dradb5(ido,l1,c,ch,wa+iw-1,wa+ix2-1,wa+ix3-1,wa+ix4-1); - na=1-na; - goto L115; - - L112:*/ - if (na!=0) - dradbg(ido,ip,l1,idl1,ch,ch,ch,c,c,wa+iw-1); - else - dradbg(ido,ip,l1,idl1,c,c,c,ch,ch,wa+iw-1); - if (ido==1)na=1-na; - - L115: - l1=l2; - iw+=(ip-1)*ido; - } - - if (na==0) return; - - for (i=0;i<n;i++)c[i]=ch[i]; -} - -void __ogg_fdrfftb(int n, float *r, float *wsave, int *ifac){ - if (n == 1) return; - drftb1(n, r, wsave, wsave+n, ifac); -} - -STIN void dcsqb1(int n,float *x,float *w,float *xh,int *ifac){ - int modn,i,k,kc; - int np2,ns2; - float xim1; - - ns2=(n+1)>>1; - np2=n; - - for (i=2;i<n;i+=2){ - xim1=x[i-1]+x[i]; - x[i]-=x[i-1]; - x[i-1]=xim1; - } - - x[0]+=x[0]; - modn=n%2; - if (modn==0)x[n-1]+=x[n-1]; - - __ogg_fdrfftb(n,x,xh,ifac); - - kc=np2; - for (k=1;k<ns2;k++){ - kc--; - xh[k]=w[k-1]*x[kc]+w[kc-1]*x[k]; - xh[kc]=w[k-1]*x[k]-w[kc-1]*x[kc]; - } - - if (modn==0)x[ns2]=w[ns2-1]*(x[ns2]+x[ns2]); - - kc=np2; - for (k=1;k<ns2;k++){ - kc--; - x[k]=xh[k]+xh[kc]; - x[kc]=xh[k]-xh[kc]; - } - x[0]+=x[0]; -} - -void __ogg_fdcosqb(int n,float *x,float *wsave,int *ifac){ - static float tsqrt2 = 2.8284271247461900976033774484194; - float x1; - - if (n<2){ - x[0]*=4; - return; - } - if (n==2){ - x1=(x[0]+x[1])*4; - x[1]=tsqrt2*(x[0]-x[1]); - x[0]=x1; - return; - } - - dcsqb1(n,x,wsave,wsave+n,ifac); -} - - - diff --git a/examples/mobile/guitartuner/src/guitartuner.cpp b/examples/mobile/guitartuner/src/guitartuner.cpp deleted file mode 100644 index 95e7ee9b..00000000 --- a/examples/mobile/guitartuner/src/guitartuner.cpp +++ /dev/null @@ -1,326 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "guitartuner.h" - -#ifdef Q_OS_SYMBIAN -#include <SoundDevice.h> -#endif // Q_OS_SYMBIAN - -#if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK) -#include <eikenv.h> -#include <eikappui.h> -#include <aknenv.h> -#include <aknappui.h> -#endif // Q_OS_SYMBIAN && ORIENTATIONLOCK - -GuitarTuner::GuitarTuner(QWidget *parent) : - QMainWindow(parent) -{ - - // Set up the QML. - m_guitarTunerUI = new QDeclarativeView(QUrl("qrc:/src/application.qml"), this); - setCentralWidget(m_guitarTunerUI); - m_guitarTunerUI->setResizeMode(QDeclarativeView::SizeRootObjectToView); - qmlObject = m_guitarTunerUI->rootObject(); - - // Init audio output and input. - initAudioOutput(); - initAudioInput(); - - // Connect the quit signal of m_guitarTunerUI - // into the close slot of this. - connect(m_guitarTunerUI->engine(), SIGNAL(quit()), SLOT(close())); - - // Connect the signals from qmlObject into proper slots - // of this and m_voicegenerator. - connect(qmlObject, SIGNAL(muteStateChanged(bool)), - SLOT(muteStateChanged(bool))); - connect(qmlObject, SIGNAL(volumeChanged(qreal)), - m_voicegenerator, SLOT(setAmplitude(qreal))); - connect(qmlObject, SIGNAL(volumeChanged(qreal)), - SLOT(setMaxVolumeLevel(qreal))); - - // Connect the modeChanged signal from qmlObject - // into modeChanged slot of this class. - connect(qmlObject, SIGNAL(modeChanged(bool)), - SLOT(modeChanged(bool))); - - // Connect the microphoneSensitivityChanged signal from - // m_guitarTunerUI into setCutOffPercentage slot of m_analyzer class. - connect(qmlObject, SIGNAL(microphoneSensitivityChanged(qreal)), - m_analyzer, SLOT(setCutOffPercentage(qreal))); - - // Connect the signals from m_analyzer into slots of qmlObject. - connect(m_analyzer, SIGNAL(lowVoice()), - qmlObject, SLOT(lowVoice())); - connect(m_analyzer, SIGNAL(correctFrequency()), - qmlObject, SLOT(correctFrequencyObtained())); - connect(m_analyzer, SIGNAL(voiceDifference(QVariant)), - qmlObject, SLOT(voiceDifferenceChanged(QVariant))); - - // Initialise the MaximumVoiceDifference - // value of qmlObject with the value obtained from m_analyzer. - qmlObject->setProperty("maxVoiceDifference", - m_analyzer->getMaximumVoiceDifference()); - - // Connect the targetFrequencyChanged signal of qmlObject - // into targetFrequencyChanged slot of this class. - connect(qmlObject, SIGNAL(targetFrequencyChanged(qreal)), - SLOT(targetFrequencyChanged(qreal))); - - // Start voice output or input by using the modeChanged function, - // depending of the current mode. - modeChanged(qmlObject->property("isInput").toBool()); - -} - -/** - * Inits audio output. - */ -void GuitarTuner::initAudioOutput() -{ - // Set up the output format. - m_format_output.setFrequency(DataFrequencyHzOutput); - m_format_output.setCodec("audio/pcm"); - m_format_output.setSampleSize(16); - m_format_output.setChannels(1); - m_format_output.setByteOrder(QAudioFormat::LittleEndian); - m_format_output.setSampleType(QAudioFormat::SignedInt); - - // Obtain a default output device, and if the format is not - // supported, find the nearest format available. - QAudioDeviceInfo outputDeviceInfo( - QAudioDeviceInfo::defaultOutputDevice()); - if (!outputDeviceInfo.isFormatSupported(m_format_output)) { - m_format_output = outputDeviceInfo.nearestFormat(m_format_output); - } - - // Create new QAudioOutput and VoiceGenerator instances, and store - // them in m_audioOutput and m_voicegenerator, respectively. - m_audioOutput = new QAudioOutput(outputDeviceInfo, - m_format_output, this); - m_voicegenerator = new VoiceGenerator(m_format_output, - qmlObject->property("frequency").toReal(), - qmlObject->property("volume").toReal(), - this); - - // Connect m_audioOutput stateChanged signal to outputStateChanged. - connect(m_audioOutput, SIGNAL(stateChanged(QAudio::State)), - SLOT(outputStateChanged(QAudio::State))); -} - -/** - * Inits audio input. - */ -void GuitarTuner::initAudioInput() -{ - // Set up the input format. - m_format_input.setFrequency(DataFrequencyHzInput); - m_format_input.setCodec("audio/pcm"); - m_format_input.setSampleSize(16); - m_format_input.setChannels(1); - m_format_input.setByteOrder(QAudioFormat::LittleEndian); - m_format_input.setSampleType(QAudioFormat::SignedInt); - - // Obtain a default input device, and if the format is not - // supported, find the nearest format available. - QAudioDeviceInfo inputDeviceInfo( - QAudioDeviceInfo::defaultInputDevice()); - if (!inputDeviceInfo.isFormatSupported(m_format_input)) { - m_format_input = inputDeviceInfo.nearestFormat(m_format_input); - } - - // Create new QAudioInput and VoiceAnalyzer instances, and store - // them in m_audioInput and m_analyzer, respectively. - // Remember to set the cut-off percentage for voice analyzer. - m_audioInput = new QAudioInput(inputDeviceInfo, m_format_input, this); - m_analyzer = new VoiceAnalyzer(m_format_input, this); - m_analyzer->setCutOffPercentage(qmlObject->property("sensitivity").toReal()); - -} - -/** - * Receives a mode changed signal. - */ -void GuitarTuner::modeChanged(bool isInput) -{ - - - - // If the mode must be changed to input mode: - if (isInput) { - - // Stop audio output and audio generator. - m_audioOutput->stop(); - m_voicegenerator->stop(); - // Start the audio analyzer and then the audio input. - m_analyzer->start(qmlObject->property("frequency").toReal()); - m_audioInput->start(m_analyzer); - - } - // Else: - else { - - // Stop audio input and audio analyzer. - m_audioInput->stop(); - m_analyzer->stop(); - - // Set up the audio output. - - // If the current frequency of voice generator - // is not the same as the target frequency selected in the UI, - // update voice generator's frequency. - if (m_voicegenerator->frequency() != qmlObject->property("frequency").toReal()) { - m_voicegenerator->setFrequency(qmlObject->property("frequency").toReal()); - } - - // Start the voice generator and then the audio output. - m_voicegenerator->start(); - m_audioOutput->start(m_voicegenerator); - // Call setMaxVolumeLevel(1) to set the maximum volume louder. - setMaxVolumeLevel(qmlObject->property("volume").toReal()); - - // If the voice is muted, the voice is suspended - // in the outputStateChanged slot. - - } -} - -/** - * Receives a output state changed signal. - * Suspends the audio output, if the state is ActiveState - * and the voice is muted. - */ -void GuitarTuner::outputStateChanged(QAudio::State state) -{ - if (QAudio::ActiveState == state && qmlObject->property("isMuted").toBool()) { - // If the voice is muted, suspend the voice. - m_audioOutput->suspend(); - } -} - -/** - * Receives a mute state changed signal. - * Suspends the audio output or resumes it, depending of the - * isMuted parameter. - */ -void GuitarTuner::muteStateChanged(bool isMuted) -{ - if (isMuted) { - m_audioOutput->suspend(); - } - else { - m_audioOutput->resume(); - } -} - -/** - * Receives a target frequency signal. - */ -void GuitarTuner::targetFrequencyChanged(qreal targetFrequency) -{ - // If the output mode is active: - if (!qmlObject->property("isInput").toBool()) { - // Stop the audio output and voice generator. - m_audioOutput->stop(); - m_voicegenerator->stop(); - // Set the voice generator's frequency to the target frequency. - m_voicegenerator->setFrequency(targetFrequency); - // Start the voice generator and audio output. - m_voicegenerator->start(); - m_audioOutput->start(m_voicegenerator); - // Call setMaxVolumeLevel(1) to set the maximum volume louder. - setMaxVolumeLevel(qmlObject->property("volume").toReal()); - - // If the voice is muted, the voice is suspended - // in the outputStateChanged slot. - - } - // Else: - else { - - // Stop the audio input and voice analyzer. - m_audioInput->stop(); - m_analyzer->stop(); - // Start the voice analyzer with new frequency and audio input. - m_analyzer->start(targetFrequency); - m_audioInput->start(m_analyzer); - - } -} - -/** - * This method provides a hack to set the maximum volume level in - * Symbian. - */ -void GuitarTuner::setMaxVolumeLevel(qreal percent) -{ - if (percent >= 1.0) { - percent = 1.0; - } - else if (percent <= 0.0) { - percent = 0.0; - } - percent = percent*0.5 + 0.5; - // Warning! This is a hack, which can break when the QtMobility - // changes. Use at your own risk. -#ifdef Q_OS_SYMBIAN - unsigned int *pointer_to_abstract_audio - = (unsigned int*)( (unsigned char*)m_audioOutput + 8 ); - unsigned int *dev_sound_wrapper - = (unsigned int*)(*pointer_to_abstract_audio) + 16; - unsigned int *temp - = ((unsigned int*)(*dev_sound_wrapper) + 6); - CMMFDevSound *dev_sound = (CMMFDevSound*)(*temp); - dev_sound->SetVolume((unsigned int) - (percent*(float)dev_sound->MaxVolume())); -#endif -} - -/** - * A function used to lock the orientation. - */ -void GuitarTuner::setOrientation(Orientation orientation) -{ - // TODO: Needs a Qt5 implmentation - Q_UNUSED(orientation) -} diff --git a/examples/mobile/guitartuner/src/guitartuner.h b/examples/mobile/guitartuner/src/guitartuner.h deleted file mode 100644 index a1eff87c..00000000 --- a/examples/mobile/guitartuner/src/guitartuner.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QMainWindow> -#include <QtDeclarative> -#include <QAudioDeviceInfo> -#include <QAudioOutput> -#include <QAudioInput> -#include "voicegenerator.h" -#include "voiceanalyzer.h" - -const int DataFrequencyHzOutput = 44100; -const int DataFrequencyHzInput = 48000; - -#define MAX_INPUT_VALUE 50 -#define MIN_INPUT_VALUE -50 - -class GuitarTuner : public QMainWindow -{ - Q_OBJECT -public: - enum Orientation { - LockPortrait, - LockLandscape, - Auto - }; - explicit GuitarTuner(QWidget *parent = 0); - qreal getVolume(); - qreal getMicrophoneSensitivity(); - bool getMuteState(); - void setOrientation(Orientation orientation); - -signals: - -public slots: - void modeChanged(bool isInput); - void muteStateChanged(bool isMuted); - void targetFrequencyChanged(qreal targetFrequency); - void outputStateChanged(QAudio::State state); - void setMaxVolumeLevel(qreal); - -private: - void initAudioOutput(); - void initAudioInput(); - VoiceGenerator *m_voicegenerator; - VoiceAnalyzer *m_analyzer; - QObject *qmlObject; - QAudioOutput *m_audioOutput; - QAudioInput *m_audioInput; - QAudioFormat m_format_output; - QAudioFormat m_format_input; - QDeclarativeView *m_guitarTunerUI; -}; - -#endif // MAINWINDOW_H diff --git a/examples/mobile/guitartuner/src/guitartuner.rc b/examples/mobile/guitartuner/src/guitartuner.rc deleted file mode 100644 index 5cd35118..00000000 --- a/examples/mobile/guitartuner/src/guitartuner.rc +++ /dev/null @@ -1,23 +0,0 @@ -IDI_ICON1 ICON DISCARDABLE "/../images/guitartuner_icon.ico" - -1 VERSIONINFO -FILEVERSION 1,2,0,0 -PRODUCTVERSION 1,2,0,0 -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "CompanyName", "Nokia Corporation\0" - VALUE "FileDescription", "Qt Quick example application.\0" - VALUE "FileVersion", "1.2.0\0" - VALUE "LegalCopyright", "Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)." - VALUE "ProductName", "Guitar Tuner\0" - VALUE "ProductVersion", "1.2.0\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END diff --git a/examples/mobile/guitartuner/src/guitartuner.ui b/examples/mobile/guitartuner/src/guitartuner.ui deleted file mode 100644 index 36ee1bd8..00000000 --- a/examples/mobile/guitartuner/src/guitartuner.ui +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>GuitarTuner</class> - <widget class="QWidget" name="GuitarTuner"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>187</width> - <height>279</height> - </rect> - </property> - <property name="windowTitle"> - <string>GuitarTuner</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="tabulatorIcon"> - <property name="text"> - <string notr="true"/> - </property> - <property name="pixmap"> - <pixmap resource="../guitartuner.qrc">:/images/guitartab.svg</pixmap> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="correctSoundSlider"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <property name="minimum"> - <number>-50</number> - </property> - <property name="maximum"> - <number>50</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition"> - <enum>QSlider::TicksAbove</enum> - </property> - <property name="tickInterval"> - <number>50</number> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QToolButton" name="buttonPrev"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - <property name="arrowType"> - <enum>Qt::LeftArrow</enum> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="noteLabel"> - <property name="text"> - <string>A</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="buttonNext"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - <property name="autoRaise"> - <bool>false</bool> - </property> - <property name="arrowType"> - <enum>Qt::RightArrow</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QPushButton" name="modeButton"> - <property name="text"> - <string>Change mode</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QSlider" name="soundSlider"> - <property name="value"> - <number>65</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="soundButton"> - <property name="text"> - <string>...</string> - </property> - <property name="icon"> - <iconset resource="../guitartuner.qrc"> - <normaloff>:/images/note.svg</normaloff> - <normalon>:/images/noteNo.svg</normalon> - <activeon>:/images/noteNo.svg</activeon>:/images/note.svg</iconset> - </property> - <property name="iconSize"> - <size> - <width>30</width> - <height>30</height> - </size> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="autoRaise"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="micSensitivityLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>microphone -sensitivity</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <layoutdefault spacing="6" margin="11"/> - <resources> - <include location="../guitartuner.qrc"/> - </resources> - <connections/> -</ui> diff --git a/examples/mobile/guitartuner/src/guitartunerui.cpp b/examples/mobile/guitartuner/src/guitartunerui.cpp deleted file mode 100644 index b0263ba9..00000000 --- a/examples/mobile/guitartuner/src/guitartunerui.cpp +++ /dev/null @@ -1,342 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QTimer> - -#include "guitartunerui.h" -#include "ui_guitartunerui.h" - -GuitarTunerUI::GuitarTunerUI(QWidget *parent) : - QWidget(parent), - ui(new Ui::GuitarTunerUI), - m_maximumPrecision(0) -{ - ui->setupUi(this); - - // Set up the class attributes to proper values. - m_outputActive = false; - m_muted = false; - m_outputVolumeLevel = getVolumeFromSoundSlider(); - m_inputVolumeLevel = 1.0 - m_outputVolumeLevel; - - // Set up the current tone, the frequency, and the name for it. - m_currentToneIndex = 5; - updateFrequencyByToneIndex(m_currentToneIndex); - - // Connect the signals from UI into proper slots. - connect(ui->soundSlider, SIGNAL(valueChanged(int)), - SLOT(changeVolume())); - connect(ui->soundButton, SIGNAL(toggled(bool)), - SLOT(toggleSound(bool))); - connect(ui->modeButton, SIGNAL(clicked()), - SLOT(toggleInputOrOutput())); - connect(ui->buttonNext, SIGNAL(clicked()), SLOT(next())); - connect(ui->buttonPrev, SIGNAL(clicked()), SLOT(prev())); - - // Initialise up the UI by calling toggleInputOrOutput - // for the first time. - toggleInputOrOutput(); -} - -GuitarTunerUI::~GuitarTunerUI() -{ - delete ui; -} - -void GuitarTunerUI::changeEvent(QEvent *e) -{ - QWidget::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } -} - -/** - * Returns a value from 0 to 1, representing the volume. - */ -qreal GuitarTunerUI::getVolumeFromSoundSlider() const -{ - qreal value = ui->soundSlider->value(); - return value/ui->soundSlider->maximum(); -} - -/** - * Updates the m_currentToneFrequency and m_currentToneString, - * according to the given index. Also updates the UI. - */ -void GuitarTunerUI::updateFrequencyByToneIndex(int index) -{ - - switch (index) { - case 0: { - m_currentToneFrequency = FrequencyE; - m_currentToneString = "E"; - break; - } - case 1: { - m_currentToneFrequency = FrequencyA; - m_currentToneString = "A"; - break; - } - case 2: { - m_currentToneFrequency = FrequencyD; - m_currentToneString = "D"; - break; - } - case 3: { - m_currentToneFrequency = FrequencyG; - m_currentToneString = "G"; - break; - } - case 4: { - m_currentToneFrequency = FrequencyB; - m_currentToneString = "B"; - break; - } - case 5: { - m_currentToneFrequency = FrequencyE2; - m_currentToneString = "e"; - break; - } - default: { - qDebug() << "invalid index!" << index; - } - } - // Set the noteLabel text according to the current tone. - ui->noteLabel->setText(m_currentToneString); -} - -/** - * Returns the volume. - */ -qreal GuitarTunerUI::getVolume() const -{ - return m_outputVolumeLevel; -} - -/** - * Returns true if the sound is muted. - */ -bool GuitarTunerUI::getMuteState() const -{ - return m_muted; -} - - -/** - * Returns the microphone sensitivity. - */ -qreal GuitarTunerUI::getMicrophoneSensitivity() const -{ - return m_inputVolumeLevel; -} - -/** - * Returns whether the input mode is active. - */ -bool GuitarTunerUI::isInputModeActive() const -{ - return !m_outputActive; -} - -/** - * Returns the current target frequency. - */ -qreal GuitarTunerUI::getFrequency() const -{ - return m_currentToneFrequency; -} - -/** - * Toggles the sound according to the parameter. - * Has no effect if output is not active. - */ -void GuitarTunerUI::toggleSound(bool noSound) -{ - if (!m_outputActive) { - return; - } - m_muted = noSound; - emit muteChanged(m_muted); -} - -/** - * Changes the volume or microphone sensitivity. - */ -void GuitarTunerUI::changeVolume() -{ - qreal resultingAmplitude = getVolumeFromSoundSlider(); - qDebug() << "resultingAmplitude" << resultingAmplitude; - if (m_outputActive) { - m_outputVolumeLevel = resultingAmplitude; - emit volumeChanged(resultingAmplitude); - } - else { - m_inputVolumeLevel = resultingAmplitude; - emit microphoneSensitivityChanged(1.0-resultingAmplitude); - } -} - -/** - * Toggles input or output, depending of the current state. - */ -void GuitarTunerUI::toggleInputOrOutput() -{ - // If output mode is active: - if (m_outputActive) { - // Change UI to correspond to the input mode. - m_outputActive = false; - ui->soundSlider->setValue(m_inputVolumeLevel*100); - ui->soundButton->setDisabled(true); - ui->soundButton->hide(); - ui->micSensitivityLabel->show(); - emit modeChanged(true); - ui->modeButton->setText("To tone mode"); - } - // Else: - else { - // Change UI to correspond to the output mode. - m_outputActive = true; - ui->soundSlider->setValue(m_outputVolumeLevel*100); - ui->soundButton->setDisabled(false); - ui->micSensitivityLabel->hide(); - ui->soundButton->show(); - emit modeChanged(false); - ui->modeButton->setText("To listen mode"); - } -} - -/** - * Receives the low voice signal. - */ -void GuitarTunerUI::lowVoice() -{ - if (ui->noteLabel->font().bold()) { - QFont font; - font.setBold(false); - font.setUnderline(false); - ui->noteLabel->setFont(font); - } -} - -/** - * Receives the voice difference signal. - * The difference is qreal, where increase of 1 corresponds - * to increase of 1 tone to the target frequency. - */ -void GuitarTunerUI::voiceDifference(qreal difference) -{ - if (ui->noteLabel->font().bold()) { - QFont font; - font.setBold(false); - font.setUnderline(false); - ui->noteLabel->setFont(font); - } - ui->correctSoundSlider->setValue(difference*m_maximumPrecision); -} - -/** - * Receives the correct frequency signal. - * Makes the UI to visualize correct frequency event. - */ -void GuitarTunerUI::correctFrequencyObtained() -{ - qDebug() << "CORRECT FREQUENCY"; - QFont font; - font.setBold(true); - font.setUnderline(true); - ui->noteLabel->setFont(font); -} - -/** - * Sets up the maximum voice difference. - */ -void GuitarTunerUI::setMaximumVoiceDifference(int max) -{ - // Assert that the maximum precision is known. - Q_ASSERT(m_maximumPrecision != 0); - // Set the maximum and minimum values of the correctSoundSlider - // to the +- max*m_maximumPrecision, and set the tick interval - // to be m_maximumPrecision. - ui->correctSoundSlider->setMaximum(max*m_maximumPrecision); - ui->correctSoundSlider->setMinimum(-max*m_maximumPrecision); - ui->correctSoundSlider->setTickInterval(max*m_maximumPrecision); -} - -/** - * Stores the maximum precision per note. Used to setup the - * correct sound slider. - */ -void GuitarTunerUI::setMaximumPrecisionPerNote(int max) -{ - m_maximumPrecision = max; -} - -/** - * Changes the tone to the next value. - */ -void GuitarTunerUI::next() -{ - changeTone((m_currentToneIndex + 1) % 6); -} - -/** - * Changes the tone to the previous value. - */ -void GuitarTunerUI::prev() -{ - changeTone((m_currentToneIndex + 5) % 6); -} - -/** - * Changes the tone according to the new index. - */ -void GuitarTunerUI::changeTone(int newIndex) -{ - m_currentToneIndex = newIndex; - updateFrequencyByToneIndex(m_currentToneIndex); - qDebug() << "targetFrequencyChanged" << m_currentToneFrequency; - emit targetFrequencyChanged(m_currentToneFrequency); -} diff --git a/examples/mobile/guitartuner/src/guitartunerui.h b/examples/mobile/guitartuner/src/guitartunerui.h deleted file mode 100644 index f87015b0..00000000 --- a/examples/mobile/guitartuner/src/guitartunerui.h +++ /dev/null @@ -1,112 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GUITARTUNERUI_H -#define GUITARTUNERUI_H - -#include <QWidget> -#include <QDebug> - -namespace Ui { - class GuitarTunerUI; -} - -const qreal FrequencyE = 82.407; -const qreal FrequencyA = 110.00; -const qreal FrequencyD = 146.83; -const qreal FrequencyG = 196.00; -const qreal FrequencyB = 246.94; -const qreal FrequencyE2 = 329.63; - -class GuitarTunerUI : public QWidget -{ - Q_OBJECT - -public: - explicit GuitarTunerUI(QWidget *parent = 0); - ~GuitarTunerUI(); - - qreal getVolume() const; - bool getMuteState() const; - qreal getMicrophoneSensitivity() const; - bool isInputModeActive() const; - qreal getFrequency() const; - int getScaleMaximumValue() const; - void setMaximumVoiceDifference(int max); - void setMaximumPrecisionPerNote(int max); - -public slots: - void toggleSound(bool off); - void next(); - void prev(); - void changeVolume(); - void toggleInputOrOutput(); - - void lowVoice(); - void voiceDifference(qreal difference); - void correctFrequencyObtained(); - -signals: - void modeChanged(bool isInput); - void volumeChanged(qreal volume); - void microphoneSensitivityChanged(qreal sensitivity); - void muteChanged(bool isMuted); - void targetFrequencyChanged(qreal targetFrequency); - -protected: - void changeEvent(QEvent *e); - -private: - Ui::GuitarTunerUI *ui; - void changeTone(int newIndex); - qreal getVolumeFromSoundSlider() const; - int m_currentToneIndex; - QString m_currentToneString; - qreal m_currentToneFrequency; - void updateFrequencyByToneIndex(int index); - bool m_outputActive; - bool m_muted; - qreal m_outputVolumeLevel; - qreal m_inputVolumeLevel; - int m_maximumPrecision; -}; - -#endif // GUITARTUNERUI_H diff --git a/examples/mobile/guitartuner/src/guitartunerui.ui b/examples/mobile/guitartuner/src/guitartunerui.ui deleted file mode 100644 index af7b585b..00000000 --- a/examples/mobile/guitartuner/src/guitartunerui.ui +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>GuitarTunerUI</class> - <widget class="QWidget" name="GuitarTunerUI"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>187</width> - <height>279</height> - </rect> - </property> - <property name="windowTitle"> - <string>GuitarTunerUI</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="tabulatorIcon"> - <property name="text"> - <string notr="true"/> - </property> - <property name="pixmap"> - <pixmap resource="../GuitarTuner.qrc">:/images/guitartab.svg</pixmap> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QSlider" name="correctSoundSlider"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="autoFillBackground"> - <bool>false</bool> - </property> - <property name="minimum"> - <number>-50</number> - </property> - <property name="maximum"> - <number>50</number> - </property> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="tickPosition"> - <enum>QSlider::TicksAbove</enum> - </property> - <property name="tickInterval"> - <number>50</number> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="QToolButton" name="buttonPrev"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - <property name="arrowType"> - <enum>Qt::LeftArrow</enum> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="noteLabel"> - <property name="text"> - <string>A</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="buttonNext"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>...</string> - </property> - <property name="autoRaise"> - <bool>false</bool> - </property> - <property name="arrowType"> - <enum>Qt::RightArrow</enum> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QPushButton" name="modeButton"> - <property name="text"> - <string>Change mode</string> - </property> - </widget> - </item> - <item> - <widget class="Line" name="line"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QSlider" name="soundSlider"> - <property name="value"> - <number>65</number> - </property> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - </widget> - </item> - <item> - <widget class="QToolButton" name="soundButton"> - <property name="text"> - <string>...</string> - </property> - <property name="icon"> - <iconset resource="../GuitarTuner.qrc"> - <normaloff>:/images/note.svg</normaloff> - <normalon>:/images/noteNo.svg</normalon> - <activeon>:/images/noteNo.svg</activeon>:/images/note.svg</iconset> - </property> - <property name="iconSize"> - <size> - <width>30</width> - <height>30</height> - </size> - </property> - <property name="checkable"> - <bool>true</bool> - </property> - <property name="autoRaise"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="micSensitivityLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>microphone -sensitivity</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - <layoutdefault spacing="6" margin="11"/> - <resources> - <include location="../GuitarTuner.qrc"/> - </resources> - <connections/> -</ui> diff --git a/examples/mobile/guitartuner/src/main.cpp b/examples/mobile/guitartuner/src/main.cpp deleted file mode 100644 index eb188fe4..00000000 --- a/examples/mobile/guitartuner/src/main.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtWidgets/QApplication> -#include "guitartuner.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - GuitarTuner w; - w.setOrientation(GuitarTuner::LockPortrait); - -#ifdef Q_OS_SYMBIAN - w.showFullScreen(); -#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_MAEMO_6) - w.showMaximized(); -#else - w.show(); -#endif - - return a.exec(); -} - diff --git a/examples/mobile/guitartuner/src/mycomponents/Adjuster.qml b/examples/mobile/guitartuner/src/mycomponents/Adjuster.qml deleted file mode 100644 index 23f41fed..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/Adjuster.qml +++ /dev/null @@ -1,132 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import "adjustbars.js" as AdjustBars - -/* A barchart-like adjuster component. */ -Rectangle { - id: adjuster - - property real max: 100 - property real value: 0 - property bool created: false - - signal valueChanged(real value) - signal focusChangedByClick() - signal arrowPressedWhenValueOverLimits() - - function setValue(pValue) { - value = pValue; - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - valueChanged(value); - } - - height: 60; width: 300 - color: "transparent" - Keys.onRightPressed: { - var val = value+max/AdjustBars.maxBars; - if (val <= max) { - value = val; - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - valueChanged(value); - } - else { - arrowPressedWhenValueOverLimits() - } - } - Keys.onLeftPressed: { - var val = value-max/AdjustBars.maxBars; - if (0 <= val) { - value = val; - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - valueChanged(value); - } - else { - arrowPressedWhenValueOverLimits() - } - } - Component.onCompleted: { - AdjustBars.createBars(); - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - created = true; - } - Component.onDestruction: { - AdjustBars.destroyBars; - } - //Dynamic objects have to be recreated when the window size changes. - onWidthChanged: { - if (created) { - AdjustBars.destroyBars(); - AdjustBars.createBars(); - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - } - } - onHeightChanged: { - if (created) { - AdjustBars.destroyBars(); - AdjustBars.createBars(); - AdjustBars.fillBars(value/max*AdjustBars.maxBars); - } - } - - MouseArea { - anchors.fill: parent - onPositionChanged: { - focusChangedByClick(); - var val = mouse.x/parent.width*parent.max; - if (0 < val && val < max) { - parent.value = val; - AdjustBars.fillBars(parent.value/parent.max*AdjustBars.maxBars); - valueChanged(parent.value); - } - } - onClicked: { - focusChangedByClick(); - var val = mouse.x/parent.width*parent.max; - if (0 < val && val < max) { - parent.value = val; - AdjustBars.fillBars(parent.value/parent.max*AdjustBars.maxBars); - valueChanged(parent.value); - } - } - } -} diff --git a/examples/mobile/guitartuner/src/mycomponents/Meter.qml b/examples/mobile/guitartuner/src/mycomponents/Meter.qml deleted file mode 100644 index 235cf46f..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/Meter.qml +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/* A meter component. */ -Rectangle { - id: meter - - property real value: 0 - property real minValue: -1 - property real maxValue: 1 - property alias imageSize: meterImage.sourceSize - - function valueChanged(pValue) { - value = pValue; - scaleValueToAngle(); - } - function scaleValueToAngle() { - pointer.angle = (((value-minValue)/(maxValue-minValue))* - (pointer.angleMax-pointer.angleMin))+ - pointer.angleMin; - } - - color: "transparent" - - Image { - id: meterImage - - smooth: true - source: "./images/meterBG.png" - anchors.fill: parent - } - - Image { - id:pointerShadow - - x: pointer.x - 2 - y: pointer.y - 2 - height: pointer.height - smooth: true - source: "./images/pointerShadow.png" - transform: Rotation { - origin.x: 2 - origin.y: height - angle: -pointer.angle - } - } - - Image { - id: pointer - - property real angle: 0 - property real angleMax: -45 - property real angleMin: 45 - - height: parent.height*0.92 - transformOrigin: "Bottom" - rotation: -angle - smooth: true - source: "./images/pointer.png" - anchors { - bottomMargin: 2 - bottom: parent.bottom; - horizontalCenter: parent.horizontalCenter - } - - Behavior on angle { - SpringAnimation { - spring: 1.4 - damping: 0.15 - } - } - } -} diff --git a/examples/mobile/guitartuner/src/mycomponents/NoteButtonView.qml b/examples/mobile/guitartuner/src/mycomponents/NoteButtonView.qml deleted file mode 100644 index 6936baf2..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/NoteButtonView.qml +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/* A view component for buttons for choosing notes. */ -ListView { - id: noteChooser - - property real currentFrequency: 82.407 - - signal noteSelected(string note, real frequency, int index) - - //Press down the button corresponding to the given note. - function pushButton(index) { - currentIndex = index; - } - - width: 50*model.count + spacing*(model.count-1); height: 50 - orientation: ListView.Horizontal - model: NotesModel {} - delegate: notesDelegate - keyNavigationWraps: true - boundsBehavior: Flickable.StopAtBounds - - Component { - id: notesDelegate - - ToggleButton { - id: noteButton - - width: height; height: noteChooser.height - offImageSource: offSource - onImageSource: onSource - state: noteButton.ListView.isCurrentItem ? "pressed" : "unPressed" - onSelected: { - noteChooser.noteSelected(note, frequency, index) - if (note != "Auto") { - currentFrequency = frequency - } - } - onPushed: { - noteButton.ListView.view.currentIndex = index - } - } - } -} diff --git a/examples/mobile/guitartuner/src/mycomponents/NotesModel.qml b/examples/mobile/guitartuner/src/mycomponents/NotesModel.qml deleted file mode 100644 index 6a395bbe..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/NotesModel.qml +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/* The model component for the NoteButtonView. */ -ListModel { - ListElement { - note: "E" - offSource: "./images/tuner_e.png" - onSource: "./images/tuner_e_on.png" - bigSource: "./mycomponents/images/big_e.png" - glowSource: "./mycomponents/images/glowing_e.png" - frequency: "82.407" - interval: "5" - } - ListElement { - note: "A" - offSource: "./images/tuner_a.png" - onSource: "./images/tuner_a_on.png" - bigSource: "./mycomponents/images/big_a.png" - glowSource: "./mycomponents/images/glowing_a.png" - frequency: "110.00" - interval: "5" - } - ListElement { - note: "D" - offSource: "./images/tuner_d.png" - onSource: "./images/tuner_d_on.png" - bigSource: "./mycomponents/images/big_d.png" - glowSource: "./mycomponents/images/glowing_d.png" - frequency: "146.83" - interval: "5" - } - ListElement { - note: "G" - offSource: "./images/tuner_g.png" - onSource: "./images/tuner_g_on.png" - bigSource: "./mycomponents/images/big_g.png" - glowSource: "./mycomponents/images/glowing_g.png" - frequency: "196.00" - interval: "4" - } - ListElement { - note: "B" - offSource: "./images/tuner_b.png" - onSource: "./images/tuner_b_on.png" - bigSource: "./mycomponents/images/big_b.png" - glowSource: "./mycomponents/images/glowing_b.png" - frequency: "246.94" - interval: "5" - } - ListElement { - note: "e" - offSource: "./images/tuner_e.png" - onSource: "./images/tuner_e_on.png" - bigSource: "./mycomponents/images/big_e.png" - glowSource: "./mycomponents/images/glowing_e.png" - frequency: "329.63" - interval: "9999" //Big enough that we can't move over this note - } - ListElement { - note: "Auto" - offSource: "./images/tuner_auto.png" - onSource: "./images/tuner_auto_on.png" - frequency: "82.407" - } -} diff --git a/examples/mobile/guitartuner/src/mycomponents/ToggleButton.qml b/examples/mobile/guitartuner/src/mycomponents/ToggleButton.qml deleted file mode 100644 index 4922d897..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/ToggleButton.qml +++ /dev/null @@ -1,111 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -/* A toggle button component. */ -Rectangle { - id: toggleButton - - property url offImageSource: "" - property url onImageSource: "" - property alias imageSource: buttonImage.source - - signal selected() - signal pushed() - - color: "transparent" - state: "unPressed" - onStateChanged: { - if (state == "pressed") { - selected() - } - } - - Image { - id: buttonImage - - smooth: true - anchors.fill: parent - } - MouseArea { - id: mouseArea - - anchors.fill: parent - onPressed: { - if (parent.state == "unPressed") { - pushed() - } - } - } - - states: [ - State { - name: "pressed" - PropertyChanges { - target: toggleButton - scale: 0.95 - imageSource: onImageSource - } - }, - State { - name: "unPressed" - PropertyChanges { - target: toggleButton - scale: 1/0.95 - imageSource: offImageSource - } - } - ] - - transitions: [ - Transition { - from: "unPressed" - to: "pressed" - reversible: true - PropertyAnimation { - target: toggleButton - properties: "scale" - duration: 100 - } - } - ] -} diff --git a/examples/mobile/guitartuner/src/mycomponents/adjustbars.js b/examples/mobile/guitartuner/src/mycomponents/adjustbars.js deleted file mode 100644 index 2ff7db25..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/adjustbars.js +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/* JavaScript functions for creating, handling and - * destroying the bars of the adjuster component. */ - -var maxBars = 10; -var firstBarHeight = 5; -var bars = new Array(maxBars); -var colors = new Array(maxBars); -var barWidthFactor = 2.3; - -function createBars() { - var barWidth = adjuster.width/maxBars/barWidthFactor; - for (var i = 1; i <= maxBars; i++) { - //Create, configure and store the bars. - var bar = Qt.createQmlObject('import QtQuick 1.0; Rectangle {smooth: true}', adjuster, "dynamicBar"); - bar.width = barWidth; - bar.height = firstBarHeight+(i/maxBars)*(adjuster.height*0.8-firstBarHeight); - bar.radius = bar.width/2; - bar.x = (i-1)*(barWidthFactor*barWidth); - bar.y = adjuster.height/2 - bar.height/2; - bars[i-1] = bar; - - //Calculate and store the colors - if (i < maxBars/2) { - colors[i-1] = Qt.rgba(1-i/(maxBars/2), 1, 1-i/(maxBars/2), i); - } - else { - colors[i-1] = Qt.rgba((i-(maxBars/2))/(maxBars/2), 1-((i-(maxBars/2))/(maxBars/2)), 0, i); - } - } -} - -function destroyBars() { - for (var i = 0; i < maxBars; i++) { - bars[i].color = "transparent" //Colors must be set to transparent or otherwise the bars will stay appeared. - bars[i].destroy(); - } -} - -function fillBars(barNumber) { - //Set the color for the bars (transparent from the selected bar to the end). - for (var i = 0; i < maxBars; i++) { - if (i < barNumber) { - bars[i].color = colors[i]; - } - else { - bars[i].color = "black"; - } - } -} diff --git a/examples/mobile/guitartuner/src/mycomponents/images/big_a.png b/examples/mobile/guitartuner/src/mycomponents/images/big_a.png Binary files differdeleted file mode 100644 index 3838e766..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/big_a.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/big_b.png b/examples/mobile/guitartuner/src/mycomponents/images/big_b.png Binary files differdeleted file mode 100644 index 114b32d3..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/big_b.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/big_d.png b/examples/mobile/guitartuner/src/mycomponents/images/big_d.png Binary files differdeleted file mode 100644 index 3ede9f0f..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/big_d.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/big_e.png b/examples/mobile/guitartuner/src/mycomponents/images/big_e.png Binary files differdeleted file mode 100644 index cc1f4885..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/big_e.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/big_g.png b/examples/mobile/guitartuner/src/mycomponents/images/big_g.png Binary files differdeleted file mode 100644 index 804177b3..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/big_g.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/glowing_a.png b/examples/mobile/guitartuner/src/mycomponents/images/glowing_a.png Binary files differdeleted file mode 100644 index b6fd0e20..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/glowing_a.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/glowing_b.png b/examples/mobile/guitartuner/src/mycomponents/images/glowing_b.png Binary files differdeleted file mode 100644 index b5fa016a..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/glowing_b.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/glowing_d.png b/examples/mobile/guitartuner/src/mycomponents/images/glowing_d.png Binary files differdeleted file mode 100644 index 32f1a291..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/glowing_d.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/glowing_e.png b/examples/mobile/guitartuner/src/mycomponents/images/glowing_e.png Binary files differdeleted file mode 100644 index 4be9f2a7..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/glowing_e.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/glowing_g.png b/examples/mobile/guitartuner/src/mycomponents/images/glowing_g.png Binary files differdeleted file mode 100644 index 4216d828..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/glowing_g.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_malli.png b/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_malli.png Binary files differdeleted file mode 100644 index dbe3fc79..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_malli.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_skin.png b/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_skin.png Binary files differdeleted file mode 100644 index 5d53df9b..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/guitartuner_skin.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/lcdFrame.png b/examples/mobile/guitartuner/src/mycomponents/images/lcdFrame.png Binary files differdeleted file mode 100644 index ff8dffc6..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/lcdFrame.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/meterBG.png b/examples/mobile/guitartuner/src/mycomponents/images/meterBG.png Binary files differdeleted file mode 100644 index 4046355c..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/meterBG.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/mute.png b/examples/mobile/guitartuner/src/mycomponents/images/mute.png Binary files differdeleted file mode 100644 index 382e6047..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/mute.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/pointer.png b/examples/mobile/guitartuner/src/mycomponents/images/pointer.png Binary files differdeleted file mode 100644 index d0cb21b8..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/pointer.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/pointerShadow.png b/examples/mobile/guitartuner/src/mycomponents/images/pointerShadow.png Binary files differdeleted file mode 100644 index a7086391..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/pointerShadow.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/power.png b/examples/mobile/guitartuner/src/mycomponents/images/power.png Binary files differdeleted file mode 100644 index 8ec0c5ce..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/power.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/quit.png b/examples/mobile/guitartuner/src/mycomponents/images/quit.png Binary files differdeleted file mode 100644 index 2a9443ec..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/quit.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/sensitivity.png b/examples/mobile/guitartuner/src/mycomponents/images/sensitivity.png Binary files differdeleted file mode 100644 index c3d2ea31..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/sensitivity.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_a.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_a.png Binary files differdeleted file mode 100644 index a1823e59..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_a.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_a_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_a_on.png Binary files differdeleted file mode 100644 index 7c78cbd8..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_a_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto.png Binary files differdeleted file mode 100644 index b9e494bd..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto_on.png Binary files differdeleted file mode 100644 index d5608d85..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_auto_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_b.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_b.png Binary files differdeleted file mode 100644 index 94977f87..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_b.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_b_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_b_on.png Binary files differdeleted file mode 100644 index 78841dc0..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_b_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_d.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_d.png Binary files differdeleted file mode 100644 index 293ee55a..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_d.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_d_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_d_on.png Binary files differdeleted file mode 100644 index 705de41d..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_d_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_e.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_e.png Binary files differdeleted file mode 100644 index 569d2c65..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_e.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_e_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_e_on.png Binary files differdeleted file mode 100644 index 1342a914..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_e_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_g.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_g.png Binary files differdeleted file mode 100644 index a8f0de57..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_g.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/tuner_g_on.png b/examples/mobile/guitartuner/src/mycomponents/images/tuner_g_on.png Binary files differdeleted file mode 100644 index 6fdca419..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/tuner_g_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/voicemode_off.png b/examples/mobile/guitartuner/src/mycomponents/images/voicemode_off.png Binary files differdeleted file mode 100644 index 0701dd34..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/voicemode_off.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/voicemode_on.png b/examples/mobile/guitartuner/src/mycomponents/images/voicemode_on.png Binary files differdeleted file mode 100644 index 986d589a..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/voicemode_on.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/volume.png b/examples/mobile/guitartuner/src/mycomponents/images/volume.png Binary files differdeleted file mode 100644 index 46fdb7fa..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/volume.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/mycomponents/images/volume_off.png b/examples/mobile/guitartuner/src/mycomponents/images/volume_off.png Binary files differdeleted file mode 100644 index a97e4224..00000000 --- a/examples/mobile/guitartuner/src/mycomponents/images/volume_off.png +++ /dev/null diff --git a/examples/mobile/guitartuner/src/voiceanalyzer.cpp b/examples/mobile/guitartuner/src/voiceanalyzer.cpp deleted file mode 100644 index d53b5ebb..00000000 --- a/examples/mobile/guitartuner/src/voiceanalyzer.cpp +++ /dev/null @@ -1,296 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "voiceanalyzer.h" - -/** - * Constant used to scale the cut-off density for the fft helper. - */ -const static float CutOffScaler = 0.05; - -/** - * Force the precision to be "1/PrecisionPerNote" notes - * near the target frequency. - */ -const static int PrecisionPerNote = 4; - -/** - * TargetFrequencyParameter is a constant which implies the index at - * which corresponds to the target frequency. - * 0.5 * N * 1/TargetFrequencyParameter is (about) the index which - * corresponds to the given target frequency. - * Effectively TargetFrequencyParameter = 2^z, and the z*TargetFrequency - * is the maximum frequency that can be noticed. - */ -const static int TargetFrequencyParameter = 4; - - -VoiceAnalyzer::VoiceAnalyzer(const QAudioFormat &format, QObject *parent): - QIODevice(parent), - m_format(format), - m_frequency(0), - m_position(0), - m_fftHelper(new FastFourierTransformer(this)) -{ - Q_ASSERT(qFuzzyCompare(M_SAMPLE_COUNT_MULTIPLIER, - float(2)/(M_TWELTH_ROOT_OF_2 -1.0))); - m_totalSampleCount = qRound(qreal(PrecisionPerNote) - *TargetFrequencyParameter - *M_SAMPLE_COUNT_MULTIPLIER); - m_samples.reserve(m_totalSampleCount); - int i = 2; - int j = 1; - for (; i < TargetFrequencyParameter; i *= 2) { - j++; - } - m_maximumVoiceDifference = j*12; - - setCutOffPercentage(CutOffScaler); -} - -/** - * Opens the parent QIODevice. Sets up the analysation parameters. - */ -void VoiceAnalyzer::start(qreal frequency) -{ - m_stepSize = (qreal) 1.0 * m_format.sampleRate() - / (TargetFrequencyParameter*2*frequency); - m_frequency = frequency; - open(QIODevice::WriteOnly); -} - -/** - * Closes the parent QIODevice, thus the voice is not analysed anymore. - * Resets the m_samples QList. - */ -void VoiceAnalyzer::stop() -{ - m_samples.clear(); - m_samples.reserve(m_totalSampleCount); - close(); -} - -/** - * Called when data is obtained. Stores each m_stepSize sample - * into a QList to be analysed. - */ -qint64 VoiceAnalyzer::writeData(const char *data, qint64 maxlen) -{ - const int channelBytes = m_format.sampleSize() / 8; - int sampleSize = m_format.channels() * channelBytes; - int m_stepSizeInBytes = m_stepSize*sampleSize; - // assert that each sample fits fully into the data - Q_ASSERT((m_position % sampleSize)==0); - const uchar *ptr = reinterpret_cast<const uchar *>(data); - while (m_position < maxlen) { - if (m_samples.size() < m_totalSampleCount) { - m_samples.append(getValueInt16(ptr+m_position)); - } - else { - analyzeVoice(); - m_samples.clear(); - m_samples.reserve(m_totalSampleCount); - // fast forward position to the first position after maxlen or to the maxlen - m_position += ((m_stepSizeInBytes - 1 + maxlen - m_position) / - m_stepSizeInBytes) * m_stepSizeInBytes; - break; - } - m_position += m_stepSizeInBytes; - } - m_position -= maxlen; - return maxlen; -} - -/** - * Interprets ptr as a pointer to int value and returns it. - */ -qint16 VoiceAnalyzer::getValueInt16(const uchar *ptr) -{ - qint16 realValue = 0; - if (m_format.sampleSize() == 8) - { - const qint16 value = *reinterpret_cast<const quint8*>(ptr); - if (m_format.sampleType() == QAudioFormat::UnSignedInt) { - realValue = value - M_MAX_AMPLITUDE_8BIT_SIGNED - 1; - } else if (m_format.sampleType() == QAudioFormat::SignedInt) { - realValue = value; - } - } else if (m_format.sampleSize() == 16) { - qint16 value = 0; - if (m_format.byteOrder() == QAudioFormat::LittleEndian) - value = qFromLittleEndian<quint16>(ptr); - else - value = qFromBigEndian<quint16>(ptr); - - if (m_format.sampleType() == QAudioFormat::UnSignedInt) { - realValue = value - M_MAX_AMPLITUDE_16BIT_SIGNED; - } else if (m_format.sampleType() == QAudioFormat::SignedInt) { - realValue = value; - } - } - return realValue; -} - -/** - * Takes a number between 0 and 1, scales it with CutOffScaler, - * multiplies it with maximum density, and then gives it - * to the fft helper. - */ -void VoiceAnalyzer::setCutOffPercentage(qreal cutoff) -{ - cutoff = CutOffScaler*cutoff; - if (m_format.sampleSize() == 8) { - float t = cutoff*m_totalSampleCount*M_MAX_AMPLITUDE_8BIT_SIGNED; - m_fftHelper->setCutOffForDensity(t); - } - else if (m_format.sampleSize() == 16) { - float t = cutoff*m_totalSampleCount*M_MAX_AMPLITUDE_16BIT_SIGNED; - m_fftHelper->setCutOffForDensity(t); - } -} - -/** - * Returns the current target frequency. - */ -qreal VoiceAnalyzer::frequency() -{ - return m_frequency; -} - -/** - * Returns the maximum absolute value sent by - * the voiceDifference() signal. - */ -int VoiceAnalyzer::getMaximumVoiceDifference() -{ - return m_maximumVoiceDifference; -} - -/** - * Returns the maximum precision per note - * near the target frequency. - */ -int VoiceAnalyzer::getMaximumPrecisionPerNote() -{ - return PrecisionPerNote; -} - -/** - * Analyzes the voice frequency and emits appropriate signals. - */ -void VoiceAnalyzer::analyzeVoice() -{ - m_fftHelper->calculateFFT(m_samples); - int index = m_fftHelper->getMaximumDensityIndex(); - - // If index == -1 - if (index == -1) { - // The voice is to be filtered away. - // Emit the lowVoice signal and return. - emit lowVoice(); - qDebug() << "low voice"; - return; - } - // Else, continue - - // Let the correctIndex to be - // the nearest index corresponding to the correct frequency. - qreal stepSizeInFrequency = (qreal)m_format.sampleRate() - / (m_totalSampleCount * m_stepSize); - qreal newFrequency = qreal(index) * stepSizeInFrequency; - // Calculate the nearest index corresponding to the correct frequency. - int correctIndex = qRound(m_frequency / stepSizeInFrequency); - qreal value = 0; - - // If the obtained frequency is more than - // log_2(TargetFrequencyParameter) octaves less than the m_frequency: - - // Note: - // Instead of m_frequency/TargetFrequencyParameter > newFrequency, - // the comparison is done without a div instructions by - // m_frequency > newFrequency * TargetFrequencyParameter. - - if (m_frequency > newFrequency * TargetFrequencyParameter) { - // Set the difference value to be -m_maximumVoiceDifference. - qDebug() << "compare" << "low" << newFrequency << m_frequency - stepSizeInFrequency * correctIndex << (m_frequency - stepSizeInFrequency * correctIndex) / stepSizeInFrequency; - value = -m_maximumVoiceDifference; - } - // Else, if the obtained frequency is more than - // log_2(TargetFrequencyParameter) octaves more than the m_frequency: - else if (m_frequency*TargetFrequencyParameter < newFrequency) { - // Set the difference value to be m_maximumVoiceDifference. - qDebug() << "compare" << "high" << newFrequency << m_frequency - stepSizeInFrequency * correctIndex << (m_frequency - stepSizeInFrequency * correctIndex) / stepSizeInFrequency; - value = m_maximumVoiceDifference; - } - // Else: - else { - // Calculate the difference between the obtained and the correct - // frequency in tones. - // Use stepSizeInFrequency * correctIndex instead of - // m_frequency so that the value is zero when there is correct - // voice obtained. Set the difference value to be - // log(frequency / target frequency) * 12 / log(2). - value = log(newFrequency / (stepSizeInFrequency * correctIndex)) - * 12 / M_LN2; - qDebug() << "compare" << value << newFrequency << m_frequency - stepSizeInFrequency * correctIndex << (m_frequency - stepSizeInFrequency * correctIndex) / stepSizeInFrequency; - } - - // Emit voiceDifference signal. - QVariant valueVar(value); //Has to be QVariant for QML - emit voiceDifference(valueVar); - - // If the correctIndex is index, emit the correctFrequency signal. - if (correctIndex == index) { - emit(correctFrequency()); - } -} - -/** - * Empty implementation for readData, since no data is provided - * by the VoiceAnalyzer class. - */ -qint64 VoiceAnalyzer::readData(char *data, qint64 maxlen) -{ - Q_UNUSED(data); - Q_UNUSED(maxlen); - - return 0; -} diff --git a/examples/mobile/guitartuner/src/voiceanalyzer.h b/examples/mobile/guitartuner/src/voiceanalyzer.h deleted file mode 100644 index 11127140..00000000 --- a/examples/mobile/guitartuner/src/voiceanalyzer.h +++ /dev/null @@ -1,94 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VOICEANALYZER_H -#define VOICEANALYZER_H - -#include <QObject> -#include <QAudioFormat> -#include <QDebug> -#include <QtCore/qmath.h> -#include <QtCore/qendian.h> -#include <QVariant> - -#include "constants.h" -#include "fastfouriertransformer.h" -#include "math.h" - -class VoiceAnalyzer : public QIODevice -{ - Q_OBJECT -public: - VoiceAnalyzer(const QAudioFormat &format, QObject *parent = 0); - qint64 readData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 maxlen); - void start(qreal frequency); - void stop(); - qreal frequency(); - int getMaximumVoiceDifference(); - int getMaximumPrecisionPerNote(); - -public slots: - void setCutOffPercentage(qreal cutoff); - -private: - const QAudioFormat m_format; - QList<qint16> m_samples; - int m_totalSampleCount; - int m_maximumVoiceDifference; - - qint16 getValueInt16(const uchar *ptr); - int m_stepSize; - qreal m_frequency; - qint64 m_position; - FastFourierTransformer *m_fftHelper; - void analyzeVoice(); -signals: - void voiceDifference(QVariant frequency); - void correctFrequency(); - void lowVoice(); - -public slots: - -}; - - -#endif // VOICEANALYZER_H diff --git a/examples/mobile/guitartuner/src/voicegenerator.cpp b/examples/mobile/guitartuner/src/voicegenerator.cpp deleted file mode 100644 index 45f80104..00000000 --- a/examples/mobile/guitartuner/src/voicegenerator.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "voicegenerator.h" - -const int BufferSizeMilliseconds = 100; - -VoiceGenerator::VoiceGenerator(const QAudioFormat &format, - qreal frequency, qreal amplitude, - QObject *parent) : - QIODevice(parent), - m_format(format), - m_amplitude(0.5) -{ - Q_ASSERT(m_format.sampleSize() % 8 == 0); - int sampleBytes = m_format.channels() * (m_format.sampleSize() / 8); - // + 1 to round up, just to be sure that all samples fit. - qint64 samplesInBuffer = m_format.sampleRate() - * BufferSizeMilliseconds / 1000 + 1; - qint64 length = samplesInBuffer * sampleBytes; - m_buffer.resize(length); - m_max_position = 0; - m_position = 0; - m_amplitude = amplitude; - setFrequency(frequency); -} - -VoiceGenerator::~VoiceGenerator() -{ -} - -/** - * Opens the parent QIODevice. - */ -void VoiceGenerator::start() -{ - open(QIODevice::ReadOnly); -} - -/** - * Closes the parent QIODevice. Resets the m_position to zero. - */ -void VoiceGenerator::stop() -{ - close(); - m_position = 0; -} - -/** - * Sets the frequency to new frequency. - */ -void VoiceGenerator::setFrequency(qreal frequency) -{ - Q_ASSERT(1 / frequency < BufferSizeMilliseconds); - this->m_frequency = frequency; - refreshData(); -} - -/** - * Sets the amplitude for the voice. - */ -void VoiceGenerator::setAmplitude(qreal amplitude) -{ - Q_ASSERT(amplitude >= 0); - m_amplitude = amplitude; - refreshData(); -} - -/** - * Returns the current frequency. - */ -qreal VoiceGenerator::frequency() -{ - return m_frequency; -} - -/** - * Generates voice data corresponding a sine voice with target frequency. - * The number of data generated is calculated - * and stored to m_max_position. - */ -void VoiceGenerator::refreshData() -{ - const int channelBytes = m_format.sampleSize() / 8; - const int sampleSize = m_format.channels() * channelBytes; - const qint64 voiceOscillationsInBuffer = BufferSizeMilliseconds - * m_frequency / 1000; - const qint64 voiceSamplesInBuffer = voiceOscillationsInBuffer - * m_format.sampleRate() / m_frequency; - m_max_position = voiceSamplesInBuffer * sampleSize; - qint64 dataGenerationLength = m_buffer.size(); - - - Q_ASSERT(m_max_position % (sampleSize) == 0); - Q_ASSERT(dataGenerationLength <= m_buffer.size()); - - short *t = (short*)m_buffer.data(); - - -/* - int te ; - static float fpos = 0.0f; - //dataGenerationLength>>=1; // in words - for (int f=0; f<dataGenerationLength; f++) { - te = (short)((sinf(fpos))* (65536.0f/2.0f)); - fpos += m_frequency/2000.0f; - t[f]= te; - }; - - m_amplitude = 1.0f; */ - uchar *ptr = reinterpret_cast<uchar *>(m_buffer.data()); - int sampleIndex = 0; - while (dataGenerationLength > 0) { - qreal realValue = 0; - if (sampleIndex < voiceSamplesInBuffer) { - realValue = m_amplitude - *qSin(2.0f * M_PI * m_frequency - * qreal(sampleIndex % m_format.sampleRate()) - / m_format.sampleRate()); - } - for (int i=0; i<m_format.channels(); ++i) { - setValue(ptr, realValue); - ptr += channelBytes; - dataGenerationLength -= channelBytes; - } - ++sampleIndex; - } -} - -/** - * Stores the realValue into bytes pointed by ptr as an int value. - * Align-safe. - */ -void VoiceGenerator::setValue(uchar *ptr, qreal realValue) { - if (m_format.sampleSize() == 8) - { - quint8 value = 0; - if (m_format.sampleType() == QAudioFormat::UnSignedInt) { - value = static_cast<quint8>( - qRound((1.0 + realValue) / 2 - * M_MAX_AMPLITUDE_8BIT_UNSIGNED)); - } else if (m_format.sampleType() == QAudioFormat::SignedInt) { - value = static_cast<qint8>( - qRound(realValue - * M_MAX_AMPLITUDE_8BIT_SIGNED)); - } - *reinterpret_cast<quint8*>(ptr) = value; - } else if (m_format.sampleSize() == 16) { - quint16 value = 0; - if (m_format.sampleType() == QAudioFormat::UnSignedInt) { - value = static_cast<quint16>( - qRound((1.0 + realValue) / 2 - * M_MAX_AMPLITUDE_16BIT_UNSIGNED)); - } else if (m_format.sampleType() == QAudioFormat::SignedInt) { - value = static_cast<qint16>( - qRound(realValue - * M_MAX_AMPLITUDE_16BIT_SIGNED)); - } - if (m_format.byteOrder() == QAudioFormat::LittleEndian) - qToLittleEndian<qint16>(value, ptr); - else - qToBigEndian<qint16>(value, ptr); - } -} - -qint64 VoiceGenerator::bytesAvailable() const -{ - return m_max_position + QIODevice::bytesAvailable(); -} - -/** - * Called by the QIODevice. Puts maxlen amount of voice - * samples into the data array. - */ -qint64 VoiceGenerator::readData(char *data, qint64 maxlen) -{ - qint64 total = 0; - qint64 chunk = 0; - while (total < maxlen) { - if (maxlen - total >= m_max_position - m_position) { - // the needed buffer is longer than the currently - // available buffer from m_position to the m_max_position - chunk = m_max_position - m_position; - memcpy(data, m_buffer.constData() + m_position, chunk); - m_position = 0; - } - else { - // we can copy the needed data directly, and the loop will end - chunk = maxlen - total; - memcpy(data, m_buffer.constData() + m_position, chunk); - m_position = (m_position + chunk) % m_max_position; - } - data += chunk; - total += chunk; - } - return total; -} - -/** - * Empty implementation for writeData, since no data is provided - * for the VoiceGenerator class. - */ -qint64 VoiceGenerator::writeData(const char *data, qint64 maxlen) -{ - Q_UNUSED(data); - Q_UNUSED(maxlen); - - return 0; -} diff --git a/examples/mobile/guitartuner/src/voicegenerator.h b/examples/mobile/guitartuner/src/voicegenerator.h deleted file mode 100644 index 1cbdf96a..00000000 --- a/examples/mobile/guitartuner/src/voicegenerator.h +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef VOICEGENERATOR_H -#define VOICEGENERATOR_H - -#include <QIODevice> -#include <QByteArray> -#include <QAudioFormat> -#include <QtCore/qmath.h> -#include <QtCore/qendian.h> -#include <QDebug> - -#include "constants.h" - - -class VoiceGenerator : public QIODevice -{ - Q_OBJECT -public: - VoiceGenerator(const QAudioFormat &format, qreal frequency, qreal amplitude, QObject *parent = 0); - ~VoiceGenerator(); - void setFrequency(qreal frequency); - qint64 readData(char *data, qint64 maxlen); - qint64 writeData(const char *data, qint64 maxlen); - qint64 bytesAvailable() const; - qreal frequency(); -signals: - -public slots: - void setAmplitude(qreal amplitude); - void start(); - void stop(); - -private: - void setValue(uchar *ptr, qreal realValue); - void refreshData(); - const QAudioFormat m_format; - // buffer to store the data - QByteArray m_buffer; - // current position in buffer - qint64 m_position; - // max position depends on the sample rate of format and the frequency of voice - qint64 m_max_position; - qreal m_amplitude; - qreal m_frequency; -}; - -#endif // VOICEGENERATOR_H diff --git a/examples/mobile/qtbubblelevel/accelerometerfilter.cpp b/examples/mobile/qtbubblelevel/accelerometerfilter.cpp deleted file mode 100644 index c12f3e77..00000000 --- a/examples/mobile/qtbubblelevel/accelerometerfilter.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <math.h> -#include "accelerometerfilter.h" - -#define RADIANS_TO_DEGREES 57.2957795 - -AccelerometerFilter::AccelerometerFilter() - : x(0), y(0), z(0) -{ -} - -//! [0] -bool AccelerometerFilter::filter(QAccelerometerReading *reading) -{ - qreal rx = reading->x(); - qreal ry = reading->y(); - qreal rz = reading->z(); - - qreal divider = sqrt(rx * rx + ry * ry + rz * rz); - - // Lowpass factor -#ifdef Q_OS_SYMBIAN - float lowPassFactor = 0.10; -#else - float lowPassFactor = 0.05; -#endif - - // Calculate the axis angles in degrees and reduce the noise in sensor - // readings. - x += (acos(rx / divider) * RADIANS_TO_DEGREES - 90 - x) * lowPassFactor; - y += (acos(ry / divider) * RADIANS_TO_DEGREES - 90 - y) * lowPassFactor; - z += (acos(rz / divider) * RADIANS_TO_DEGREES - 90 - z) * lowPassFactor; - - // The orientations of the accelerometers are different between - // Symbian and Maemo devices so we use the different axes - // depending on the platform. -#if defined(Q_OS_SYMBIAN) - emit rotationChanged(-y); -#else - emit rotationChanged(x); -#endif - - // Don't store the reading in the sensor. - return false; -} -//! [0] diff --git a/examples/mobile/qtbubblelevel/accelerometerfilter.h b/examples/mobile/qtbubblelevel/accelerometerfilter.h deleted file mode 100644 index 8ef6a0d1..00000000 --- a/examples/mobile/qtbubblelevel/accelerometerfilter.h +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef ACCELEROMETERFILTER_H -#define ACCELEROMETERFILTER_H - -//! [0] -#include <QAccelerometerFilter> -#include <QVariant> - -QTM_USE_NAMESPACE - -class AccelerometerFilter - : public QObject, public QAccelerometerFilter -{ - Q_OBJECT - -protected: - qreal x; - qreal y; - qreal z; - -public: - AccelerometerFilter(); - bool filter(QAccelerometerReading *reading); - -signals: - void rotationChanged(const QVariant °); -}; -//! [0] - -#endif // ACCELEROMETERFILTER_H diff --git a/examples/mobile/qtbubblelevel/debian/changelog b/examples/mobile/qtbubblelevel/debian/changelog deleted file mode 100644 index 0413145a..00000000 --- a/examples/mobile/qtbubblelevel/debian/changelog +++ /dev/null @@ -1,19 +0,0 @@ -qtbubblelevel (1.2.0) stable; urgency=low - - * Improved the usability of the calibration dialog. - - -- Forum Nokia <FN.Documentation@nokia.com> Wed, 16 Feb 2011 12:59:30 +0100 - -qtbubblelevel (1.1.0) stable; urgency=low - - * QtMobility Rotation sensor support - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 15 Jun 2010 9:03:02 +0100 - - -qtbubblelevel (1.0.0) unstable; urgency=low - - * Initial release - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 15 Jun 2010 9:03:02 +0100 - diff --git a/examples/mobile/qtbubblelevel/debian/compat b/examples/mobile/qtbubblelevel/debian/compat deleted file mode 100644 index 7f8f011e..00000000 --- a/examples/mobile/qtbubblelevel/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/examples/mobile/qtbubblelevel/debian/control b/examples/mobile/qtbubblelevel/debian/control deleted file mode 100644 index 59803270..00000000 --- a/examples/mobile/qtbubblelevel/debian/control +++ /dev/null @@ -1,12 +0,0 @@ -Source: qtbubblelevel -Section: user/games -Priority: extra -Maintainer: Forum Nokia <FN.Documentation@nokia.com> -Build-Depends: debhelper (>= 5), libqt4-dev, libqtm-sensors -Standards-Version: 3.7.3 - -Package: qtbubblelevel -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Qt Bubble Level example - QtQuick example diff --git a/examples/mobile/qtbubblelevel/debian/copyright b/examples/mobile/qtbubblelevel/debian/copyright deleted file mode 100644 index e8dea63d..00000000 --- a/examples/mobile/qtbubblelevel/debian/copyright +++ /dev/null @@ -1,36 +0,0 @@ -This package was debianized by unknown <anonymous@digia.com> on -Tue, 15 Jun 2010 9:03:02 +0100. - -It was downloaded from <fill in http/ftp site> - -Upstream Author: <put author(s) name and email here> - -Copyright: <put the year(s) of the copyright, and the names of the - copyright holder(s) here> - -License: - - This package is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU Lesser General -Public License can be found in `/usr/share/common-licenses/LGPL'. - - -The Debian packaging is (C) 2010, unknown <anonymous@digia.com> and -is licensed under the GPL, see `/usr/share/common-licenses/GPL'. - - -# Please also look if there are files or directories which have a -# different copyright/license attached and list them here. diff --git a/examples/mobile/qtbubblelevel/debian/dirs b/examples/mobile/qtbubblelevel/debian/dirs deleted file mode 100644 index 80507f10..00000000 --- a/examples/mobile/qtbubblelevel/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/examples/mobile/qtbubblelevel/debian/files b/examples/mobile/qtbubblelevel/debian/files deleted file mode 100644 index 3d432422..00000000 --- a/examples/mobile/qtbubblelevel/debian/files +++ /dev/null @@ -1 +0,0 @@ -qtbubblelevel_1.2.0_armel.deb user/games extra diff --git a/examples/mobile/qtbubblelevel/debian/postinst b/examples/mobile/qtbubblelevel/debian/postinst deleted file mode 100644 index 79fb6ddd..00000000 --- a/examples/mobile/qtbubblelevel/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/examples/mobile/qtbubblelevel/debian/rules b/examples/mobile/qtbubblelevel/debian/rules deleted file mode 100644 index f18b9cd8..00000000 --- a/examples/mobile/qtbubblelevel/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - - - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/qtbubblelevel.sgml > qtbubblelevel.1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/qtbubblelevel. - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/qtbubblelevel install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link -# dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/examples/mobile/qtbubblelevel/icons/26x26/qtbubblelevel.png b/examples/mobile/qtbubblelevel/icons/26x26/qtbubblelevel.png Binary files differdeleted file mode 100644 index ae34ccf5..00000000 --- a/examples/mobile/qtbubblelevel/icons/26x26/qtbubblelevel.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/icons/40x40/qtbubblelevel.png b/examples/mobile/qtbubblelevel/icons/40x40/qtbubblelevel.png Binary files differdeleted file mode 100644 index 6230f55e..00000000 --- a/examples/mobile/qtbubblelevel/icons/40x40/qtbubblelevel.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/icons/64x64/qtbubblelevel.png b/examples/mobile/qtbubblelevel/icons/64x64/qtbubblelevel.png Binary files differdeleted file mode 100644 index 375326c0..00000000 --- a/examples/mobile/qtbubblelevel/icons/64x64/qtbubblelevel.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/icons/bubblelevel.svg b/examples/mobile/qtbubblelevel/icons/bubblelevel.svg deleted file mode 100644 index a3c30dfa..00000000 --- a/examples/mobile/qtbubblelevel/icons/bubblelevel.svg +++ /dev/null @@ -1,264 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="128" - height="128" - id="svg2" - version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="bubblelevel.svg"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.98994949" - inkscape:cx="599.30983" - inkscape:cy="93.17066" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1680" - inkscape:window-height="1003" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-924.36218)"> - <image - y="923.61945" - x="0.05510572" - id="image2993" - xlink:href="data:image/png;base64,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 -" - height="129" - width="128" /> - </g> -</svg> diff --git a/examples/mobile/qtbubblelevel/icons/qtbl_icon.png b/examples/mobile/qtbubblelevel/icons/qtbl_icon.png Binary files differdeleted file mode 100644 index 780fbb41..00000000 --- a/examples/mobile/qtbubblelevel/icons/qtbl_icon.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/icons/xpm/qtbubblelevel.xpm b/examples/mobile/qtbubblelevel/icons/xpm/qtbubblelevel.xpm deleted file mode 100644 index 19f3c2f3..00000000 --- a/examples/mobile/qtbubblelevel/icons/xpm/qtbubblelevel.xpm +++ /dev/null @@ -1,1783 +0,0 @@ -/* XPM */ -static char * qtbubblelevel_xpm[] = { -"64 64 1716 2", -" c None", -". c #BBD2A8", -"+ c #BBD1A8", -"@ c #BFD3A5", -"# c #C0D2AA", -"$ c #A4B594", -"% c #94A488", -"& c #B2C3A5", -"* c #A5B694", -"= c #A6B893", -"- c #A7B993", -"; c #A8BA93", -"> c #A6B891", -", c #A7B992", -"' c #A7B792", -") c #A7B896", -"! c #A8B997", -"~ c #A9BA98", -"{ c #ABBC99", -"] c #AABB99", -"^ c #AABB98", -"/ c #A8B996", -"( c #A9BA97", -"_ c #ADBC94", -": c #ACBA95", -"< c #ABB895", -"[ c #ADBC9A", -"} c #B6C3A5", -"| c #95A285", -"1 c #A9BA99", -"2 c #BDD4AA", -"3 c #AFC897", -"4 c #AFC898", -"5 c #AFC797", -"6 c #B4C994", -"7 c #B4C799", -"8 c #97A981", -"9 c #839570", -"0 c #8C9E7A", -"a c #7B8C65", -"b c #7E9167", -"c c #7D9268", -"d c #7E9268", -"e c #7E926A", -"f c #82966E", -"g c #859972", -"h c #889B74", -"i c #8CA07A", -"j c #8FA37D", -"k c #91A47E", -"l c #93A680", -"m c #94A881", -"n c #93A781", -"o c #95A983", -"p c #96AA83", -"q c #94A882", -"r c #94A880", -"s c #94A780", -"t c #93A47A", -"u c #90A079", -"v c #8D9C77", -"w c #8B9A78", -"x c #98A787", -"y c #879576", -"z c #9CAE89", -"A c #B1CA9A", -"B c #B1C999", -"C c #A7BF8A", -"D c #A8C18A", -"E c #A8C18B", -"F c #A8C08A", -"G c #ACC286", -"H c #ACC08A", -"I c #93A677", -"J c #7A8C63", -"K c #7A8D62", -"L c #778A5D", -"M c #7C905F", -"N c #799162", -"O c #7A9163", -"P c #799063", -"Q c #7B9363", -"R c #7C9464", -"S c #7C9465", -"T c #819869", -"U c #849C6D", -"V c #89A071", -"W c #8DA478", -"X c #90A77C", -"Y c #94AB80", -"Z c #96AD82", -"` c #97AE83", -" . c #96AE83", -".. c #98AD82", -"+. c #99AF84", -"@. c #9AB085", -"#. c #99B085", -"$. c #98AE83", -"%. c #97AD81", -"&. c #96A97D", -"*. c #91A378", -"=. c #8C9F76", -"-. c #879973", -";. c #879875", -">. c #819271", -",. c #96AA80", -"'. c #AAC38C", -"). c #A9C28C", -"!. c #A7C189", -"~. c #A8C189", -"{. c #A2BB80", -"]. c #A2BB82", -"^. c #A1BA81", -"/. c #A4BD83", -"(. c #A3BD82", -"_. c #A5BC7D", -":. c #A4B980", -"<. c #8CA06F", -"[. c #798B5F", -"}. c #788B5E", -"|. c #7A8D5D", -"1. c #7D935F", -"2. c #7A9661", -"3. c #7C9762", -"4. c #7C9763", -"5. c #819B66", -"6. c #829D68", -"7. c #829D66", -"8. c #819C65", -"9. c #849F68", -"0. c #86A16A", -"a. c #87A26C", -"b. c #8CA674", -"c. c #8FA979", -"d. c #92AD7D", -"e. c #95AF7F", -"f. c #96B080", -"g. c #97B180", -"h. c #98B282", -"i. c #9AB383", -"j. c #9AB483", -"k. c #99B282", -"l. c #97B080", -"m. c #96AF7F", -"n. c #93A879", -"o. c #8DA375", -"p. c #889D72", -"q. c #81966D", -"r. c #7E926B", -"s. c #7B8E6A", -"t. c #94A97C", -"u. c #A4BD84", -"v. c #A3BC82", -"w. c #A1BA82", -"x. c #A2BB83", -"y. c #A3BB84", -"z. c #A5BD86", -"A. c #A5BD85", -"B. c #A6BC7F", -"C. c #A5BA83", -"D. c #90A274", -"E. c #7D9165", -"F. c #7E9266", -"G. c #7E9262", -"H. c #809662", -"I. c #7E9C61", -"J. c #819E64", -"K. c #83A166", -"L. c #88A56B", -"M. c #89A76C", -"N. c #89A769", -"O. c #8BA96B", -"P. c #8CAB6B", -"Q. c #8FAD74", -"R. c #92AF79", -"S. c #95B27C", -"T. c #97B57E", -"U. c #98B67E", -"V. c #9AB880", -"W. c #9CB982", -"X. c #9CBA83", -"Y. c #9DBA83", -"Z. c #9BB881", -"`. c #99B67F", -" + c #98B57E", -".+ c #96B27D", -"++ c #93AB79", -"@+ c #8CA574", -"#+ c #879F70", -"$+ c #829A6D", -"%+ c #80976D", -"&+ c #7D946C", -"*+ c #95AC7D", -"=+ c #A4BC85", -"-+ c #A3BA84", -";+ c #A3BC84", -">+ c #A4BC88", -",+ c #A4BC89", -"'+ c #A6BE8B", -")+ c #A5BE8A", -"!+ c #A7BC83", -"~+ c #A8BC88", -"{+ c #94A77B", -"]+ c #85976F", -"^+ c #869870", -"/+ c #83966B", -"(+ c #859A69", -"_+ c #84A365", -":+ c #88A869", -"<+ c #8CAC6D", -"[+ c #90B071", -"}+ c #91B172", -"|+ c #91B170", -"1+ c #91B26D", -"2+ c #91B26E", -"3+ c #91B16E", -"4+ c #90B16C", -"5+ c #93B370", -"6+ c #95B376", -"7+ c #96B47A", -"8+ c #99B87E", -"9+ c #9CBA80", -"0+ c #9BBA80", -"a+ c #9EBD82", -"b+ c #9FBE83", -"c+ c #A0BF84", -"d+ c #9DBB81", -"e+ c #9BBA7F", -"f+ c #9AB97E", -"g+ c #98B67D", -"h+ c #93AD79", -"i+ c #8DA874", -"j+ c #87A271", -"k+ c #849E6F", -"l+ c #849E72", -"m+ c #80996F", -"n+ c #96AE80", -"o+ c #A5BD8A", -"p+ c #A3BB88", -"q+ c #A7BF8C", -"r+ c #A6BE8C", -"s+ c #A8C08E", -"t+ c #A8C08D", -"u+ c #A8C08B", -"v+ c #A8BE8B", -"w+ c #95AA80", -"x+ c #899C7A", -"y+ c #8B9F78", -"z+ c #879C71", -"A+ c #879E71", -"B+ c #8AA86E", -"C+ c #8EAD70", -"D+ c #92B274", -"E+ c #94B776", -"F+ c #94B875", -"G+ c #93B872", -"H+ c #93B973", -"I+ c #97B976", -"J+ c #96B976", -"K+ c #98B976", -"L+ c #98BB77", -"M+ c #97B97A", -"N+ c #99BA7D", -"O+ c #9ABB7E", -"P+ c #9BBD80", -"Q+ c #9EBF82", -"R+ c #9FC082", -"S+ c #9FC183", -"T+ c #A1C284", -"U+ c #A0C184", -"V+ c #A3BF88", -"W+ c #A3C086", -"X+ c #A3C087", -"Y+ c #9FBC82", -"Z+ c #9EBC80", -"`+ c #9EBB80", -" @ c #9AB77C", -".@ c #92AF78", -"+@ c #8DA87A", -"@@ c #89A279", -"#@ c #869F74", -"$@ c #8CA378", -"%@ c #889D73", -"&@ c #9AB084", -"*@ c #A7BF8D", -"=@ c #A5BD8B", -"-@ c #A6BE87", -";@ c #A6BF87", -">@ c #A5BF87", -",@ c #A7BF89", -"'@ c #A6C087", -")@ c #93AB7E", -"!@ c #8A9E7D", -"~@ c #8FA67B", -"{@ c #849D6D", -"]@ c #88A072", -"^@ c #8BA971", -"/@ c #8FAF73", -"(@ c #92B675", -"_@ c #94BA74", -":@ c #92BC71", -"<@ c #91BE6D", -"[@ c #94BE71", -"}@ c #96BC78", -"|@ c #97BD78", -"1@ c #96BD78", -"2@ c #98BF7A", -"3@ c #99BF7A", -"4@ c #9CC27E", -"5@ c #9BC17D", -"6@ c #9DC380", -"7@ c #9EC480", -"8@ c #9EC380", -"9@ c #A1C185", -"0@ c #A1C282", -"a@ c #9DBE7E", -"b@ c #9DBE7D", -"c@ c #9CBD7B", -"d@ c #97B875", -"e@ c #92B273", -"f@ c #8CA97B", -"g@ c #88A17C", -"h@ c #879E74", -"i@ c #8DA074", -"j@ c #9BB081", -"k@ c #A7C089", -"l@ c #A5BE88", -"m@ c #A6BF86", -"n@ c #93AF6E", -"o@ c #94B06E", -"p@ c #93B06E", -"q@ c #93B070", -"r@ c #95B16F", -"s@ c #809B63", -"t@ c #758F61", -"u@ c #86A16B", -"v@ c #6F8A50", -"w@ c #728F58", -"x@ c #729757", -"y@ c #789E5B", -"z@ c #7DA75D", -"A@ c #7EAC5C", -"B@ c #7EAE5A", -"C@ c #81B259", -"D@ c #81B25D", -"E@ c #83B061", -"F@ c #83B161", -"G@ c #85B363", -"H@ c #84B363", -"I@ c #86B465", -"J@ c #86B565", -"K@ c #86B464", -"L@ c #88B666", -"M@ c #88B767", -"N@ c #8BB468", -"O@ c #8BB568", -"P@ c #8BB567", -"Q@ c #89B263", -"R@ c #87B163", -"S@ c #84AD5F", -"T@ c #7EA759", -"U@ c #7C9E59", -"V@ c #78955F", -"W@ c #728E5E", -"X@ c #748F5A", -"Y@ c #889F68", -"Z@ c #7A905E", -"`@ c #88A06A", -" # c #97B472", -".# c #97B372", -"+# c #94B06F", -"@# c #94B06D", -"## c #7A994D", -"$# c #7A9A4E", -"%# c #799A4E", -"&# c #799A4B", -"*# c #607E3B", -"=# c #537038", -"-# c #6F8E4D", -";# c #52712B", -"># c #4D6D2C", -",# c #4C752E", -"'# c #537D32", -")# c #598737", -"!# c #5D8E38", -"~# c #5E9337", -"{# c #619838", -"]# c #62993B", -"^# c #62963B", -"/# c #62973B", -"(# c #64993D", -"_# c #63993C", -":# c #65993E", -"<# c #659A3E", -"[# c #649A3D", -"}# c #669A40", -"|# c #679B40", -"1# c #679B3F", -"2# c #6A9B3B", -"3# c #6A9B3C", -"4# c #6A9B3D", -"5# c #67983C", -"6# c #65953B", -"7# c #5F9036", -"8# c #59882F", -"9# c #577B30", -"0# c #517334", -"a# c #4D6D30", -"b# c #557533", -"c# c #708C4B", -"d# c #587037", -"e# c #6B8647", -"f# c #7C9C50", -"g# c #719440", -"h# c #719540", -"i# c #71953F", -"j# c #709441", -"k# c #6F933D", -"l# c #56792E", -"m# c #496929", -"n# c #6B8D45", -"o# c #527528", -"p# c #40631C", -"q# c #406920", -"r# c #436E21", -"s# c #4A7826", -"t# c #4F8129", -"u# c #518729", -"v# c #558C2A", -"w# c #568E2B", -"x# c #568D2B", -"y# c #578F2B", -"z# c #57902C", -"A# c #59912D", -"B# c #59912C", -"C# c #59912E", -"D# c #59902D", -"E# c #5D9228", -"F# c #5C9027", -"G# c #5A8E2A", -"H# c #5A8D2C", -"I# c #56892B", -"J# c #508226", -"K# c #4A7B23", -"L# c #476E21", -"M# c #416721", -"N# c #3F631E", -"O# c #577A2F", -"P# c #6A8A42", -"Q# c #4A6529", -"R# c #5D7C38", -"S# c #709440", -"T# c #6A913A", -"U# c #6B923A", -"V# c #6A923B", -"W# c #699037", -"X# c #507528", -"Y# c #436724", -"Z# c #678C41", -"`# c #5E8533", -" $ c #42671D", -".$ c #3E631D", -"+$ c #3F671D", -"@$ c #456E20", -"#$ c #4A7823", -"$$ c #4C7D23", -"%$ c #518325", -"&$ c #528625", -"*$ c #528923", -"=$ c #548A24", -"-$ c #558C26", -";$ c #568D27", -">$ c #568C25", -",$ c #588B23", -"'$ c #578924", -")$ c #558626", -"!$ c #538328", -"~$ c #4E7D28", -"{$ c #487625", -"]$ c #437020", -"^$ c #3D671B", -"/$ c #3B621B", -"($ c #436920", -"_$ c #618538", -":$ c #66883E", -"<$ c #446126", -"[$ c #597935", -"}$ c #668E36", -"|$ c #668E35", -"1$ c #658D36", -"2$ c #648C33", -"3$ c #4B7225", -"4$ c #416522", -"5$ c #61873B", -"6$ c #658B3B", -"7$ c #52762D", -"8$ c #3E5D1B", -"9$ c #3D5E19", -"0$ c #40641B", -"a$ c #466E1E", -"b$ c #48731E", -"c$ c #4D7921", -"d$ c #4F7F21", -"e$ c #4F821F", -"f$ c #518421", -"g$ c #538622", -"h$ c #538723", -"i$ c #548722", -"j$ c #548724", -"k$ c #548723", -"l$ c #558320", -"m$ c #538122", -"n$ c #517E24", -"o$ c #4D7926", -"p$ c #477326", -"q$ c #416B22", -"r$ c #3B661D", -"s$ c #376117", -"t$ c #39611C", -"u$ c #50772D", -"v$ c #63893A", -"w$ c #60833A", -"x$ c #405E25", -"y$ c #547633", -"z$ c #628A33", -"A$ c #628A32", -"B$ c #608833", -"C$ c #638832", -"D$ c #4E6E28", -"E$ c #436023", -"F$ c #608038", -"G$ c #638835", -"H$ c #5C8334", -"I$ c #446720", -"J$ c #375A16", -"K$ c #3B5F1C", -"L$ c #3F6420", -"M$ c #42681E", -"N$ c #486F1E", -"O$ c #49761E", -"P$ c #497A21", -"Q$ c #4C7D21", -"R$ c #4E8022", -"S$ c #508122", -"T$ c #518222", -"U$ c #528423", -"V$ c #518322", -"W$ c #518324", -"X$ c #518323", -"Y$ c #4F811C", -"Z$ c #50821B", -"`$ c #50821D", -" % c #50821F", -".% c #508221", -"+% c #4F811F", -"@% c #4F8020", -"#% c #517B21", -"$% c #4F7921", -"%% c #4C7522", -"&% c #497122", -"*% c #41691F", -"=% c #3E651E", -"-% c #385F19", -";% c #355D11", -">% c #436A1E", -",% c #5C8132", -"'% c #618535", -")% c #5D7C33", -"!% c #405C1F", -"~% c #52732C", -"{% c #618A33", -"]% c #5D8630", -"^% c #5E8630", -"/% c #5E8530", -"(% c #5C832F", -"_% c #608330", -":% c #4E6A28", -"<% c #425B22", -"[% c #5F7C35", -"}% c #5E832E", -"|% c #5D8432", -"1% c #517829", -"2% c #3B6016", -"3% c #355917", -"4% c #385C1C", -"5% c #3D611B", -"6% c #40661C", -"7% c #426C1C", -"8% c #42711E", -"9% c #45751F", -"0% c #487820", -"a% c #4A7A20", -"b% c #4C7C1F", -"c% c #4D7E21", -"d% c #4D7E22", -"e% c #4B7E18", -"f% c #4B7E17", -"g% c #4B7E19", -"h% c #4B7D1B", -"i% c #4B7C1D", -"j% c #497A1E", -"k% c #49781D", -"l% c #4B721F", -"m% c #49701F", -"n% c #466C1E", -"o% c #3C611B", -"p% c #3B601B", -"q% c #365B16", -"r% c #3E6516", -"s% c #537929", -"t% c #5E8230", -"u% c #608031", -"v% c #5A792F", -"w% c #415B1A", -"x% c #507027", -"y% c #59812B", -"z% c #577E2A", -"A% c #5A7E2B", -"B% c #496523", -"C% c #3E561E", -"D% c #5A7731", -"E% c #597F29", -"F% c #59812C", -"G% c #577E29", -"H% c #4C7322", -"I% c #395D15", -"J% c #335815", -"K% c #355915", -"L% c #375C17", -"M% c #386018", -"N% c #3B6717", -"O% c #3E6B1A", -"P% c #416E1A", -"Q% c #43711C", -"R% c #46731B", -"S% c #47751A", -"T% c #48761C", -"U% c #48771D", -"V% c #467716", -"W% c #467614", -"X% c #467617", -"Y% c #467518", -"Z% c #457318", -"`% c #43711A", -" & c #416E19", -".& c #42681D", -"+& c #3F651B", -"@& c #3C611A", -"#& c #3A5F1A", -"$& c #385C19", -"%& c #345817", -"&& c #395E1A", -"*& c #4D7425", -"=& c #5A8031", -"-& c #5A7E2C", -";& c #5C7D2D", -">& c #57752C", -",& c #3D5817", -"'& c #4C6C24", -")& c #59812A", -"!& c #567E28", -"~& c #557D28", -"{& c #537B27", -"]& c #567A27", -"^& c #466120", -"/& c #3B541B", -"(& c #57742E", -"_& c #567C26", -":& c #567D28", -"<& c #537C22", -"[& c #537A24", -"}& c #486E1E", -"|& c #375D14", -"1& c #315612", -"2& c #305415", -"3& c #325916", -"4& c #355E14", -"5& c #386217", -"6& c #3A6417", -"7& c #3E6819", -"8& c #3F6A18", -"9& c #416C17", -"0& c #436E1A", -"a& c #446F1B", -"b& c #436F1B", -"c& c #456F1C", -"d& c #456F1D", -"e& c #426F16", -"f& c #436F16", -"g& c #426D16", -"h& c #416D19", -"i& c #406A18", -"j& c #3C6619", -"k& c #395D1A", -"l& c #355A17", -"m& c #325714", -"n& c #325614", -"o& c #385D1B", -"p& c #496E29", -"q& c #557C2D", -"r& c #567C2D", -"s& c #557927", -"t& c #58792A", -"u& c #547128", -"v& c #3B5615", -"w& c #496920", -"x& c #557E28", -"y& c #517923", -"z& c #527A24", -"A& c #517924", -"B& c #507623", -"C& c #547724", -"D& c #435F1D", -"E& c #3A531A", -"F& c #55722C", -"G& c #537923", -"H& c #537A25", -"I& c #517822", -"J& c #527A22", -"K& c #507822", -"L& c #486E1F", -"M& c #395E15", -"N& c #2F5311", -"O& c #2F5412", -"P& c #315813", -"Q& c #335A15", -"R& c #365D16", -"S& c #375F15", -"T& c #396015", -"U& c #3B6214", -"V& c #3C6416", -"W& c #3D6517", -"X& c #3F6719", -"Y& c #3F6716", -"Z& c #3D6616", -"`& c #3C6415", -" * c #3A6217", -".* c #395F17", -"+* c #385E17", -"@* c #345818", -"#* c #325615", -"$* c #2D510F", -"%* c #2E530F", -"&* c #395E18", -"** c #486D26", -"=* c #51762E", -"-* c #52782A", -";* c #527828", -">* c #547726", -",* c #547626", -"'* c #516F25", -")* c #395313", -"!* c #45661E", -"~* c #527A23", -"{* c #4D751F", -"]* c #4D751E", -"^* c #4C7320", -"/* c #517421", -"(* c #405C1A", -"_* c #375017", -":* c #516E28", -"<* c #4F741F", -"[* c #4E7523", -"}* c #4C7424", -"|* c #4D7521", -"1* c #4D751D", -"2* c #486F1F", -"3* c #3B6017", -"4* c #2F5411", -"5* c #2C5011", -"6* c #2C500F", -"7* c #305511", -"8* c #315611", -"9* c #335810", -"0* c #345A0F", -"a* c #355B11", -"b* c #355B12", -"c* c #375D13", -"d* c #375D12", -"e* c #355B10", -"f* c #345A12", -"g* c #335812", -"h* c #315512", -"i* c #2F5413", -"j* c #2E5212", -"k* c #2D5210", -"l* c #2C510D", -"m* c #30550F", -"n* c #3C6219", -"o* c #466D20", -"p* c #4C7324", -"q* c #4D7325", -"r* c #4C7325", -"s* c #4E7324", -"t* c #4F7321", -"u* c #517224", -"v* c #4E6C22", -"w* c #36500F", -"x* c #42631A", -"y* c #4A721C", -"z* c #4A711B", -"A* c #4A701D", -"B* c #4D711E", -"C* c #3C5A16", -"D* c #334D12", -"E* c #4D6B23", -"F* c #4A6F1A", -"G* c #4A701E", -"H* c #4A7024", -"I* c #4A701F", -"J* c #4A7119", -"K* c #487017", -"L* c #4B721C", -"M* c #476E1E", -"N* c #40661F", -"O* c #385A1D", -"P* c #2E5112", -"Q* c #2D500F", -"R* c #2B500B", -"S* c #2C500B", -"T* c #2E530B", -"U* c #2E520B", -"V* c #2E520C", -"W* c #2D520B", -"X* c #2F540D", -"Y* c #30540E", -"Z* c #30540D", -"`* c #2F530D", -" = c #2E510B", -".= c #2C4F0B", -"+= c #2C500D", -"@= c #2D5010", -"#= c #2C4E11", -"$= c #2B4F10", -"%= c #305510", -"&= c #395E17", -"*= c #43691F", -"== c #476E20", -"-= c #476E1D", -";= c #49701B", -">= c #4A711D", -",= c #4A6F22", -"'= c #497020", -")= c #4B701D", -"!= c #4E701F", -"~= c #4B6920", -"{= c #324E0C", -"]= c #3F6116", -"^= c #49721B", -"/= c #476F19", -"(= c #466E18", -"_= c #476F1A", -":= c #476E19", -"<= c #385E0E", -"[= c #2E5406", -"}= c #446B18", -"|= c #436B15", -"1= c #456D18", -"2= c #476D1B", -"3= c #476F18", -"4= c #476E1F", -"5= c #446A21", -"6= c #3D621A", -"7= c #385D14", -"8= c #30550C", -"9= c #2D5109", -"0= c #2A4F05", -"a= c #284D09", -"b= c #294D0C", -"c= c #294D0A", -"d= c #294D0B", -"e= c #2B4F0D", -"f= c #294F08", -"g= c #294D08", -"h= c #294E07", -"i= c #284D07", -"j= c #325612", -"k= c #416816", -"l= c #446C19", -"m= c #476E1A", -"n= c #476D19", -"o= c #466F18", -"p= c #486F19", -"q= c #436917", -"r= c #2E5304", -"s= c #3A600E", -"t= c #416913", -"u= c #406812", -"v= c #3C640E", -"w= c #426A14", -"x= c #436B14", -"y= c #426A17", -"z= c #42681B", -"A= c #41671A", -"B= c #3D6316", -"C= c #385E10", -"D= c #2C520C", -"E= c #2B500A", -"F= c #2E530D", -"G= c #2E5409", -"H= c #31560C", -"I= c #3A5F14", -"J= c #3D6317", -"K= c #40661A", -"L= c #42691C", -"M= c #3B630E", -"N= c #3E6610", -"O= c #3F6710", -"P= c #3F6711", -"Q= c #3E6714", -"R= c #3F6617", -"S= c #3D6415", -"T= c #406718", -"U= c #406618", -"V= c #3E6616", -"W= c #3E6515", -"X= c #3B6212", -"Y= c #3B6111", -"Z= c #3D6314", -"`= c #3D6214", -" - c #3D6412", -".- c #3E6413", -"+- c #406715", -"@- c #3E6713", -"#- c #3F6714", -"$- c #406614", -"%- c #406811", -"&- c #3D650F", -"*- c #3B630D", -"=- c #3B630F", -"-- c #3B6211", -";- c #3D6414", -">- c #3E6514", -",- c #3C6312", -"'- c #3D650C", -")- c #3D650D", -"!- c #3D640C", -"~- c #3D650E", -"{- c #3E660E", -"]- c #3E660D", -"^- c #3E660F", -"/- c #3A620C", -"(- c #3B620D", -"_- c #3B620F", -":- c #3B610B", -"<- c #3B630A", -"[- c #3B630B", -"}- c #375F09", -"|- c #375F0A", -"1- c #375F08", -"2- c #375F07", -"3- c #375F0B", -"4- c #345C06", -"5- c #345C07", -"6- c #335C07", -"7- c #355C07", -"8- c #355C05", -"9- c #355C04", -"0- c #355C06", -"a- c #355A09", -"b- c #355B0A", -"c- c #355B09", -"d- c #355B06", -"e- c #355D06", -"f- c #335C06", -"g- c #2E5704", -"h- c #305804", -"i- c #305806", -"j- c #305906", -"k- c #305704", -"l- c #305805", -"m- c #325605", -"n- c #335705", -"o- c #335605", -"p- c #325604", -"q- c #345806", -"r- c #355807", -"s- c #335706", -"t- c #335704", -"u- c #335505", -"v- c #325606", -"w- c #345906", -"x- c #335805", -"y- c #325903", -"z- c #325B01", -"A- c #325B02", -"B- c #315A02", -"C- c #2F5800", -"D- c #305901", -"E- c #305900", -"F- c #335503", -"G- c #355305", -"H- c #355404", -"I- c #2D5601", -"J- c #2E5702", -"K- c #2F5703", -"L- c #305904", -"M- c #2F5804", -"N- c #315502", -"O- c #325603", -"P- c #315503", -"Q- c #315602", -"R- c #305503", -"S- c #315504", -"T- c #305404", -"U- c #325704", -"V- c #315704", -"W- c #325502", -"X- c #305602", -"Y- c #315900", -"Z- c #315901", -"`- c #305701", -" ; c #2E5700", -".; c #2F5700", -"+; c #2E5600", -"@; c #315500", -"#; c #335501", -"$; c #335500", -"%; c #737E40", -"&; c #737D40", -"*; c #717D3E", -"=; c #727C3F", -"-; c #727D40", -";; c #747B3F", -">; c #757C40", -",; c #73793D", -"'; c #71793D", -"); c #72793D", -"!; c #71793C", -"~; c #737A3E", -"{; c #71783C", -"]; c #70773B", -"^; c #71773C", -"/; c #757C3F", -"(; c #747B3E", -"_; c #737C3C", -":; c #737D39", -"<; c #737D3A", -"[; c #727B39", -"}; c #707B38", -"|; c #717B38", -"1; c #717B37", -"2; c #717A36", -"3; c #CAAE84", -"4; c #C9AE83", -"5; c #C7AB80", -"6; c #C3A77D", -"7; c #C4A97D", -"8; c #C6AA80", -"9; c #C5A97E", -"0; c #C9AA80", -"a; c #CAAA81", -"b; c #C9A980", -"c; c #C6A67D", -"d; c #C6A57C", -"e; c #C8A87F", -"f; c #C9AA81", -"g; c #C7A77E", -"h; c #C3A37A", -"i; c #BF9F76", -"j; c #C1A178", -"k; c #C3A379", -"l; c #C2A179", -"m; c #C0A077", -"n; c #C2A279", -"o; c #C09F77", -"p; c #C0A177", -"q; c #C4A47B", -"r; c #C6A67C", -"s; c #C5A67C", -"t; c #CBAB82", -"u; c #CCAB81", -"v; c #CCAB82", -"w; c #CAAB81", -"x; c #C8A77E", -"y; c #C5A57C", -"z; c #C7A67D", -"A; c #C7A87F", -"B; c #C9A97F", -"C; c #C9A87F", -"D; c #C4A37B", -"E; c #C4A478", -"F; c #C2A273", -"G; c #C3A375", -"H; c #C4A475", -"I; c #C0A172", -"J; c #C1A171", -"K; c #C1A173", -"L; c #C1A373", -"M; c #C2A374", -"N; c #C2A373", -"O; c #CC9F6B", -"P; c #D0A370", -"Q; c #D0A36F", -"R; c #CB9E6B", -"S; c #CDA06C", -"T; c #CCA06C", -"U; c #CE9C69", -"V; c #CC9A67", -"W; c #C99765", -"X; c #CB9966", -"Y; c #C79664", -"Z; c #C49260", -"`; c #C89764", -" > c #CA9965", -".> c #C89765", -"+> c #C79563", -"@> c #C2915E", -"#> c #C08F5C", -"$> c #C3925F", -"%> c #BF8F5B", -"&> c #BD8B59", -"*> c #C3915F", -"=> c #C69462", -"-> c #C89664", -";> c #CB9A67", -">> c #CB9968", -",> c #CB9B67", -"'> c #CD9C69", -")> c #CD9B68", -"!> c #CE9D6A", -"~> c #CE9C6A", -"{> c #CA9866", -"]> c #C69562", -"^> c #C1905D", -"/> c #C2905E", -"(> c #C69461", -"_> c #CA9966", -":> c #C59461", -"<> c #C5935F", -"[> c #C28F59", -"}> c #C3915A", -"|> c #C7945E", -"1> c #C5935D", -"2> c #C08E58", -"3> c #BC8853", -"4> c #BB8654", -"5> c #BB8655", -"6> c #BA8655", -"7> c #BC8A4B", -"8> c #C1904F", -"9> c #BF8D4D", -"0> c #C19050", -"a> c #C29050", -"b> c #BE8C4C", -"c> c #C28D4E", -"d> c #C18A4C", -"e> c #BD8649", -"f> c #BD8749", -"g> c #BB8547", -"h> c #B78142", -"i> c #B88244", -"j> c #B68042", -"k> c #B98244", -"l> c #BB8447", -"m> c #BC8648", -"n> c #BA8446", -"o> c #BE874A", -"p> c #BD8648", -"q> c #B68041", -"r> c #B98445", -"s> c #BA8445", -"t> c #B88245", -"u> c #B98344", -"v> c #BE8749", -"w> c #C08A4C", -"x> c #BF894B", -"y> c #BE894B", -"z> c #C0894B", -"A> c #BF884A", -"B> c #BA8546", -"C> c #B78143", -"D> c #B88345", -"E> c #BA8346", -"F> c #B78144", -"G> c #BA8345", -"H> c #BB8546", -"I> c #BB8446", -"J> c #BE884A", -"K> c #BD8546", -"L> c #BC8342", -"M> c #BD8443", -"N> c #C08646", -"O> c #BB8342", -"P> c #B67C3B", -"Q> c #AA702F", -"R> c #A76830", -"S> c #A4622F", -"T> c #A3622F", -"U> c #B78145", -"V> c #C58E52", -"W> c #BF874B", -"X> c #BC8347", -"Y> c #B98345", -"Z> c #B88344", -"`> c #B88146", -" , c #B98146", -"., c #B98045", -"+, c #B98046", -"@, c #BB8348", -"#, c #BA8046", -"$, c #B97E44", -"%, c #BB7F45", -"&, c #B87D43", -"*, c #B87C42", -"=, c #B67B41", -"-, c #B5793E", -";, c #B3783E", -">, c #B2773C", -",, c #B07539", -"', c #AD7236", -"), c #AD7136", -"!, c #AA6E33", -"~, c #AD7237", -"{, c #AE7336", -"], c #AD7135", -"^, c #B67B3F", -"/, c #B87E41", -"(, c #B67C3F", -"_, c #B77C40", -":, c #B77D3F", -"<, c #B67D41", -"[, c #B87F42", -"}, c #B98043", -"|, c #BA8144", -"1, c #BF8449", -"2, c #BD8248", -"3, c #BF8349", -"4, c #BE8348", -"5, c #BB8145", -"6, c #B67C40", -"7, c #B4793C", -"8, c #B77B3F", -"9, c #BA7E42", -"0, c #BC8044", -"a, c #BB7F43", -"b, c #BC8145", -"c, c #B97D41", -"d, c #B6783A", -"e, c #B67636", -"f, c #B67738", -"g, c #B97A3B", -"h, c #BD7D3F", -"i, c #B9783B", -"j, c #AE6E31", -"k, c #AB6330", -"l, c #A95E2F", -"m, c #A95C2D", -"n, c #A6733B", -"o, c #BD874F", -"p, c #C48852", -"q, c #B98044", -"r, c #BD8A4B", -"s, c #C39252", -"t, c #C59557", -"u, c #C59457", -"v, c #C49255", -"w, c #C79256", -"x, c #C99257", -"y, c #C38B51", -"z, c #C58A51", -"A, c #C48853", -"B, c #C48851", -"C, c #C38752", -"D, c #C18650", -"E, c #BD814B", -"F, c #BA7F48", -"G, c #B97E46", -"H, c #B87D45", -"I, c #B47941", -"J, c #B57A42", -"K, c #B2773F", -"L, c #B37840", -"M, c #B87D41", -"N, c #BB8044", -"O, c #BE8347", -"P, c #BF8448", -"Q, c #BA7F43", -"R, c #B27C3E", -"S, c #B47E40", -"T, c #B58042", -"U, c #B68142", -"V, c #B68143", -"W, c #B98346", -"X, c #C18551", -"Y, c #C28651", -"Z, c #C0844E", -"`, c #BD8149", -" ' c #BC8147", -".' c #B57A3E", -"+' c #BB7E43", -"@' c #BF8045", -"#' c #C28449", -"$' c #BF8247", -"%' c #C08348", -"&' c #BD7F40", -"*' c #BD803A", -"=' c #BC7F3D", -"-' c #BE8140", -";' c #BB7E3F", -">' c #B4763A", -",' c #AE6F34", -"'' c #B06E35", -")' c #B67239", -"!' c #B26F36", -"~' c #7F5123", -"{' c #9C6A3D", -"]' c #B2794B", -"^' c #B27541", -"/' c #B87B44", -"(' c #BE864A", -"_' c #C28D4D", -":' c #C18C49", -"<' c #BC8643", -"[' c #BC8441", -"}' c #BE8141", -"|' c #C08243", -"1' c #C18343", -"2' c #BF8041", -"3' c #BC8144", -"4' c #BD8244", -"5' c #BD8144", -"6' c #BC8143", -"7' c #BB8042", -"8' c #B97E42", -"9' c #BA7F47", -"0' c #BD8249", -"a' c #C0854D", -"b' c #C2874F", -"c' c #C38850", -"d' c #C78C51", -"e' c #C88D51", -"f' c #C4894D", -"g' c #C08549", -"h' c #BD8246", -"i' c #BB8144", -"j' c #B77D41", -"k' c #BE8448", -"l' c #BE8446", -"m' c #BD8348", -"n' c #C0844F", -"o' c #C18550", -"p' c #BE824B", -"q' c #BF844A", -"r' c #C1874B", -"s' c #C18749", -"t' c #C08546", -"u' c #BF8145", -"v' c #C08246", -"w' c #C08245", -"x' c #C48649", -"y' c #C4864A", -"z' c #C48646", -"A' c #C38742", -"B' c #C58946", -"C' c #CA8D4C", -"D' c #C18447", -"E' c #B7793D", -"F' c #B07237", -"G' c #B27641", -"H' c #B67A48", -"I' c #B27644", -"J' c #6C4321", -"K' c #744522", -"L' c #8F5933", -"M' c #96592D", -"N' c #A0612F", -"O' c #AF7137", -"P' c #BD8245", -"Q' c #BF8C4D", -"R' c #BF8A4B", -"S' c #BA8043", -"T' c #C18649", -"U' c #C38549", -"V' c #C38647", -"W' c #C08444", -"X' c #BD8141", -"Y' c #BC803F", -"Z' c #BD7F3F", -"`' c #BE8142", -" ) c #BC8142", -".) c #BB8045", -"+) c #B87D42", -"@) c #C2874B", -"#) c #C1864A", -"$) c #B2773B", -"%) c #B6783D", -"&) c #B07136", -"*) c #B07036", -"=) c #B3743A", -"-) c #B5763B", -";) c #B7783D", -">) c #B7793F", -",) c #B47742", -"') c #B77C45", -")) c #B77C43", -"!) c #BA7F44", -"~) c #BD8345", -"{) c #BD8344", -"]) c #BA8040", -"^) c #BA7D3E", -"/) c #B67A3A", -"() c #B47638", -"_) c #B87B3C", -":) c #BB7D3F", -"<) c #BA7C3F", -"[) c #B97C3B", -"}) c #B67937", -"|) c #B37636", -"1) c #B5773A", -"2) c #AD6F34", -"3) c #A96B32", -"4) c #A4662E", -"5) c #986132", -"6) c #A16E42", -"7) c #A06C41", -"8) c #583012", -"9) c #633515", -"0) c #76401E", -"a) c #8C4E26", -"b) c #9A5A2A", -"c) c #AE6F37", -"d) c #B3763A", -"e) c #AC7C34", -"f) c #B18038", -"g) c #B17D37", -"h) c #AD7630", -"i) c #AA722C", -"j) c #A8702A", -"k) c #A96D2B", -"l) c #AF6E35", -"m) c #B37339", -"n) c #B6753C", -"o) c #B9793E", -"p) c #BB7A42", -"q) c #BD7F44", -"r) c #BD8445", -"s) c #C3884A", -"t) c #C48A4B", -"u) c #C58B4C", -"v) c #C78C4E", -"w) c #CA8F53", -"x) c #C98E52", -"y) c #C78C50", -"z) c #C68B4F", -"A) c #C58A4E", -"B) c #C8884D", -"C) c #C5854A", -"D) c #C28248", -"E) c #C07E45", -"F) c #BE7D43", -"G) c #BB7A40", -"H) c #BE7E45", -"I) c #C0854C", -"J) c #C2874C", -"K) c #C08648", -"L) c #C28849", -"M) c #C18745", -"N) c #BC823F", -"O) c #BD803F", -"P) c #BB7E3D", -"Q) c #B77A3A", -"R) c #B87B3B", -"S) c #B67939", -"T) c #B57837", -"U) c #B47739", -"V) c #BA7C40", -"W) c #B97A42", -"X) c #B0723B", -"Y) c #955621", -"Z) c #824C21", -"`) c #814F27", -" ! c #835129", -".! c #5F3210", -"+! c #6E3D19", -"@! c #804722", -"#! c #905128", -"$! c #945626", -"%! c #A16530", -"&! c #A76E36", -"*! c #B57B3D", -"=! c #BD8243", -"-! c #BD8042", -";! c #BE7D40", -">! c #C07E41", -",! c #C47F43", -"'! c #C57F45", -")! c #C17D47", -"!! c #C17F48", -"~! c #C07D46", -"{! c #BF7D46", -"]! c #BC7943", -"^! c #B8753F", -"/! c #AE7535", -"(! c #AF7535", -"_! c #B17737", -":! c #B37939", -"<! c #AF7635", -"[! c #A76D2D", -"}! c #A66C2E", -"|! c #A66B2F", -"1! c #A3682C", -"2! c #A06529", -"3! c #A4692D", -"4! c #A96E32", -"5! c #A76C30", -"6! c #A86C31", -"7! c #A3672B", -"8! c #A2662A", -"9! c #A16528", -"0! c #A16529", -"a! c #A66A2E", -"b! c #A76C31", -"c! c #AD7335", -"d! c #B07636", -"e! c #B07734", -"f! c #AE7530", -"g! c #AD732E", -"h! c #AF722E", -"i! c #AA6E2A", -"j! c #A76A27", -"k! c #AA6D2A", -"l! c #A86B2A", -"m! c #AB6D2F", -"n! c #A6682D", -"o! c #A06229", -"p! c #A66731", -"q! c #A96A35", -"r! c #A96A37", -"s! c #9D6237", -"t! c #7F451D", -"u! c #7F451C", -"v! c #9B693F", -"w! c #A36E43", -"x! c #9C6136", -"y! c #9F6234", -"z! c #9C5F2F", -"A! c #8C5521", -"B! c #AA7640", -"C! c #AF743F", -"D! c #A86A36", -"E! c #A2632E", -"F! c #A2602D", -"G! c #A6612E", -"H! c #A6602D", -"I! c #A25B27", -"J! c #A15E20", -"K! c #A05D1E", -"L! c #A36121", -"M! c #A25F20", -"N! c #9D5B1C", -"O! c #A26021", -"P! c #AC6D2D", -"Q! c #B17836", -"R! c #B87F3C", -"S! c #BB823F", -"T! c #BE8543", -"U! c #BE8542", -"V! c #C08744", -"W! c #C28749", -"X! c #C3884D", -"Y! c #CB9054", -"Z! c #CC9155", -"`! c #CE9357", -" ~ c #CB9457", -".~ c #CA9356", -"+~ c #C89153", -"@~ c #C48D4F", -"#~ c #C48D50", -"$~ c #C1894C", -"%~ c #BC8244", -"&~ c #BF8545", -"*~ c #BA803E", -"=~ c #B57C37", -"-~ c #B67D36", -";~ c #B87F38", -">~ c #BA7E38", -",~ c #B97D37", -"'~ c #B57933", -")~ c #B67A34", -"!~ c #BD813B", -"~~ c #C1853F", -"{~ c #C18443", -"]~ c #C6884D", -"^~ c #CB8D52", -"/~ c #CD8E56", -"(~ c #CD8E58", -"_~ c #C0814D", -":~ c #AA6B39", -"<~ c #925222", -"[~ c #8A481A", -"}~ c #8E4C1D", -"|~ c #AE7243", -"1~ c #AC6F3F", -"2~ c #9C5D2B", -"3~ c #B27341", -"4~ c #B37745", -"5~ c #7F4717", -"6~ c #996333", -"7~ c #B48046", -"8~ c #BC864C", -"9~ c #BE864C", -"0~ c #C0874D", -"a~ c #C1874E", -"b~ c #BF864D", -"c~ c #C0844A", -"d~ c #BD813F", -"e~ c #BA7D3C", -"f~ c #BB7F3D", -"g~ c #BC803E", -"h~ c #C38644", -"i~ c #C38A49", -"j~ c #C48F4D", -"k~ c #C99353", -"l~ c #CD9656", -"m~ c #CD9756", -"n~ c #C48E4E", -"o~ c #B98342", -"p~ c #B78045", -"q~ c #BA8149", -"r~ c #B9834B", -"s~ c #B37D47", -"t~ c #AE7942", -"u~ c #AC7741", -"v~ c #AB7943", -"w~ c #AC7A44", -"x~ c #AC7942", -"y~ c #AA7842", -"z~ c #A97641", -"A~ c #AC7944", -"B~ c #A97640", -"C~ c #A7713B", -"D~ c #A9733C", -"E~ c #BF884F", -"F~ c #C99356", -"G~ c #C99553", -"H~ c #CB9653", -"I~ c #CB9751", -"J~ c #CC9351", -"K~ c #C48D4B", -"L~ c #C08746", -"M~ c #C08848", -"N~ c #C28A4B", -"O~ c #C38A4C", -"P~ c #C1884D", -"Q~ c #BC844E", -"R~ c #AF7844", -"S~ c #A46A38", -"T~ c #9C602E", -"U~ c #945320", -"V~ c #97531F", -"W~ c #A35F26", -"X~ c #B16B31", -"Y~ c #B56F34", -"Z~ c #A86332", -"`~ c #A6632F", -" { c #AC6933", -".{ c #A96933", -"+{ c #91521F", -"@{ c #854718", -"#{ c #8D4F25", -"${ c #875221", -"%{ c #85511F", -"&{ c #84501E", -"*{ c #8B5625", -"={ c #925E2D", -"-{ c #94602E", -";{ c #8C5826", -">{ c #895623", -",{ c #8F5B28", -"'{ c #8F5C29", -"){ c #8E5B28", -"!{ c #8C5725", -"~{ c #925E2C", -"{{ c #94612F", -"]{ c #93602D", -"^{ c #966331", -"/{ c #A06E3B", -"({ c #9E6A38", -"_{ c #8B5727", -":{ c #885325", -"<{ c #845225", -"[{ c #855428", -"}{ c #84562B", -"|{ c #7F532A", -"1{ c #82562F", -"2{ c #86562E", -"3{ c #85542C", -"4{ c #84532B", -"5{ c #825129", -"6{ c #7D4C24", -"7{ c #77461E", -"8{ c #6B3912", -"9{ c #633110", -"0{ c #653310", -"a{ c #7B4A22", -"b{ c #89582C", -"c{ c #956634", -"d{ c #9F6F3C", -"e{ c #9E6F39", -"f{ c #986A36", -"g{ c #8A5B28", -"h{ c #825322", -"i{ c #865728", -"j{ c #89592D", -"k{ c #8C5C30", -"l{ c #8C5D33", -"m{ c #8A5D32", -"n{ c #8A5D34", -"o{ c #8E5D31", -"p{ c #9A6232", -"q{ c #AB6A31", -"r{ c #B56E2F", -"s{ c #BC7631", -"t{ c #BF7B34", -"u{ c #BF7B35", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -" ", -". . . . . . + @ # $ % & * = - ; ; > , , ' ) ) ) ) ! ~ { { ] ^ / ( / ^ { { { { { { { { { ( ( ( ( _ : < [ } | 1 2 2 2 . . . . . . ", -"3 4 4 4 4 4 5 6 7 8 9 0 a b c d d d d d d e e e f g h i j k l m m n o p p p p p p p p p q r m s t u v w x y z A A B 5 4 4 4 4 5 ", -"C D D D E E F G H I J K L M N O P Q R R R S S S T U V W X Y Z ` ...+.@.@.@.@.@.@.@.@.#.$. .` %.&.*.=.-.;.>.,.'.'.).!.D ~.E E F ", -"{.].].^././.(._.:.<.[.}.|.1.2.3.4.5.6.6.7.7.7.8.9.0.a.b.c.d.e.f.g.h.i.j.j.j.j.j.j.j.j.j.k.g.l.m.n.o.p.q.r.s.t.u.u.v.w.].].]./.].", -"x.y.y.y.z.z.A.B.C.D.E.F.G.H.I.J.K.L.M.M.N.N.N.N.N.O.P.Q.R.S.T.U.V.W.X.Y.Y.Y.Y.Y.Y.Y.Y.X.Z.`. +.+++@+#+$+%+&+*+z.z.=+-+y.-+;+z.u.", -">+,+,+,+'+'+)+!+~+{+]+^+/+(+_+:+<+[+}+}+|+1+2+3+4+3+5+6+7+8+9+0+a+b+c+c+c+c+c+c+c+c+c+c+d+e+f+g+h+i+j+k+l+m+n+'+'+o+p+,+p+o+'+'+", -"q+q+q+r+s+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+I+I+J+K+L+M+N+O+P+Q+R+S+T+T+T+T+T+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@t+t+*@=@r+=@*@s+*@", -"-@;@;@;@;@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@3@3@3@3@3@4@4@5@6@7@7@7@7@7@8@9@T+0@a@b@c@d@e@f@g@h@n.i@j@!.!.!.!.!.k@l@m@;@", -"n@o@o@o@o@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@E@G@G@G@G@G@G@H@I@J@K@L@M@M@M@M@M@L@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ # # # # #.#+#@#p@", -"##$#$#$#$#$#%#%#&#*#=#-#;#>#,#'#)#!#~#{#]#^#/#/#(#(#(#(#(#(#_#:#<#[#}#|#|#|#|#|#1#2#3#4#5#6#7#8#9#0#a#b#c#d#e#f#f#f#f#f#f#$#$#$#", -"g#h#h#h#h#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#A#A#A#A#A#A#A#A#B#C#C#C#C#C#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#h#h#h#h#h#h#h#h#S#", -"T#U#U#U#U#U#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$=$-$;$;$;$;$;$;$;$;$;$;$;$;$;$;$;$;$>$,$'$)$!$~${$]$^$/$($_$:$<$[$U#U#U#U#U#U#U#U#U#", -"}$}$}$}$}$}$|$1$2$3$4$5$6$7$8$9$0$a$b$c$d$e$f$g$h$i$j$j$j$j$j$j$j$k$k$k$k$k$k$k$g$l$m$n$o$p$q$r$s$t$u$v$w$x$y$}$}$}$}$}$}$}$}$}$", -"z$A$z$z$z$z$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$W$W$W$W$X$Y$Z$`$ %.%+%@%#%$%%%&%*%=%-%;%>%,%'%)%!%~%z$z$z$z$z$z$z$A${%", -"]%^%^%^%^%^%/%(%_%:%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%b%c%c%d%d%d%d%d%c%e%f%g%h%i%j%k%l%m%n%6%o%p%q%r%s%t%u%v%w%x%^%^%^%^%^%^%^%^%^%", -"y%y%y%y%y%y%y%z%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%U%U%U%U%U%V%W%X%Y%Z%`% &.&+&@&#&$&%&&&*&=&-&;&>&,&'&y%y%y%y%y%y%y%)&F%", -"!&!&!&!&!&!&~&{&]&^&/&(&_&:&<&[&}&|&1&2&3&4&5&6&7&8&9&0&a&a&b&c&d&c&e&f&g&h&i&7&j&K$k&l&m&n&o&p&q&r&s&t&u&v&w&!&!&!&!&!&!&!&!&x&", -"y&z&z&z&z&z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&W&W&X&X&X&Y&Z&`& *.*+*R&@*#*$*%*&***=*-*;*>*,*'*)*!*z&z&z&z&z&z&z&z&~*", -"{*{*{*{*{*{*]*^*/*(*_*:*<*[*}*|*1*{*2*3*4*5*6*7*8*9*0*a*b*b*a*c*|&|&d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*{*{*{*{*{*{*{*{*{*", -"y*y*y*y*y*y*z*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*V*W*X*Y*Z*`* =.=+=@=#=$=%=&=*===-=;=>=,='=)=!=~={=]=y*y*y*y*y*y*y*y*^=", -"/=/=/=/=/=/=(=_=:=<=[=}=|=1=2=/=3=3=3=/=4=5=6=7=8=9=0=a=b=c=d=e=e=e=f=g=h=i=S*j=+*k=l=m=:=n=/=3=_=_=o=p=q=r=s=/=/=/=/=/=/=/=/=/=", -"|=|=|=|=|=|=|=t=|=u=v=t=w=w=|=|=|=|=|=x=y=z=z=z=A=B=C=9*m*D=E=F=F=V*G=H=e*I=J=K=L=|=|=|=|=|=|=|=|=|=|=|=t=M=N=|=|=|=|=|=|=|=|=|=", -"O=P=P=P=P=P=P=P=P=w=u=P=N=P=P=P=P=P=P=O=Q=R=r%S=T=U=V=R=W=X=Y=Z=Z=`= -.-+-+-@-#-$-%-u=u=N=P=P=P=P=P=P=P=P=u=P=P=P=P=P=P=P=P=P=P=", -"v=&-&-&-&-&-&-&-N=N=*-&-*-&-&-&-&-&-&-&-=-Y=X=--;->-,-v='-)-!-~-{-{-{-]-^-~-~-~-)-&-N=&-&-&-&-&-&-&-&-&-&-/-v=&-&-&-&-&-&-&-&-v=", -"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-(-_-_-_-_-_-_-:-<-<-<-<-<-<-<-[-[-[-[-[-[-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-", -"}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-|-|-|-|-|-|-1-1-1-1-1-1-2-|-3-3-3-3-3-|-1-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-}-", -"4-5-5-5-5-5-6-7-7-7-7-7-7-7-7-7-7-7-7-7-8-8-8-8-8-8-9-0-0-0-0-0-0-8-a-b-b-b-b-b-c-d-7-7-7-7-7-7-7-7-7-7-7-7-d-e-e-4-4-4-f-0-7-0-", -"g-h-i-j-k-l-l-m-n-n-o-o-o-p-q-r-q-q-q-q-s-t-n-n-n-n-n-u-o-o-u-n-n-n-n-s-s-s-s-s-v-q-r-q-q-w-w-x-o-n-n-n-n-o-y-z-A-B-C-D-E-F-G-H-", -"I-J-K-L-L-L-M-N-O-O-P-P-P-N-t-n-t-Q-O-O-R-S-S-T-p-U-U-N-P-P-R-O-O-O-O-O-O-O-O-O-N-t-n-t-V-U-U-W-O-O-O-O-O-O-X-Y-Z-`- ;.;+;@;#;$;", -"%;&;*;=;%;%;-;;;>;>;,;';);!;~;;;~;{;!;!;{;~;~;);];{;^;!;);););/;>;>;>;>;>;>;>;>;(;;;;;;;;;;;;;~;>;>;>;>;>;>;_;:;<;[;};|;|;1;1;2;", -"3;4;5;6;7;8;9;0;a;a;b;c;d;e;a;f;0;g;h;i;j;k;l;j;m;n;o;p;q;r;s;e;a;t;u;v;v;w;0;b;x;s;y;e;g;z;A;e;A;B;b;C;y;D;E;F;G;H;I;J;K;L;M;N;", -"O;P;Q;O;R;S;T;U;V;W;X;Y;Z;`; >.>W;+>@>#>$>Z;%>&>%>*>$>@>=>->->;>>>,>'>'>)>!>~>{>]>=>]>*>^>/>$>$>(>`;_>W;:>(><>[>}>|>1>2>3>4>5>6>", -"7>8>9>0>a>b>b>c>d>e>f>g>h>i>j>k>l>m>n>g>o>p>i>q>g>r>i>g>s>t>u>n>v>w>x>x>y>z>A>B>C>D>g>E>C>F>G>H>g>g>I>p>J>f>K>L>M>N>O>P>Q>R>S>T>", -"U>V>W>X>I>Y>Z>`> ,.,+,@,#,$,%,&,*,=,-,;,;,>,,,',),!,~,{,],,,^,/,(,_,:,<,[,},|,|,|,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g,h,i,j,k,l,m,", -"n,o,p,%,q,r,s,t,u,v,w,x,y,z,A,A,B,C,D,E,F,G,H,I,J,K,L,*,M,N,O,P,Q,_,R,S,T,U,V,F>W,X,Y,Z,`, '/,.'+'@'#'$'%'$'&'*'='-';'>',''')'!'", -"~'{']'^'/'('_':'<'['}'|'1'2'3'4'5'4'6'7'8'9'0'0'a'b'c'd'e'f'g'P,O,h'i'j'6,Q,k'l'm'n'o'p'q'r's't'u'v'w'v'x'y'z'A'B'C'D'E'F'G'H'I'", -"J'K'L'M'N'O'P'b>Q'R'E>S'T'U'V'W'X'Y'Z'`' )b,.)+)_,h'O,@)#)h'M,$),,^,%)&)*)=)-);)>),)')))!)~){)])^)/)()_):)<)[)})|)1)2)3)4)5)6)7)", -"8)9)0)a)b)c)d)e)f)g)h)i)j)k)l)m)m)n)o)p)q)r)t's)t)u)v)w)x)y)y)f'z)A)B)C)D)E)F)G)H)`,I)J)K)L)M)N)O)P)Q)R)R)S)T)|)U)V)W)X)Y)Z)`) !", -".!+!@!#!$!%!&!*!=!-!;!>!,!'!)!!!~!{!]!^!=)/!(!_!:!<![!}!|!1!2!3!4!5!',6!7!8!9!0!a!b!5!c!d!e!f!g!h!i!i!j!k!k!l!m!n!o!p!q!r!s!t!u!", -"v!w!x!y!z!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!e'x)Y!Z!`! ~.~+~@~c>#~$~h'%~&~*~=~-~;~>~,~'~)~!~~~{~]~^~/~(~_~:~<~[~}~", -"|~1~2~3~4~5~6~7~8~9~0~a~b~c~d~e~f~='g~h~i~j~k~l~m~n~o~p~q~r~r~s~t~u~v~w~x~y~z~A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~", -"Z~`~ {.{+{@{#{${%{&{*{={-{;{>{,{'{){!{;{~{{{]{^{/{({~{_{:{<{[{}{|{1{2{3{4{5{6{7{8{9{0{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{"}; diff --git a/examples/mobile/qtbubblelevel/main.cpp b/examples/mobile/qtbubblelevel/main.cpp deleted file mode 100644 index 2b8bdf00..00000000 --- a/examples/mobile/qtbubblelevel/main.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtDeclarative> -#include <QtGui> -#include <QAccelerometer> - -#include "accelerometerfilter.h" -#include "settings.h" -#include "taskswitcher.h" - -// Lock orientation in Symbian -#ifdef Q_OS_SYMBIAN - #include <eikenv.h> - #include <eikappui.h> - #include <aknenv.h> - #include <aknappui.h> -#endif - -QTM_USE_NAMESPACE - - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - -#ifdef Q_OS_SYMBIAN - // Lock orientation to landscape in Symbian - CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi()); - TRAP_IGNORE( - if (appUi) - appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape); - ) -#endif - - //! [0] - QDeclarativeView view; - view.setSource(QUrl("qrc:/qml/BubbleLevel.qml")); - view.setResizeMode(QDeclarativeView::SizeRootObjectToView); - //! [0] - - // ![1] - Settings settings; - - QAccelerometer sensor; - AccelerometerFilter filter; - sensor.addFilter(&filter); - //! [1] - - //! [2] - QObject *rootObject = dynamic_cast<QObject*>(view.rootObject()); - - // Associate Qt / QML signals and slots - QObject::connect(rootObject, SIGNAL(saveCorrectionAngle(const QVariant&)), - &settings, SLOT(saveCorrectionAngle(const QVariant&))); - - QObject::connect(&filter, SIGNAL(rotationChanged(const QVariant&)), - rootObject, SLOT(handleRotation(const QVariant&))); - - QObject::connect(&settings, SIGNAL(correctionAngle(const QVariant&)), - rootObject, SLOT(setCorrectionAngle(const QVariant&))); - - QObject::connect((QObject*)view.engine(), SIGNAL(quit()), - &app, SLOT(quit())); - //! [2] - - //! [3] -#ifdef Q_WS_MAEMO_5 - TaskSwitcher taskSwitcher; - - QObject::connect(rootObject, SIGNAL(minimizeApplication()), - &taskSwitcher, SLOT(minimizeApplication())); - - // Show the task switcher button - rootObject->setProperty("taskSwitcherVisible", true); -#endif - //! [3] - - //! [4] - // Read correction factor from permanent storage and emit it to QML side - settings.loadAndEmitCorrectionAngle(); - - // Begin measuring of the accelerometer sensor - sensor.start(); - //! [4] - - //! [5] -#if defined(Q_WS_MAEMO_5) || defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR) - view.setGeometry(QApplication::desktop()->screenGeometry()); - view.showFullScreen(); -#else - view.setGeometry((QRect(100, 100, 800, 480))); - view.show(); -#endif - //! [5] - - return app.exec(); -} diff --git a/examples/mobile/qtbubblelevel/qml/BubbleLevel.qml b/examples/mobile/qtbubblelevel/qml/BubbleLevel.qml deleted file mode 100644 index 790fa24c..00000000 --- a/examples/mobile/qtbubblelevel/qml/BubbleLevel.qml +++ /dev/null @@ -1,226 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Image { - id: bubbleLevel - - //! [0] - // Signaled when task switcher button is pressed - signal minimizeApplication() - - // Signaled when correction angle is saved - signal saveCorrectionAngle(variant angle) - - // These functions are used as Qt slots - function handleRotation(deg) { - horTube.rawangle = deg - } - - function setCorrectionAngle(deg) { - horTube.angleconstant = deg - } - - // Used to show the task switcher button in Maemo targets - property alias taskSwitcherVisible: taskSwitcher.visible - //! [0] - - anchors.fill: parent - source: "images/board.png" - smooth: true - - MouseArea { - anchors.fill: parent - onClicked: sign.frontSide = true - } - - Button { - id: taskSwitcher - - anchors { - left: parent.left - right: horTube.left - verticalCenter: horTube.verticalCenter - margins: (parent.width - (horTube.x + horTube.width)) / 4 - } - - height: width - source: "images/taskswitcher.png" - mouseAreaScale: 2 - onClicked: bubbleLevel.minimizeApplication() - visible: false - } - - Button { - id: exitButton - - anchors { - left: horTube.right - right: parent.right - verticalCenter: horTube.verticalCenter - margins: (parent.width - (horTube.x + horTube.width)) / 4 - } - - height: width - source: "images/exit.png" - mouseAreaScale: 2 - onClicked: Qt.quit() - } - - //! [1] - Tube { - id: horTube - - property real rawangle: 0 - property real angleconstant: 0 - - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width * 0.775; height: parent.height * 0.15625 - deg: rawangle - angleconstant - } - //! [1] - - Flipable { - id: sign - - property bool frontSide: true - - x: parent.width * 0.185; y: parent.height * 0.669 - width: parent.width * 0.63; height: parent.height * 0.258 - - MouseArea { - anchors.fill: parent - onClicked: sign.frontSide = !sign.frontSide - z: -1 - } - - transform: Rotation { - - origin.x: sign.width / 2; origin.y: sign.height / 2 - axis.x: 1; axis.y: 0; axis.z: 0 - angle: sign.frontSide ? 0 : 180 - - Behavior on angle { - RotationAnimation { - direction: RotationAnimation.Clockwise - easing.type: Easing.InOutCubic; duration: 300 - } - } - } - - front: Image { - anchors.fill: parent - source: "images/signwithtext.png" - smooth: true - } - - back: Image { - anchors.fill: parent - source: "images/signblank.png" - smooth: true - - Text { - id: oldValue - - anchors { - left: parent.left; leftMargin: parent.width * 0.10 - right: saveButton.left; rightMargin: 10 - verticalCenter: parent.verticalCenter - } - - text: "Place the device on a level surface and tap Calibrate." - color: "#302020" - wrapMode: Text.WordWrap - font { bold: false; pixelSize: Math.min(parent.width, parent.height) * 0.19 } - } - - Button { - id: saveButton - - anchors { - right: parent.right; rightMargin: parent.width * 0.09 - verticalCenter: parent.verticalCenter - } - - width: parent.width * 0.25; height: parent.height * 0.65 - border { width: 2; color: "#555555" } - radius: 10 - - onClicked: { - horTube.angleconstant = horTube.rawangle - saveCorrectionAngle(horTube.angleconstant) - } - - gradient: Gradient { - GradientStop { position: 0.0; color: "#999999" } - GradientStop { position: 0.2; color: "#BBBBBB" } - GradientStop { position: 0.8; color: "#BBBBBB" } - GradientStop { position: 1.0; color: "#999999" } - } - - Text { - anchors.centerIn: parent - color: "#302020" - text: "Calibrate" - font { bold: true; pixelSize: parent.width * 0.15 } - smooth: true - } - } - } - } - - Button { - anchors { - left: sign.right - right: parent.right - verticalCenter: sign.verticalCenter - margins: (parent.width - (sign.x + sign.width)) / 4 - } - - height: width - source: "images/calibbutton.png" - mouseAreaScale: 2 - smooth: true - - onClicked: sign.frontSide = !sign.frontSide - } -} diff --git a/examples/mobile/qtbubblelevel/qml/Button.qml b/examples/mobile/qtbubblelevel/qml/Button.qml deleted file mode 100644 index d4d0277b..00000000 --- a/examples/mobile/qtbubblelevel/qml/Button.qml +++ /dev/null @@ -1,72 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Rectangle { - id: button - - property alias source: image.source - property alias mouseAreaScale: mouseArea.scale - - signal clicked - - width: 50; height: 50 - color: "transparent" - - Behavior on scale { NumberAnimation { duration: 50 } } - - Image { - id: image - - anchors.fill: parent - smooth: true - } - - MouseArea { - id: mouseArea - - anchors.fill: parent - onClicked: { button.clicked() } - onEntered: { button.scale = 0.9 } - onExited: { button.scale = 1.0 } - } -} diff --git a/examples/mobile/qtbubblelevel/qml/Tube.qml b/examples/mobile/qtbubblelevel/qml/Tube.qml deleted file mode 100644 index 728c0c6e..00000000 --- a/examples/mobile/qtbubblelevel/qml/Tube.qml +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -//! [0] -Item { - id: tube - - property real deg - - Image { - id: bubble - - property real center: tube.width / 2 - property real bubbleCenter: bubble.width / 2 - - function calX() { - var newX = center + tube.deg / -20 * center - - if((newX - bubbleCenter) < 0) { - return 0 - } - else if((newX + bubbleCenter) > tube.width) { - return tube.width - 2 * bubbleCenter - } - - return newX - bubbleCenter; - } - - x: calX() - width: 0.16129032 * parent.width; height: 0.66666667 * parent.height - source: "images/bubble.png" - smooth: true - } - - Image { - anchors.horizontalCenter: parent.horizontalCenter - width: 0.36451613 * parent.width; height: 0.66666667 * parent.height - source: "images/scale.png" - } - - Image { - width: parent.width; height: 0.32 * parent.height - opacity: 0.8 - source: "images/reflection.png" - } -} -//! [0] diff --git a/examples/mobile/qtbubblelevel/qml/images/board.png b/examples/mobile/qtbubblelevel/qml/images/board.png Binary files differdeleted file mode 100644 index aaed8d01..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/board.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/bubble.png b/examples/mobile/qtbubblelevel/qml/images/bubble.png Binary files differdeleted file mode 100644 index e73be9e5..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/bubble.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/calibbutton.png b/examples/mobile/qtbubblelevel/qml/images/calibbutton.png Binary files differdeleted file mode 100644 index 5f84dad7..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/calibbutton.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/exit.png b/examples/mobile/qtbubblelevel/qml/images/exit.png Binary files differdeleted file mode 100644 index 64a61634..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/exit.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/reflection.png b/examples/mobile/qtbubblelevel/qml/images/reflection.png Binary files differdeleted file mode 100644 index 093781ec..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/reflection.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/scale.png b/examples/mobile/qtbubblelevel/qml/images/scale.png Binary files differdeleted file mode 100644 index c75b21e2..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/scale.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/signblank.png b/examples/mobile/qtbubblelevel/qml/images/signblank.png Binary files differdeleted file mode 100644 index 03b53cc0..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/signblank.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/signwithtext.png b/examples/mobile/qtbubblelevel/qml/images/signwithtext.png Binary files differdeleted file mode 100644 index be9c050f..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/signwithtext.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qml/images/taskswitcher.png b/examples/mobile/qtbubblelevel/qml/images/taskswitcher.png Binary files differdeleted file mode 100644 index 89ff7a15..00000000 --- a/examples/mobile/qtbubblelevel/qml/images/taskswitcher.png +++ /dev/null diff --git a/examples/mobile/qtbubblelevel/qtbubblelevel.pro b/examples/mobile/qtbubblelevel/qtbubblelevel.pro deleted file mode 100644 index 3314815b..00000000 --- a/examples/mobile/qtbubblelevel/qtbubblelevel.pro +++ /dev/null @@ -1,59 +0,0 @@ -QT += core gui declarative -CONFIG += mobility -MOBILITY += sensors - -TARGET = qtbubblelevel -TEMPLATE = app - -VERSION = 1.2.0 - -HEADERS += taskswitcher.h \ - accelerometerfilter.h \ - settings.h - -SOURCES += main.cpp \ - taskswitcher.cpp \ - accelerometerfilter.cpp - -OTHER_FILES += qml/*.qml \ - qml/images/*.png - -RESOURCES = resources.qrc - -maemo5 { - BINDIR = /opt/usr/bin - DATADIR = /usr/share - DEFINES += DATADIR=\\\"$$DATADIR\\\" \ - PKGDATADIR=\\\"$$PKGDATADIR\\\" - INSTALLS += target \ - desktop \ - iconxpm \ - icon26 \ - icon40 \ - icon64 - - target.path = $$BINDIR - desktop.path = $$DATADIR/applications/hildon - desktop.files += $${TARGET}.desktop - - iconxpm.path = $$DATADIR/pixmap - iconxpm.files += icons/xpm/qtbubblelevel.xpm - - icon26.path = $$DATADIR/icons/hicolor/26x26/apps - icon26.files += icons/26x26/qtbubblelevel.png - - icon40.path = $$DATADIR/icons/hicolor/40x40/apps - icon40.files += icons/40x40/qtbubblelevel.png - - icon64.path = $$DATADIR/icons/hicolor/64x64/apps - icon64.files += icons/64x64/qtbubblelevel.png -} - -symbian { - TARGET = QtBubbleLevel - - # To lock the application to landscape orientation - LIBS += -lcone -leikcore -lavkon - - ICON = icons/bubblelevel.svg -} diff --git a/examples/mobile/qtbubblelevel/resources.qrc b/examples/mobile/qtbubblelevel/resources.qrc deleted file mode 100644 index 8f57e825..00000000 --- a/examples/mobile/qtbubblelevel/resources.qrc +++ /dev/null @@ -1,16 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>qml/BubbleLevel.qml</file> - <file>qml/Tube.qml</file> - <file>qml/Button.qml</file> - <file>qml/images/taskswitcher.png</file> - <file>qml/images/exit.png</file> - <file>qml/images/board.png</file> - <file>qml/images/bubble.png</file> - <file>qml/images/scale.png</file> - <file>qml/images/reflection.png</file> - <file>qml/images/signwithtext.png</file> - <file>qml/images/calibbutton.png</file> - <file>qml/images/signblank.png</file> - </qresource> -</RCC> diff --git a/examples/mobile/qtbubblelevel/settings.h b/examples/mobile/qtbubblelevel/settings.h deleted file mode 100644 index fd53168c..00000000 --- a/examples/mobile/qtbubblelevel/settings.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef SETTINGS_H -#define SETTINGS_H - -#include <QtCore> - -class Settings : public QObject -{ - Q_OBJECT - -public: - void loadAndEmitCorrectionAngle() { - QSettings settings("Nokia corp", "QtBubbleLevel"); - emit correctionAngle(settings.value("CorrectionAngle", "0.0f")); - } - -signals: - void correctionAngle(const QVariant &angle); - -public slots: - void saveCorrectionAngle(const QVariant &angle) { - QSettings settings("Nokia corp", "QtBubbleLevel"); - settings.setValue("CorrectionAngle", angle); - } -}; - -#endif // SETTINGS_H diff --git a/examples/mobile/qtbubblelevel/taskswitcher.cpp b/examples/mobile/qtbubblelevel/taskswitcher.cpp deleted file mode 100644 index c6fe61d9..00000000 --- a/examples/mobile/qtbubblelevel/taskswitcher.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "taskswitcher.h" - -// Task Switcher for maemo -#ifdef Q_WS_MAEMO_5 - #include <QtDBus/QtDBus> -#endif - - -void TaskSwitcher::minimizeApplication() -{ - //! [0] - #ifdef Q_WS_MAEMO_5 - // Uses DBus to minimize application in Maemo - QDBusConnection connection = QDBusConnection::sessionBus(); - QDBusMessage message = - QDBusMessage::createSignal("/","com.nokia.hildon_desktop", - "exit_app_view"); - connection.send(message); - #endif - //! [0] -} diff --git a/examples/mobile/qtbubblelevel/taskswitcher.h b/examples/mobile/qtbubblelevel/taskswitcher.h deleted file mode 100644 index e6be274e..00000000 --- a/examples/mobile/qtbubblelevel/taskswitcher.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef TASKSWITCHER_H -#define TASKSWITCHER_H - -#include <QObject> - -class TaskSwitcher : public QObject -{ - Q_OBJECT - -public slots: - void minimizeApplication(); -}; - -#endif // TASKSWITCHER_H diff --git a/examples/mobile/quickhit/Button.qml b/examples/mobile/quickhit/Button.qml deleted file mode 100644 index 53191b82..00000000 --- a/examples/mobile/quickhit/Button.qml +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Item { - width: 30 - height: 30 - smooth: true - - property string buttonPath // for example "qrc:/gfx/exit.png" - property int buttonId: 0 - - signal btnClicked(int buttonId) - - property bool animationEnabled: true - - Image { - id: image - anchors.fill: parent - source: buttonPath - fillMode: Image.PreserveAspectFit - smooth: true - } - - SequentialAnimation { - id:anim - PropertyAction { target: image; property: "scale"; value:"0.7"} - PauseAnimation { duration: 200 } - PropertyAction { target: image; property: "scale"; value:"1.0"} - } - - Timer { - id: buttonPressedTimer - interval: 300; running: false; repeat: false - onTriggered: btnClicked(buttonId) - } - - MouseArea { - anchors.fill: parent - onPressed: { - if (animationEnabled && !anim.running) { - anim.restart() - } - buttonPressedTimer.restart() - } - } - -} diff --git a/examples/mobile/quickhit/Game.js b/examples/mobile/quickhit/Game.js deleted file mode 100644 index e25c8588..00000000 --- a/examples/mobile/quickhit/Game.js +++ /dev/null @@ -1,180 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var levelPlugin = null - -// --------------------------------------------------------------------------- -// hideMissiles -function hideMissiles() { - missile_1.stop() - missile_1.opacity = 0; - - missile_2.stop() - missile_2.opacity = 0; - - missile_3.stop() - missile_3.opacity = 0; - - missile_4.stop() - missile_4.opacity = 0; - - missile_5.stop() - missile_5.opacity = 0; - - enemy_missile_1.opacity = 0; - enemy_missile_2.opacity = 0; -} - -// --------------------------------------------------------------------------- -// GameOver -function gameOver() { - - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - - // Delete loaded plugin level - deleteLevel() - - // Hiding - myShip.opacity = 0 - btnPause.opacity = 0 -} - -// --------------------------------------------------------------------------- -// Pause game -function pauseGame(doPause) { - missile_1.pause(doPause) - missile_2.pause(doPause) - missile_3.pause(doPause) - missile_4.pause(doPause) - missile_5.pause(doPause) - enemy_missile_1.pause(doPause) - enemy_missile_2.pause(doPause) - - if (doPause) { - btnPause.opacity = 0 - } else { - btnPause.opacity = 1 - } - - GameEngine.pauseLevel(doPause) -} - -// --------------------------------------------------------------------------- -// Fire your missile -function fireMissile(aXpox, aFromYpos, aToYpos) { - if (missile_1.opacity<1) { - missile_1.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_2.opacity<1) { - missile_2.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_3.opacity<1) { - missile_3.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_4.opacity<1) { - missile_4.fire(aXpox,aFromYpos,aToYpos) - } - else if (missile_5.opacity<1) { - missile_5.fire(aXpox,aFromYpos,aToYpos) - } -} - -// --------------------------------------------------------------------------- -// Fire enemy missile -function fireEnemyMissile(aXpox, aFromYpos, aToYpos) { - if (enemy_missile_1.opacity==0) { - enemy_missile_1.enemyFire(aXpox,aFromYpos,aToYpos) - } - else if (enemy_missile_2.opacity==0) { - enemy_missile_2.enemyFire(aXpox,aFromYpos,aToYpos) - } -} - -// --------------------------------------------------------------------------- -// Create level QML component -function createLevel() { - console.log("Creating level "+LevelPlugin.qmlRootPath()+"Level.qml") - var levelComponent = Qt.createComponent("file:/"+LevelPlugin.qmlRootPath()+"Level.qml"); - if (levelComponent.status == Component.Ready) { - if (levelPlugin) { - deleteLevel() - } - levelPlugin = levelComponent.createObject(levelId); - if (levelPlugin != null) { - console.log("Level created") - } else { - console.log("Can not create level") - messageBox.showErrorMessage("ERROR: Can not create level!",6000) - return 1 - } - } else { - console.log("Can not find level, error:"+levelComponent.errorString()) - messageBox.showErrorMessage("ERROR: Can not find level!",6000) - return 1 - } - - missile_1.createGraphicsForLevel() - missile_1.setToDefaultPos() - missile_2.createGraphicsForLevel() - missile_2.setToDefaultPos() - missile_3.createGraphicsForLevel() - missile_3.setToDefaultPos() - missile_4.createGraphicsForLevel() - missile_4.setToDefaultPos() - missile_5.createGraphicsForLevel() - missile_5.setToDefaultPos() - enemy_missile_1.createGraphicsForLevel() - enemy_missile_2.createGraphicsForLevel() - myShip.createGraphicsForLevel() - - return 0 -} - -// --------------------------------------------------------------------------- -// Delete level -function deleteLevel() { - if (levelPlugin) { - GameEngine.clearQmlObjects() - levelPlugin.destroy() - - } - levelPlugin = null; -} diff --git a/examples/mobile/quickhit/Game.qml b/examples/mobile/quickhit/Game.qml deleted file mode 100644 index 01055806..00000000 --- a/examples/mobile/quickhit/Game.qml +++ /dev/null @@ -1,440 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import "Game.js" as GameScript - -Item { - id: gameArea - width: 360; height: 640 // NOTE: have to exists some default sizes - anchors.fill: parent - objectName: "gameArea" - - - // Who win, you or computer - property bool gameOverProperty: false - - // for info message to user - property variant messageBox - - // Level activated signal for Qt side to load activated level - signal levelActivated(int index) - - // Pause whole game, if level is loaded - function pauseGame() { - if (GameScript.levelPlugin) { - GameScript.pauseGame(true) - myShip.focus = false - btnPause.opacity = 0 - menu.showPauseMenu() - } - } - - // Qt side call this for QML take new level into use - function levelReadyForCreation() { - // Hide menu - menu.hideMenu() - // Show message - message.showMessage("Loading Level...",2000) - // Wait before create level - levelCreationTimer.restart() - } - - // Fires ememy missile. Function is called from Qt side - function fireEnemyMissile(aXpox, aFromYpos, aToYpos) { - GameScript.fireEnemyMissile(aXpox, aFromYpos, aToYpos) - } - - // Game Over handling. Function is called from Qt side - function gameOver(youWin) { - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - gameOverProperty = youWin - GameScript.hideMissiles() - gameOverTimer.restart() - //GameEngine.vibra() - } - - // End game and show menu - function endGame(showMessage) { - backgroundPic.opacity = 1 - // Stop GameEngine timers - GameEngine.enableEngineTimer(false) - // Do game over - GameScript.gameOver() - GameScript.hideMissiles() - // Clear GameEngine QML objects - GameEngine.clearQmlObjects() - myShip.opacity = 0 - myShip.focus = false - btnPause.opacity = 0 - idMainLogo.opacity = 1 - menu.showLevelMenu() - if (showMessage) { - message.showMessage("Game End",2000) - } - } - - // Timer for level creationing - Timer { - id: levelCreationTimer - interval: 1000; running: false; repeat: false - onTriggered: { - btnPause.opacity = 1 - myShip.opacity = 1 - myShip.focus = true - // Create new level - var ret = GameScript.createLevel() - if (ret==0) { - backgroundPic.opacity = 0 - // Find QML object for GameEngine - GameEngine.findQmlObjects() - // Enable GameEngine timer - GameEngine.enableEngineTimer(true) - } else { - // Level cannot be created! - endGame(false) - } - } - } - - // Timer for game over - Timer { - id: gameOverTimer - interval: 1500; running: false; repeat: false - onTriggered: { - backgroundPic.opacity = 1 - idMainLogo.opacity = 1 - // Do game over - GameScript.gameOver() - // Clear GameEngine QML objects - GameEngine.clearQmlObjects() - menu.showLevelMenu() - if (gameOverProperty) { - GameEngine.playInternalSound(4) - message.showMessage("Game Over, You win!",2000) - } else { - GameEngine.playInternalSounds(3,3) - message.showMessage("Game Over, You lose",2000) - } - } - } - - // Menu signal to slot connections - Connections { - target: menu - // Level selected - onLevelSelected: { - // Stop bigship animation - bigShipAnim.stop() - bigShip.opacity = 0 - // Hide logo - idMainLogo.opacity = 0 - // Signal level activated - gameArea.levelActivated(levelIndex) - } - // Level resumed selected - onResumeSelected: { - menu.hideMenu() - GameScript.pauseGame(false) - myShip.focus = true - } - } - - // This component creation completed - Component.onCompleted: { - // Show main Level selection menu - menu.showLevelMenu() - - // Start big ship animation - bigShipAnim.restart() - - // Set variable - messageBox = message - - // Play game start sound - GameEngine.gameStartSound() - - // Fade splash screen - fadeAnim.restart() - // Rotate splash logo - rotAnim.restart() - } - - - // Background image for the game - Image { - id: backgroundPic - z:1 - source: "qrc:/gfx/background2.png" - fillMode: Image.PreserveAspectCrop - smooth: true - anchors.fill: parent - } - - Image { - id: bigShip - source: "qrc:/gfx/bigship.png" - z:1.5 - smooth: true - x: width * -1 - y: parent.height * 0.55 - } - SequentialAnimation { - id: bigShipAnim; - NumberAnimation {target:bigShip; property:"x"; to:gameArea.width; easing.type: Easing.Linear; duration: 80000 } - PropertyAction {target:bigShip; properties: "opacity"; value: 0} - } - - - // Enemies grid - Item { - // This is general level QML plaseholder - // Into this is level QML created in createLevel() - id:levelId - anchors.fill: parent - z:2 - } - - Image { - id: idMainLogo - z:19 - source: "qrc:/gfx/quickhit_logo.png" - smooth: true - anchors.horizontalCenter: gameArea.horizontalCenter - y:gameArea.height / 10 * 1 - } - - // Game menu - Menu { - z:20 - id:menu - width: gameArea.width / 5 * 4 - height: gameArea.height / 10 * 4 - anchors.verticalCenter: gameArea.verticalCenter - anchors.horizontalCenter: gameArea.horizontalCenter - } - - // My ship - MyShip { - z:10 - id: myShip - opacity: 0 - } - - // Mouse area of your ship - MouseArea { - //anchors.fill: parent - width: parent.width - height: myShip.height - x:0 - y:gameArea.height - myShip.height - - drag.target: myShip - drag.axis: Drag.XAxis - drag.minimumX: 0 - drag.maximumX: gameArea.width - myShip.width - - property int startPos: 0 - property int dragCount: 0 - - onPressed: { - startPos = mouseX - dragCount = 0 - } - onPositionChanged: { - //dragCount = Math.abs(mouseX-startPos) - } - onReleased: { - //if (dragCount<20) { - myShip.fire() - //} - } - } - - // Pause button - Button { - id: btnSound - z:12 - //animationEnabled: false - anchors.top: parent.top - anchors.topMargin: 10 - buttonPath: "qrc:/gfx/soundOn.png" - buttonId: 4 - width: gameArea.width / 10 - height: gameArea.width / 10 - x: gameArea.width - width - 15 - opacity: 1 - Connections { - target: btnSound - onBtnClicked: { - if (btnSound.buttonId==4) { - // Sound off - btnSound.buttonPath = "qrc:/gfx/soundOff.png" - btnSound.buttonId = 5 - GameEngine.enableSounds(false) - } else { - // Sound on - btnSound.buttonPath = "qrc:/gfx/soundOn.png" - btnSound.buttonId = 4 - GameEngine.enableSounds(true) - } - } - } - } - - // Pause button - Button { - id: btnPause - z:13 - anchors.top: parent.top - anchors.topMargin: 10 - buttonPath: "qrc:/gfx/pause.png" - buttonId: 3 - width: gameArea.width / 10 - height: gameArea.width / 10 - x: gameArea.width - width - btnPause.width - 15*2 - opacity: 0 - Connections { - target: btnPause - onBtnClicked: { - GameScript.pauseGame(true) - myShip.focus = false - btnPause.opacity = 0 - menu.showPauseMenu() - } - } - } - - - // Hidden missiles ready for to be launched - Missile { - z:3 - id: missile_1 - x:0 - y:10 - } - Missile { - z:4 - id: missile_2 - x: 20 - y:10 - } - Missile { - z:5 - id: missile_3 - x: 40 - y:10 - } - Missile { - z:6 - id: missile_4 - x: 60 - y:10 - } - Missile { - z:7 - id: missile_5 - x: 80 - y:10 - } - Missile { - z:8 - objectName: "enemy_missile" - id: enemy_missile_1 - enemyMissile: true - } - Missile { - z:9 - objectName: "enemy_missile" - id: enemy_missile_2 - enemyMissile: true - } - - // Messages to the user - Message { - id: message - z:21 - } - - - // Splach screen - Rectangle { - id: blackFace - x:-2 - y:0 - width: parent.width + 2 - height: parent.height - z:100 - color: "black" - opacity: 1 - - MouseArea { - anchors.fill: parent - onPressed: { - mouse.accepted = true - fadeAnim.stop() - blackFace.opacity = 0 - } - } - - Image { - id: idLogo - source: "qrc:/gfx/quickhit_logo.png" - smooth: true - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - opacity: 0 - } - NumberAnimation { id: rotAnim; target: idLogo; property: "rotation"; to: 20; duration: 9000 } - - } - // Splach screen animation - SequentialAnimation { - id: fadeAnim - PauseAnimation {duration: 1000 } - NumberAnimation {target: idLogo; property: "opacity"; from: 0; to: 1; duration: 2000 } - PauseAnimation {duration: 2000 } - NumberAnimation {target: idLogo; property: "opacity"; from: 1; to: 0; duration: 2000 } - NumberAnimation {target: blackFace; property: "opacity"; from: 1; to: 0; duration: 2000 } - } - -} diff --git a/examples/mobile/quickhit/InvSounds.cpp b/examples/mobile/quickhit/InvSounds.cpp deleted file mode 100644 index 53c59834..00000000 --- a/examples/mobile/quickhit/InvSounds.cpp +++ /dev/null @@ -1,190 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "InvSounds.h" -#include <QDir> -#include <QDebug> - -using namespace GE; - -CInvSounds::CInvSounds(QObject *parent) : QObject( parent ) -{ - m_musicInstance = 0; - m_sounds = 0; - m_internalSounds = 0; - m_soundCount = 0; - m_internalSoundCount = 0; - - enableSounds(true); - - m_audioOut = new AudioOut( this, &m_mixer ); - - enableInternalSounds(); -} - -void CInvSounds::enableSounds(bool enable) -{ - if (enable) - m_mixer.setGeneralVolume(0.2f); - else - m_mixer.setGeneralVolume(0); -} - -void CInvSounds::enableInternalSounds() -{ - disableInternalSounds(); - - // Application internal sounda - m_internalSoundPaths.append(":/sound/menu1.wav"); - m_internalSoundPaths.append(":/sound/menu2.wav"); - m_internalSoundPaths.append(":/sound/gamestart.wav"); - m_internalSoundPaths.append(":/sound/gameover.wav"); - m_internalSoundPaths.append(":/sound/youwin.wav"); - - m_internalSoundCount = m_internalSoundPaths.count(); - m_internalSounds = new CAudioBuffer*[m_internalSoundCount]; - - // Load general application sounds - for (int ff=0; ff<m_internalSoundPaths.count(); ff++) { - m_internalSounds[ff] = CAudioBuffer::loadWav(m_internalSoundPaths[ff]); - } -} - -void CInvSounds::enableSounds(QStringList sounds) -{ - disableSounds(); - - // Sounds from the level - m_soundPaths = sounds; - m_soundCount = sounds.count(); - m_sounds = new CAudioBuffer*[m_soundCount]; - // Load level sounds - for (int f=0; f<m_soundPaths.count(); f++) { - m_sounds[f] = CAudioBuffer::loadWav(m_soundPaths[f]); - } - -} - -void CInvSounds::disableInternalSounds() -{ - for (int f=0; f<m_internalSoundCount; f++) { - if (m_internalSounds[f]) { - delete m_internalSounds[f]; - } - } - delete [] m_internalSounds; - m_internalSoundCount = 0; - m_internalSoundPaths.clear(); - - m_musicInstance = 0; -} - -void CInvSounds::disableSounds() -{ - for (int f=0; f<m_soundCount; f++) { - if (m_sounds[f]) { - delete m_sounds[f]; - } - } - delete [] m_sounds; - m_sounds = 0; - m_soundCount = 0; - m_soundPaths.clear(); - - m_musicInstance = 0; -} - -CInvSounds::~CInvSounds() { - if (m_audioOut) { - delete m_audioOut; - m_audioOut = 0; - } - - disableSounds(); - disableInternalSounds(); -} - - -void CInvSounds::beginMusicOn() { - m_musicInstance = (GE::CAudioBufferPlayInstance*)m_mixer.addAudioSource( new GE::CAudioBufferPlayInstance( m_sounds[0] ) ); - m_musicInstance->setLoopTimes(-1); -} - - -void CInvSounds::beginMusicOff() { - if (!m_musicInstance) return; - m_musicInstance->setLoopTimes(0); // stop when finished - m_musicInstance = 0; -}; - - -void CInvSounds::playSound(int index) { - if (index < m_soundCount && index > -1) { - m_sounds[index]->playWithMixer( m_mixer ); - } -} - -void CInvSounds::playSounds(int index, int count) -{ - if (index < m_soundCount && index > -1) { - CAudioBufferPlayInstance* i = m_sounds[index]->playWithMixer( m_mixer ); - i->setLoopTimes(count); - } -} - -void CInvSounds::playInternalSound(int index) { - if (index < m_internalSoundCount && index > -1) { - m_internalSounds[index]->playWithMixer( m_mixer ); - } -} - -void CInvSounds::playInternalSounds(int index, int count) -{ - if (index < m_internalSoundCount && index > -1) { - CAudioBufferPlayInstance* i = m_internalSounds[index]->playWithMixer( m_mixer ); - i->setLoopTimes(count); - } -} - -void CInvSounds::gameStartSound() { - CAudioBufferPlayInstance* i = m_internalSounds[2]->playWithMixer( m_mixer ); - i->setLoopTimes(2); -}; diff --git a/examples/mobile/quickhit/InvSounds.h b/examples/mobile/quickhit/InvSounds.h deleted file mode 100644 index 6c648f8a..00000000 --- a/examples/mobile/quickhit/InvSounds.h +++ /dev/null @@ -1,92 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __CINVSOUNDS__ -#define __CINVSOUNDS__ - -#include <QObject> -#include <QStringList> - -#include "ga_src/GEAudioBuffer.h" -#include "ga_src/GEAudioOut.h" - -class CInvSounds : public QObject -{ - Q_OBJECT - -public: - CInvSounds(QObject *parent); - ~CInvSounds(); - - void enableInternalSounds(); - void enableSounds(QStringList sounds); - void disableInternalSounds(); - void disableSounds(); - - void beginMusicOn(); - void beginMusicOff(); - - void enableSounds(bool enable); - - - void gameStartSound(); - -public slots: - void playSound(int index); - void playSounds(int index, int count); - void playInternalSound(int index); - void playInternalSounds(int index, int count); - -protected: - QStringList m_soundPaths; - QStringList m_internalSoundPaths; - GE::CAudioBufferPlayInstance *m_musicInstance; - GE::CAudioMixer m_mixer; - GE::AudioOut *m_audioOut; - - GE::CAudioBuffer **m_sounds; - int m_soundCount; - - GE::CAudioBuffer **m_internalSounds; - int m_internalSoundCount; -}; - -#endif diff --git a/examples/mobile/quickhit/Menu.qml b/examples/mobile/quickhit/Menu.qml deleted file mode 100644 index a12085b9..00000000 --- a/examples/mobile/quickhit/Menu.qml +++ /dev/null @@ -1,164 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import "Game.js" as GameScript - - -Rectangle { - id: menu - - Text { - id: title - smooth: true - anchors.bottom: menu.top - anchors.horizontalCenter: menu.horizontalCenter - color: "red" - font.pixelSize: gameArea.width / 12 - font.bold: true - horizontalAlignment: Text.AlignHCenter - } - - border.color: "black" - border.width: 2 - radius: 8 - smooth: true - opacity: 0 // transparent by default - - color: "black" -// gradient: Gradient { -// GradientStop { position: 0.0; color: "white" } -// GradientStop { position: 1.0; color: "black" } -// } - - // Signals - signal levelSelected(int levelIndex) - signal resumeSelected() - - // Show level menu - function showLevelMenu() { - menuData.clear() - title.text = "Select Your Level" - var plugins = GameEngine.pluginList() - for (var i = 0; i < plugins.length; i++) { - menuData.append({"name": plugins[i],"type":"0"}) - } - menuData.append({"name": "About","type":"4"}) - menuData.append({"name": "Exit","type":"1"}) - menu.opacity = 0.8 - listView.focus = true - } - - function showPauseMenu() { - menuData.clear() - title.text = "Resume level?" - menuData.append({"name": "Resume","type":"2"}) - menuData.append({"name": "End Game","type":"3"}) - menu.opacity = 0.8 - listView.focus = true - } - - // Hide menu - function hideMenu() { - menu.opacity = 0 - listView.focus = false - } - - function menuItemSelected(index, type) { - switch (type) { - case "0": { - // Level selection - menu.levelSelected(index) - break; - } - case "1": { - // Exit - Qt.quit() - break; - } - case "2": { - // Resume - menu.resumeSelected() - break; - } - case "3": { - // End Game - gameArea.endGame() - break; - } - case "4": { - // Show about - gameArea.messageBox.showInfoMessage() - break; - } - default: { - break; - } - } - } - - ListModel { - id: menuData - } - - ListView { - id: listView - clip: true - anchors.fill: parent - keyNavigationWraps: true - - function doSelect() { - menu.menuItemSelected(listView.currentIndex,menuData.get(listView.currentIndex).type) - } - - model: menuData - - delegate: MenuItem { - id: menuItem - selectedItem: menuItem.ListView.isCurrentItem ? true : false - onItemSelected: { - listView.currentIndex = model.index - listView.doSelect() - } - - } - } -} diff --git a/examples/mobile/quickhit/MenuItem.qml b/examples/mobile/quickhit/MenuItem.qml deleted file mode 100644 index 9b694653..00000000 --- a/examples/mobile/quickhit/MenuItem.qml +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Text { - id: menuItem - text: name - color: "white" - opacity: 1 - font.family: "Calibri" - font.pixelSize: menu.width / 8 - x: (parent.width - width )/ 2 - - property bool selectedItem: false - property int type - - signal itemSelected() - - transform: Rotation { id:rotationId; origin.x:width/2; origin.y:height/2; axis { x: 1; y: 0; z: 0 } angle: 0 } - SequentialAnimation { - id: toRotateRightAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 180; duration: 300 } - PropertyAction { target: menuItem; property: "color"; value:"red"} - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 180; to: 360; duration: 300 } - PropertyAction { target: menuItem; property: "color"; value:"white"} - } - - function selectItem(doSelect) { - if (!toRotateRightAndCenterAnim.running) { - GameEngine.playInternalSound(0) - toRotateRightAndCenterAnim.restart() - if (doSelect) { - GameEngine.playInternalSound(1) - selectionTimer.restart() - } - } - } - - Timer { - id: selectionTimer - interval: 1000; running: false; repeat: false - onTriggered: menuItem.itemSelected() - } - - MouseArea { - id: mouseArea; - anchors.fill: parent - onClicked: { - selectItem(true) - } - } - - Keys.onSpacePressed: { selectItem(true) } - Keys.onSelectPressed: { selectItem(true) } - Keys.onEnterPressed: { selectItem(true) } - Keys.onReleased: { - if (event.key == Qt.Key_Down || event.key == Qt.Key_Up) { - selectItem(false) - } - event.accepted = false - } -} - diff --git a/examples/mobile/quickhit/Message.qml b/examples/mobile/quickhit/Message.qml deleted file mode 100644 index 7df30223..00000000 --- a/examples/mobile/quickhit/Message.qml +++ /dev/null @@ -1,148 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Rectangle { - id: message - border.color: "black" - border.width: 1 - radius: 8 - smooth: true - opacity: 0 // transparent = 0 by default - color: "black" - - property string txt - property int animSpeed - - function showMessage(text,speed) { - message.border.color = "black" - message.y = 50 - message.width = gameArea.width / 5 * 4 - message.height = gameArea.height / 8 * 1 - txt = text - animSpeed = speed - message.opacity = 1 - messageText.font.pixelSize = parent.width / 14 - messageAnim.restart() - } - - function showErrorMessage(text,speed) { - message.border.color = "red" - message.y = 50 - message.width = gameArea.width / 5 * 4 - message.height = gameArea.height / 8 * 1 - txt = text - animSpeed = speed - message.opacity = 1 - messageText.font.pixelSize = parent.width / 14 - messageAnim.restart() - } - - function showInfoMessage() { - message.border.color = "white" - txt = "<a href=\"https://projects.forum.nokia.com/quickhit\">QuickHit</a>" + - "<p>" + - "Forum Nokia <br>" + - "Qt Quick Game Example <br>" + - "</p>" + - "<p>" + - "Sounds were loaded from freesound.org under Creative Commons Sampling Plus 1.0 license.<br>" + - "</p>" + - "<p>" + - "Sounds were created by these nicknames:<br>" + - "HardPCM<br>" + - "Matt_G<br>" + - "klankbeeld<br>" + - "steveygos93<br>" + - "joe93barlow<br>" + - "ljudman<br>" + - "Jovica<br>" + - "patchen<br>" + - "nthompson<br>" + - "</p>" - - animSpeed = 9000 - message.opacity = 1 - message.y = 10 - message.height = gameArea.height - message.y - 10 - message.width = gameArea.width - 20 - - messageText.font.pixelSize = parent.width / 16 - messageAnim.restart() - } - - //gradient: Gradient { - // GradientStop { position: 0.0; color: "white" } - // GradientStop { position: 1.0; color: "black" } - //} - - SequentialAnimation { - id: messageAnim - PropertyAnimation { - target: message; properties: "x"; - from: message.width*-1; to: gameArea.width; duration: animSpeed; easing.type: Easing.OutInExpo} - PropertyAction { target: message; properties: "opacity"; value: 0 } - } - - MouseArea { - anchors.fill: parent - onClicked: { - messageAnim.stop() - message.opacity = 0 - } - } - - Text { - id: messageText - anchors.fill: parent - anchors.margins: 10 - text: txt - wrapMode: Text.WordWrap - color: "white" - font.family: "Calibri" - font.pixelSize: parent.width / 14 - font.bold: true - onLinkActivated: { - GameEngine.openLink(link) - } - } -} diff --git a/examples/mobile/quickhit/Missile.qml b/examples/mobile/quickhit/Missile.qml deleted file mode 100644 index f0a8b588..00000000 --- a/examples/mobile/quickhit/Missile.qml +++ /dev/null @@ -1,144 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Item { - id: missile - objectName: "missile" - opacity: 0 // transparent by default - - property int fromYpos - property int toYpos - property variant myMissileSize - property bool enemyMissile: false - property int defaultX: 0 - property int defaultY: 0 - - function storeDefaultPos() { - defaultX = missile.x - defaultY = missile.y - } - - function setToDefaultPos() { - missile.x = defaultX - missile.y = defaultY - opacity = 0.5 - } - - function createGraphicsForLevel() { - missile.myMissileSize = LevelPlugin.graphSize(LevelPlugin.pathToMissilePic()) - missile.height = myMissileSize.height; - missile.width = myMissileSize.width; - if (missile.enemyMissile) { - missileImage.source = "file:/"+LevelPlugin.pathToEnemyMissilePic() - } else { - missileImage.source = "file:/"+LevelPlugin.pathToMissilePic() - } - } - - // Execute fire! - function fire(aXpox, aFromYpos, aToYpos) { - missile.x = aXpox - missile.width / 2 - missile.y = aFromYpos - missile.fromYpos = aFromYpos - missile.toYpos = aToYpos - missile.opacity = 1 - GameEngine.playSound(2) // NOTE: 3 for your missile sound - flying.restart() - } - - // Enemy fires! - function enemyFire(aXpox, aFromYpos, aToYpos) { - missile.x = aXpox - missile.width / 2 - missile.y = aFromYpos - missile.fromYpos = aFromYpos - missile.toYpos = aToYpos - missile.opacity = 1 - GameEngine.playSound(3) // NOTE: 3 for enemy missile sound - flyingEnemy.restart() - } - - // Stop missile - function stop() { - flying.stop() - } - - // Pause missile - function pause(doPause) { - if (doPause) { - flying.pause() - flyingEnemy.pause() - } else { - flying.resume() - flyingEnemy.resume() - } - } - - Component.onCompleted: { - if (!enemyMissile) { - storeDefaultPos() - setToDefaultPos() - } - } - - // Animates missile flying to the target - SequentialAnimation { - id: flying - PropertyAnimation {target: missile; properties: "y"; - from: fromYpos; to: toYpos; duration: 2000; easing.type: Easing.InCubic } - //PropertyAction {target: missile; properties: "opacity"; value: 0} - ScriptAction { script: setToDefaultPos() } - } - - SequentialAnimation { - id: flyingEnemy - PropertyAnimation {target: missile; properties: "y"; - from: fromYpos; to: toYpos; duration: 2000; easing.type: Easing.InCubic } - PropertyAction {target: missile; properties: "opacity"; value: 0} - } - - Image { - id: missileImage - smooth: true - } -} - diff --git a/examples/mobile/quickhit/MyShip.qml b/examples/mobile/quickhit/MyShip.qml deleted file mode 100644 index 6d470831..00000000 --- a/examples/mobile/quickhit/MyShip.qml +++ /dev/null @@ -1,185 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import "Game.js" as GameScript - -Item { - id: myShip - objectName: "myShip" - - property variant myShipSize - property int originalY - - // Fires missile if exists - function fire() { - if (myShip.opacity==1) { - GameScript.fireMissile(myShip.x+myShip.width/2,myShip.y,myShip.height*-1) - if (myShip.y+myShip.height < gameArea.height+5) { - goDownAnim.restart() - } - } - } - - function createGraphicsForLevel() { - myShip.myShipSize = LevelPlugin.graphSize(LevelPlugin.pathToMyShipPic()) - myShip.height = myShipSize.height - myShip.width = myShipSize.width - image.source = "file:/"+LevelPlugin.pathToMyShipPic() - myShip.y = gameArea.height - myShip.height - 10 - originalY = myShip.y - myShip.x = (gameArea.width - myShip.width)/ 2 - } - - Image { - id: image - smooth: true - } - - Keys.onSpacePressed: { fire() } - Keys.onSelectPressed: { fire() } - Keys.onRightPressed: { - if (myShip.x < (gameArea.width - myShip.width - 20)) { - toRightAnim.restart() - } - } - Keys.onLeftPressed: { - if (myShip.x > 20) { - toLeftAnim.restart() - } - } - - // To right animation - PropertyAnimation { id: toRightAnim; target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x + 20; duration: 500 } - - // To left animation - PropertyAnimation { id: toLeftAnim; target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x - 20; duration: 500 } - - // Go down on fire animation - SequentialAnimation { - id: goDownAnim - NumberAnimation { target: myShip; property:"y"; from: myShip.y; to: myShip.y+5; - easing.type: Easing.Linear; duration: 200 } - NumberAnimation { target: myShip; property:"y"; from: myShip.y; to: originalY; - easing.type: Easing.Linear; duration: 200 } - } - - - /* - MouseArea { - anchors.fill: parent - drag.target: myShip - drag.axis: Drag.XAxis - drag.minimumX: 0 - drag.maximumX: gameArea.width - myShip.width - onReleased: { - fire() - } - } - */ - - - /* - property bool isAutoRepeat: false - Keys.onPressed: { - if (event.key == Qt.Key_Right) { - if (event.isAutoRepeat) { - isAutoRepeat = true - toRightAnim.restart() - } else { - isAutoRepeat = false - toRotateRightAndCenterAnim.restart() - } - event.accepted = true - } - else if (event.key == Qt.Key_Left) { - if (event.isAutoRepeat) { - isAutoRepeat = true - toLeftAnim.restart() - } else { - isAutoRepeat = false - toRotateLeftAndCenterAnim.restart() - } - event.accepted = true - } - } - - Keys.onReleased: { - if (isAutoRepeat) { - toRotateRightAndCenterAnim.stop() - toRotateLeftAndCenterAnim.stop() - } else { - toRotateCenter.restart() - } - event.accepted = true - } - - // Rotation on movement animation - transform: Rotation { id:rotationId; origin.x: width/2; origin.y: height/2; axis { x: 0; y: 1; z: 0 } angle: 0 } - SequentialAnimation { - id: toRotateRightAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 30; duration: 100 } - PropertyAnimation { target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x + 20; duration: 500 } - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - } - SequentialAnimation { - id: toRotateLeftAndCenterAnim - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: -30; duration: 100 } - PropertyAnimation { target: myShip; easing.type: Easing.OutQuint; - properties: "x"; from: myShip.x; to: myShip.x - 20; duration: 500 } - PropertyAnimation { target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - } - PropertyAnimation { id: toRotateRight; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: 30; duration: 100 } - PropertyAnimation { id: toRotateCenter; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; to: 0; duration: 100 } - PropertyAnimation { id: toRotateLeft; target: rotationId; easing.type: Easing.Linear; - properties: "angle"; from: 0; to: -30; duration: 100 } -*/ - -} diff --git a/examples/mobile/quickhit/debian/changelog b/examples/mobile/quickhit/debian/changelog deleted file mode 100644 index 226e172d..00000000 --- a/examples/mobile/quickhit/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -quickhit (1.1.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -quickhit (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/examples/mobile/quickhit/debian/compat b/examples/mobile/quickhit/debian/compat deleted file mode 100644 index 7f8f011e..00000000 --- a/examples/mobile/quickhit/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/examples/mobile/quickhit/debian/control b/examples/mobile/quickhit/debian/control deleted file mode 100644 index 7253285e..00000000 --- a/examples/mobile/quickhit/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: quickhit -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: quickhit -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - Qt Quick Game example diff --git a/examples/mobile/quickhit/debian/copyright b/examples/mobile/quickhit/debian/copyright deleted file mode 100644 index b0aadafe..00000000 --- a/examples/mobile/quickhit/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is quickhit, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/examples/mobile/quickhit/debian/dirs b/examples/mobile/quickhit/debian/dirs deleted file mode 100644 index 80507f10..00000000 --- a/examples/mobile/quickhit/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/examples/mobile/quickhit/debian/postinst b/examples/mobile/quickhit/debian/postinst deleted file mode 100644 index 79fb6ddd..00000000 --- a/examples/mobile/quickhit/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/examples/mobile/quickhit/debian/rules b/examples/mobile/quickhit/debian/rules deleted file mode 100644 index b485428f..00000000 --- a/examples/mobile/quickhit/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := quickhit - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/examples/mobile/quickhit/freesound.org.licence.txt b/examples/mobile/quickhit/freesound.org.licence.txt deleted file mode 100644 index 8714ea04..00000000 --- a/examples/mobile/quickhit/freesound.org.licence.txt +++ /dev/null @@ -1,24 +0,0 @@ - -Sounds were loaded from www.freesound.org under Creative Commons Sampling Plus 1.0 license. - -Sounds were created by these nicknames: HardPCM, Matt_G, klankbeeld, steveygos93, joe93barlow, ljudman, Jovica, patchen, nthompson - -78677__joe93barlow__strike2.wav -47251__nthompson__rocket.wav -3378__patchen__Rhino_03.wav -3258__Jovica__Dronetail_02.wav -30351__Matt_G__Space_Fighter_Pass.wav -32954__HardPCM__Chip054.wav -32985__HardPCM__Alarm001.wav -33245__ljudman__grenade.wav -78678__joe93barlow__swing0.wav -80401__steveygos93__Explosion2.wav -109438__klankbeeld__intro_brass_01.wav - - - - - - - - diff --git a/examples/mobile/quickhit/ga_src/GEAudioBuffer.cpp b/examples/mobile/quickhit/ga_src/GEAudioBuffer.cpp deleted file mode 100644 index 7df701d6..00000000 --- a/examples/mobile/quickhit/ga_src/GEAudioBuffer.cpp +++ /dev/null @@ -1,392 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QDebug> -#include <math.h> -#include "GEAudioBuffer.h" - -using namespace GE; - - -struct SWavHeader { - char chunkID[4]; - unsigned int chunkSize; - char format[4]; - - unsigned char subchunk1id[4]; - unsigned int subchunk1size; - unsigned short audioFormat; - unsigned short nofChannels; - unsigned int sampleRate; - unsigned int byteRate; - - unsigned short blockAlign; - unsigned short bitsPerSample; - - unsigned char subchunk2id[4]; - unsigned int subchunk2size; - -}; - -CAudioBuffer::CAudioBuffer() { - m_data = 0; - m_dataLength = 0; - m_sampleFunction = 0; -}; - - -CAudioBuffer::~CAudioBuffer() { - reallocate(0); -} - -void CAudioBuffer::reallocate( int length ) { - if (m_data) delete [] ((char*)m_data); - m_dataLength = length; - if (m_dataLength>0) { - m_data = new char[ m_dataLength ]; - } else m_data = 0; -}; - - -CAudioBuffer* CAudioBuffer::loadWav( QString fileName ) { - QFile *wavFile = new QFile( fileName ); - - - if (wavFile->open(QIODevice::ReadOnly)) { - SWavHeader header; - - wavFile->read( header.chunkID, 4 ); - if (header.chunkID[0]!='R' || header.chunkID[1]!='I' || header.chunkID[2]!='F' || header.chunkID[3]!='F') return 0; // incorrect header - - wavFile->read( (char*)&header.chunkSize,4 ); - wavFile->read( (char*)&header.format,4 ); - - if (header.format[0]!='W' || header.format[1]!='A' || header.format[2]!='V' || header.format[3]!='E') return 0; // incorrect header - - wavFile->read( (char*)&header.subchunk1id,4 ); - if (header.subchunk1id[0]!='f' || header.subchunk1id[1]!='m' || header.subchunk1id[2]!='t' || header.subchunk1id[3]!=' ') return 0; // incorrect header - - wavFile->read( (char*)&header.subchunk1size,4 ); - wavFile->read( (char*)&header.audioFormat,2 ); - wavFile->read( (char*)&header.nofChannels,2 ); - wavFile->read( (char*)&header.sampleRate,4 ); - wavFile->read( (char*)&header.byteRate,4 ); - wavFile->read( (char*)&header.blockAlign,2 ); - wavFile->read( (char*)&header.bitsPerSample,2 ); - - qDebug() << fileName << " opened"; - - while (1) { - if (wavFile->read( (char*)&header.subchunk2id,4 ) != 4) return 0; - if (wavFile->read( (char*)&header.subchunk2size,4 ) != 4) return 0; - //int deb_size = header.subchunk2size; - //char tes[4]; - //memcpy(tes, header.subchunk2id, 4 ); - //if (header.subchunk2id[0]!='d' || header.subchunk2id[1]!='a' || header.subchunk2id[2]!='t' || header.subchunk2id[3]!='a') return 0; // incorrect header - if (header.subchunk2id[0]=='d' && header.subchunk2id[1]=='a' && header.subchunk2id[2]=='t' && header.subchunk2id[3]=='a') break; // found the data, chunk - // this was not the data-chunk. skip it - if (header.subchunk2size<1) return 0; // error in file - char *unused = new char[header.subchunk2size]; - wavFile->read( unused, header.subchunk2size ); - delete [] unused; - } - - - - // the data follows. - if (header.subchunk2size<1) return 0; - - CAudioBuffer *rval = new CAudioBuffer; - rval->m_nofChannels = header.nofChannels; - rval->m_bitsPerSample = header.bitsPerSample; - rval->m_samplesPerSec = header.sampleRate; - rval->m_signedData = 0; // where to know this? - rval->reallocate( header.subchunk2size ); - - wavFile->read( (char*)rval->m_data, header.subchunk2size ); - - // choose a good sampling function. - rval->m_sampleFunction = 0; - if (rval->m_nofChannels==1) { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitMono; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitMono; - } else { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitStereo; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitStereo; - } - - return rval; - - - } else { - qDebug() << fileName << " NOT opened"; - return 0; - } - - delete wavFile; -}; - - -CAudioBuffer* CAudioBuffer::loadWav( FILE *wavFile ) { - // read the header. - SWavHeader header; - fread( header.chunkID, 4, 1, wavFile ); - if (header.chunkID[0]!='R' || header.chunkID[1]!='I' || header.chunkID[2]!='F' || header.chunkID[3]!='F') return 0; // incorrect header - - fread( &header.chunkSize, 4, 1, wavFile ); - fread( header.format, 4, 1, wavFile ); - if (header.format[0]!='W' || header.format[1]!='A' || header.format[2]!='V' || header.format[3]!='E') return 0; // incorrect header - - fread( header.subchunk1id, 4, 1, wavFile ); - if (header.subchunk1id[0]!='f' || header.subchunk1id[1]!='m' || header.subchunk1id[2]!='t' || header.subchunk1id[3]!=' ') return 0; // incorrect header - - fread( &header.subchunk1size, 4, 1, wavFile ); - fread( &header.audioFormat, 2, 1, wavFile ); - fread( &header.nofChannels, 2, 1, wavFile ); - fread( &header.sampleRate, 4, 1, wavFile ); - fread( &header.byteRate, 4, 1, wavFile ); - - fread( &header.blockAlign, 2, 1, wavFile ); - fread( &header.bitsPerSample, 2, 1, wavFile ); - - fread( header.subchunk2id, 4, 1, wavFile ); - if (header.subchunk2id[0]!='d' || header.subchunk2id[1]!='a' || header.subchunk2id[2]!='t' || header.subchunk2id[3]!='a') return 0; // incorrect header - fread( &header.subchunk2size, 4, 1, wavFile ); - - - // the data follows. - if (header.subchunk2size<1) return 0; - - CAudioBuffer *rval = new CAudioBuffer; - rval->m_nofChannels = header.nofChannels; - rval->m_bitsPerSample = header.bitsPerSample; - rval->m_samplesPerSec = header.sampleRate; - rval->m_signedData = 0; // where to know this? - rval->reallocate( header.subchunk2size ); - - fread( rval->m_data, 1, header.subchunk2size, wavFile ); - - - - // choose a good sampling function. - rval->m_sampleFunction = 0; - if (rval->m_nofChannels==1) { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitMono; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitMono; - } else { - if (rval->m_bitsPerSample == 8) rval->m_sampleFunction = sampleFunction8bitStereo; - if (rval->m_bitsPerSample == 16) rval->m_sampleFunction = sampleFunction16bitStereo; - } - - return rval; -}; - - - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction8bitMono( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((unsigned char*)(abuffer->m_data))[pos]-128)<<8; -}; - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction16bitMono( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((short*)(abuffer->m_data))[pos]); -}; - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction8bitStereo( CAudioBuffer *abuffer, int pos, int channel ) { - return ((AUDIO_SAMPLE_TYPE)(((char*)(abuffer->m_data))[pos*abuffer->m_nofChannels + channel])<<8); -}; - - -AUDIO_SAMPLE_TYPE CAudioBuffer::sampleFunction16bitStereo( CAudioBuffer *abuffer, int pos, int channel ) { - return (AUDIO_SAMPLE_TYPE)(((short*)(abuffer->m_data))[pos*abuffer->m_nofChannels + channel]); -}; - -CAudioBufferPlayInstance *CAudioBuffer::playWithMixer( CAudioMixer &mixer ) { - CAudioBufferPlayInstance *i = (CAudioBufferPlayInstance*)mixer.addAudioSource( new CAudioBufferPlayInstance( this )); - return i; -}; - - -CAudioBufferPlayInstance::CAudioBufferPlayInstance() { - m_fixedPos = 0; - m_fixedInc = 0; - m_buffer = 0; - m_fixedLeftVolume = 4096; - m_fixedRightVolume = 4096; - m_destroyWhenFinished = true; - m_finished = false; -}; - -CAudioBufferPlayInstance::CAudioBufferPlayInstance( CAudioBuffer *startPlaying ) { - m_fixedPos = 0; - m_fixedInc = 0; - m_fixedLeftVolume = 4096; - m_fixedRightVolume = 4096; - m_destroyWhenFinished = true; - m_finished = false; - playBuffer( startPlaying, 1.0f, 1.0f ); -}; - -void CAudioBufferPlayInstance::playBuffer( CAudioBuffer *startPlaying, float volume, float speed, int loopTimes ) { - m_buffer = startPlaying; - m_fixedLeftVolume = (int)(4096.0f*volume); - m_fixedRightVolume = m_fixedLeftVolume; - m_fixedPos = 0; - //m_fixedInc = ( startPlaying->getSamplesPerSec() * (int)(4096.0f*speed)) / AUDIO_FREQUENCY; - setSpeed( speed ); - m_loopTimes = loopTimes; - -}; - -CAudioBufferPlayInstance::~CAudioBufferPlayInstance() { - -}; - - -void CAudioBufferPlayInstance::stop() { - m_buffer = 0; - m_finished = true; -}; - -void CAudioBufferPlayInstance::setSpeed( float speed ) { - if (!m_buffer) return; - m_fixedInc = (int)( ((float)m_buffer->getSamplesPerSec() * 4096.0f*speed) / (float)AUDIO_FREQUENCY ); -}; - -void CAudioBufferPlayInstance::setLeftVolume( float vol ) { - m_fixedLeftVolume = (int)(4096.0f*vol); -}; - -void CAudioBufferPlayInstance::setRightVolume( float vol ) { - m_fixedRightVolume = (int)(4096.0f*vol); -}; - -bool CAudioBufferPlayInstance::canBeDestroyed() { - if (m_finished==true && - m_destroyWhenFinished==true) return true; else return false; -}; - - - -// Does not do any bound-checking. Must be checked before called. -int CAudioBufferPlayInstance::mixBlock( AUDIO_SAMPLE_TYPE *target, int samplesToMix ) { - SAMPLE_FUNCTION_TYPE sampleFunction = m_buffer->getSampleFunction(); - if (!sampleFunction) return 0; // unsupported sampletype - AUDIO_SAMPLE_TYPE *t_target = target+samplesToMix*2; - int sourcepos; - //int tempCounter = 0; - - if (m_buffer->getNofChannels() == 2) { // stereo - while (target!=t_target) { - sourcepos = m_fixedPos>>12; - target[0] = (((((sampleFunction)( m_buffer, sourcepos, 0) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 0) * (m_fixedPos&4095) ) >> 12) * m_fixedLeftVolume) >> 12); - target[1] = (((((sampleFunction)( m_buffer, sourcepos, 1) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 1) * (m_fixedPos&4095) ) >> 12) * m_fixedRightVolume) >> 12); - m_fixedPos+=m_fixedInc; - target+=2; - //tempCounter++; - }; - } else { // mono - int temp; - while (target!=t_target) { - sourcepos = m_fixedPos>>12; - temp = (((sampleFunction)( m_buffer, sourcepos, 0 ) * (4096-(m_fixedPos&4095)) + (sampleFunction)( m_buffer, sourcepos+1, 0 ) * (m_fixedPos&4095) ) >> 12); - target[0] = ((temp*m_fixedLeftVolume)>>12); - target[1] = ((temp*m_fixedRightVolume)>>12); - m_fixedPos+=m_fixedInc; - target+=2; - //tempCounter++; - }; - - }; - - return samplesToMix; -}; - - - -int CAudioBufferPlayInstance::pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) { - if (!m_buffer) return 0; // no sample associated to mix.. - - int channelLength = ((m_buffer->getDataLength()) / (m_buffer->getNofChannels()*m_buffer->getBytesPerSample()))-2; - - int samplesToWrite = bufferLength/2; - int amount; - int totalMixed = 0; - - - while (samplesToWrite>0) { - int samplesLeft = channelLength - (m_fixedPos>>12); - int maxMixAmount = (int)(((long long int)(samplesLeft)<<12) / m_fixedInc ); // This is how much we can mix at least - //int maxMixAmount = (int)((float)samplesLeft / ((float)m_fixedInc/4096.0f)); - //if (maxMixAmount<1) maxMixAmount = 1; // NOTE, THIS MIGHT CAUSE PROBLEMS. NEEDS CHECKING - if (maxMixAmount>samplesToWrite) { - maxMixAmount=samplesToWrite; - } - - if (maxMixAmount > 0) { - amount=mixBlock(target+totalMixed * 2, maxMixAmount); - - if (amount == 0) - { - // Error! - break; - } - - totalMixed+=amount; - } else { - amount = 0; - m_fixedPos = channelLength<<12; - } - - // sample is ended,.. check the looping variables and see what to do. - if ((m_fixedPos>>12)>=channelLength) { - m_fixedPos -= (channelLength<<12); - if (m_loopTimes>0) m_loopTimes--; - if (m_loopTimes==0) { - stop(); - return totalMixed; - } - } - - samplesToWrite-=amount; - if (samplesToWrite<1) break; - }; - return totalMixed*2; -}; diff --git a/examples/mobile/quickhit/ga_src/GEAudioBuffer.h b/examples/mobile/quickhit/ga_src/GEAudioBuffer.h deleted file mode 100644 index 78648056..00000000 --- a/examples/mobile/quickhit/ga_src/GEAudioBuffer.h +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_IGA_AUDIOBUFFER__ -#define __GE_IGA_AUDIOBUFFER__ - -#include <QFile> -#include "GEInterfaces.h" - - -namespace GE { - - class CAudioBufferPlayInstance; - class CAudioBuffer; // forward declaration - typedef AUDIO_SAMPLE_TYPE(*SAMPLE_FUNCTION_TYPE)(CAudioBuffer *abuffer, int pos, int channel); - - class CAudioBuffer { // container for a sound - public: - CAudioBuffer(); - virtual ~CAudioBuffer(); - - static CAudioBuffer* loadWav( QString fileName ); - static CAudioBuffer* loadWav( FILE *wavFile ); // support for stdio - void reallocate( int length ); - - - inline void* getRawData() { return m_data; } - inline int getDataLength() { return m_dataLength; } - - inline int getBytesPerSample() { return (m_bitsPerSample>>3); } - inline int getBitsPerSample() { return m_bitsPerSample; } - inline int getSamplesPerSec() { return m_samplesPerSec; } - inline short getNofChannels() { return m_nofChannels; } - inline SAMPLE_FUNCTION_TYPE getSampleFunction() { return m_sampleFunction; } - - - // static implementations of sample functions - static AUDIO_SAMPLE_TYPE sampleFunction8bitMono( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction16bitMono( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction8bitStereo( CAudioBuffer *abuffer, int pos, int channel ); - static AUDIO_SAMPLE_TYPE sampleFunction16bitStereo( CAudioBuffer *abuffer, int pos, int channel ); - - CAudioBufferPlayInstance *playWithMixer( GE::CAudioMixer &mixer ); - - protected: - SAMPLE_FUNCTION_TYPE m_sampleFunction; - short m_nofChannels; - void *m_data; - int m_dataLength; // in bytes - short m_bitsPerSample; - bool m_signedData; - int m_samplesPerSec; - }; - - - - class CAudioBufferPlayInstance : public IAudioSource { - public: - CAudioBufferPlayInstance(); - CAudioBufferPlayInstance( CAudioBuffer *start_playing ); - virtual ~CAudioBufferPlayInstance(); - void playBuffer( CAudioBuffer *startPlaying, float volume, float fixedSpeed, int loopTimes = 0 ); // looptimes -1 = loop forever - - void setSpeed( float speed ); - void setLeftVolume( float lvol ); - void setRightVolume( float rvol ); - - - inline void setLoopTimes( int ltimes ) { m_loopTimes = ltimes; } - void stop(); - - - - int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - bool canBeDestroyed(); - - bool isPlaying() { if (m_buffer) return true; else return false; } - inline bool isFinished() { return m_finished; } - inline bool destroyWhenFinished() { return m_destroyWhenFinished; } - inline void setDestroyWhenFinished( bool set ) { m_destroyWhenFinished = set; } - - protected: - int mixBlock( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - bool m_finished; - bool m_destroyWhenFinished; - int m_fixedPos; - int m_fixedInc; - - int m_fixedLeftVolume; - int m_fixedRightVolume; - int m_fixedCenter; - int m_loopTimes; - CAudioBuffer *m_buffer; - }; - -}; - - - -#endif diff --git a/examples/mobile/quickhit/ga_src/GEAudioOut.cpp b/examples/mobile/quickhit/ga_src/GEAudioOut.cpp deleted file mode 100644 index e7194f0a..00000000 --- a/examples/mobile/quickhit/ga_src/GEAudioOut.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtCore/qstring.h> -#include <QAudioOutput> - -#include "GEAudioOut.h" - -using namespace GE; -//using namespace QTM_NAMESPACE; - -/* -#ifndef Q_OS_WIN32 -QTM_USE_NAMESPACE -#endif -*/ - -const int CHANNELS = 2; -const QString CODEC = "audio/pcm"; -const QAudioFormat::Endian BYTEORDER = QAudioFormat::LittleEndian; -const QAudioFormat::SampleType SAMTYPE = QAudioFormat::SignedInt; - - - -AudioOut::AudioOut( QObject *parent, GE::IAudioSource *source ) : QThread(parent) { // qobject - m_source = source; - QAudioFormat format; - format.setFrequency(AUDIO_FREQUENCY); - format.setChannels(CHANNELS); - format.setSampleSize(AUDIO_SAMPLE_BITS); - format.setCodec(CODEC); - format.setByteOrder(BYTEORDER); - format.setSampleType(SAMTYPE); - - QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice()); - if (!info.isFormatSupported(format)) - format = info.nearestFormat(format); - - - m_audioOutput = new QAudioOutput(info,format); - -#ifdef Q_WS_MAEMO_5 - m_audioOutput->setBufferSize(20000); - m_sendBufferSize = 5000; -#else - m_audioOutput->setBufferSize(16000); - m_sendBufferSize = 4000; -#endif - - m_outTarget = m_audioOutput->start(); - - - m_sendBuffer = new AUDIO_SAMPLE_TYPE[ m_sendBufferSize ]; - m_samplesMixed = 0; - - m_runstate=0; - -#ifndef Q_OS_SYMBIAN - start(); -#else - m_audioOutput->setNotifyInterval(5); - connect(m_audioOutput,SIGNAL(notify()),SLOT(audioNotify())); -#endif - -}; - - -AudioOut::~AudioOut() { - if (m_runstate==0) m_runstate = 1; - if (QThread::isRunning() == false) m_runstate = 2; - while (m_runstate!=2) { msleep(50); } // wait until the thread is finished - m_audioOutput->stop(); - delete m_audioOutput; - delete [] m_sendBuffer; -}; - - -void AudioOut::audioNotify() { - tick(); -}; - -void AudioOut::tick() { - // fill data to buffer as much as free space is available.. - int samplesToWrite = m_audioOutput->bytesFree() / (CHANNELS*AUDIO_SAMPLE_BITS/8); - samplesToWrite*=2; - - if (samplesToWrite > m_sendBufferSize) samplesToWrite = m_sendBufferSize; - if (samplesToWrite<=0) return; - int mixedSamples = m_source->pullAudio( m_sendBuffer, samplesToWrite ); - m_outTarget->write( (char*)m_sendBuffer, mixedSamples*2 ); - -}; - - -void AudioOut::run() { - if (!m_source) { m_runstate=2; return; } - int sleepTime = m_sendBufferSize * 340 / AUDIO_FREQUENCY; - if (sleepTime<2) sleepTime = 2; - - while (m_runstate==0) { - tick(); - msleep(sleepTime); - }; - m_runstate = 2; -}; - - diff --git a/examples/mobile/quickhit/ga_src/GEAudioOut.h b/examples/mobile/quickhit/ga_src/GEAudioOut.h deleted file mode 100644 index 4216d27c..00000000 --- a/examples/mobile/quickhit/ga_src/GEAudioOut.h +++ /dev/null @@ -1,90 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_QTAUDIOOUT__ -#define __GE_QTAUDIOOUT__ - -#include <QtCore/qobject.h> -#include <QtCore/qfile.h> -#include <QtMultimedia> -#include <QtCore/qtimer.h> -#include <QtCore/qstring.h> -#include <QThread> - -#include "GEInterfaces.h" - - -class QAudioOutput; - -namespace GE { - - - - class AudioOut : public QThread { - Q_OBJECT - - public: - AudioOut(QObject *parent, GE::IAudioSource *source); - virtual ~AudioOut(); - - - - private slots: - void audioNotify(); // for internal notify "solution" - - - protected: - void tick(); - virtual void run(); // this is for the threaded mode only - - - qint64 m_samplesMixed; - - QAudioOutput *m_audioOutput; - QIODevice *m_outTarget; - GE::IAudioSource *m_source; - int m_runstate; - AUDIO_SAMPLE_TYPE *m_sendBuffer; - int m_sendBufferSize; - }; -} - -#endif diff --git a/examples/mobile/quickhit/ga_src/GEInterfaces.cpp b/examples/mobile/quickhit/ga_src/GEInterfaces.cpp deleted file mode 100644 index cc7293bf..00000000 --- a/examples/mobile/quickhit/ga_src/GEInterfaces.cpp +++ /dev/null @@ -1,178 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <memory.h> -#include "GEInterfaces.h" - - -using namespace GE; - -/** - * CAudioSource - * common functionality - * - */ -IAudioSource::IAudioSource() { - m_next = 0; -}; - -IAudioSource::~IAudioSource() { - - -}; - -/** - * CAudioMixer - * - */ -CAudioMixer::CAudioMixer() { - m_sourceList = 0; - m_mixingBuffer = 0; - m_mixingBufferLength = 0; - m_fixedGeneralVolume = 4096; -}; - - -CAudioMixer::~CAudioMixer() { - destroyList(); - if (m_mixingBuffer) { - delete [] m_mixingBuffer; - m_mixingBuffer = 0; - }; -}; - -void CAudioMixer::destroyList() { - m_mutex.lock(); - IAudioSource *l = m_sourceList; - while (l) { - IAudioSource *n = l->m_next; - delete l; - l = n; - }; - m_sourceList = 0; - m_mutex.unlock(); -}; - - -IAudioSource* CAudioMixer::addAudioSource( IAudioSource *source ) { - m_mutex.lock(); - source->m_next = 0; - if (m_sourceList) { - IAudioSource *l = m_sourceList; - while (l->m_next) l = l->m_next; - l->m_next = source; - } else m_sourceList = source; - m_mutex.unlock(); - return source; - -}; - - -bool CAudioMixer::removeAudioSource( IAudioSource *source ) { - return true; -}; - -void CAudioMixer::setGeneralVolume( float vol ) { - m_fixedGeneralVolume = (4096.0f*vol); -}; - -int CAudioMixer::pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) { - - if (!m_sourceList) return 0; - - m_mutex.lock(); - - - if (m_mixingBufferLength<bufferLength) { - if (m_mixingBuffer) delete [] m_mixingBuffer; - m_mixingBufferLength = bufferLength; - m_mixingBuffer = new AUDIO_SAMPLE_TYPE[ m_mixingBufferLength ]; - }; - - memset( target, 0, sizeof( AUDIO_SAMPLE_TYPE ) * bufferLength ); - - AUDIO_SAMPLE_TYPE *t; - AUDIO_SAMPLE_TYPE *t_target; - AUDIO_SAMPLE_TYPE *s; - - IAudioSource *prev = 0; - IAudioSource *l = m_sourceList; - while (l) { - IAudioSource *next = l->m_next; - - // process l - int mixed = l->pullAudio( m_mixingBuffer, bufferLength ); - if (mixed>0) { - // mix to main.. - t = target; - t_target = t+mixed; - s = m_mixingBuffer; - while (t!=t_target) { - *t +=(((*s)*m_fixedGeneralVolume)>>12); - t++; - s++; - }; - }; - - - - // autodestroy - if (l->canBeDestroyed() == true) { // NOTE, IS UNDER TESTING,... MIGHT CAUSE UNPREDICTABLE CRASHING WITH SOME USE CASES!!! - if (!prev) - m_sourceList = next; - else prev->m_next = next; - delete l; - l = 0; - }; - - - - - prev = l; - l = next; - }; - m_mutex.unlock(); - return bufferLength; -}; - - - - diff --git a/examples/mobile/quickhit/ga_src/GEInterfaces.h b/examples/mobile/quickhit/ga_src/GEInterfaces.h deleted file mode 100644 index 712ce4ac..00000000 --- a/examples/mobile/quickhit/ga_src/GEInterfaces.h +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef __GE_IGA_INTERFACES__ -#define __GE_IGA_INTERFACES__ - -#include <QMutex> - -namespace GE { - -#define AUDIO_FREQUENCY 22050 -#define AUDIO_SAMPLE_TYPE short -#define AUDIO_SAMPLE_BITS 16 - - class IAudioSource { - public: - IAudioSource(); - virtual ~IAudioSource(); - - virtual int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ) = 0; - virtual bool canBeDestroyed() { return false; } - - IAudioSource *m_next; // for listing, do not touch if you don't know what you are doing. - }; - - - class CAudioMixer : public IAudioSource { - public: - CAudioMixer(); - virtual ~CAudioMixer(); - void destroyList(); // destroy all the sources in the list - - - IAudioSource* addAudioSource( IAudioSource *s ); // add new audio source to the list - bool removeAudioSource( IAudioSource *s ); // remove an audio source from the list - int pullAudio( AUDIO_SAMPLE_TYPE *target, int bufferLength ); - void setGeneralVolume( float vol ); - - - protected: - QMutex m_mutex; - int m_fixedGeneralVolume; - AUDIO_SAMPLE_TYPE *m_mixingBuffer; - int m_mixingBufferLength; - IAudioSource *m_sourceList; - }; - -}; - - -#endif diff --git a/examples/mobile/quickhit/gameengine.cpp b/examples/mobile/quickhit/gameengine.cpp deleted file mode 100644 index 0b1ccf11..00000000 --- a/examples/mobile/quickhit/gameengine.cpp +++ /dev/null @@ -1,593 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "gameengine.h" -#include "plugins/levelplugininterface.h" -#include "InvSounds.h" - -#include <QDebug> -#include <QTimerEvent> -#include <QTime> -#include <QDesktopServices> - -const int TIMER_SPEED = 80; - -GameEngine::GameEngine(QObject* parent) - :QObject(parent) -{ - m_timerId = 0; - m_doEnemyMissile = 1500 / TIMER_SPEED; - m_GameGml = 0; - m_gameLevel = 0; - - clearQmlObjects(); - - // For random - QTime time = QTime::currentTime(); - qsrand((uint)time.msec()); - - // Sound engine - m_soundEngine = new CInvSounds(this); - - // Device profile - m_silent = false; - -#ifdef Q_OS_SYMBIAN - iVibrate = CHWRMVibra::NewL(); -#endif - - // Get device profile, is it silent? -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - m_systemDeviceInfo = new QSystemDeviceInfo(this); - QObject::connect(m_systemDeviceInfo,SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)),this, - SLOT(currentProfileChanged(QSystemDeviceInfo::Profile))); - QSystemDeviceInfo::Profile p = m_systemDeviceInfo->currentProfile(); - if (p == QSystemDeviceInfo::SilentProfile) { - m_silent = true; - } -#endif - -} - - -GameEngine::~GameEngine() -{ -#ifdef Q_OS_SYMBIAN - delete iVibrate; -#endif - -} - -void GameEngine::gameStartSound() -{ - if (!m_silent) - m_soundEngine->gameStartSound(); -} - -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 -void GameEngine::currentProfileChanged(QSystemDeviceInfo::Profile p) -{ - if (p == QSystemDeviceInfo::SilentProfile) { - enableSounds(QVariant(false)); - } else { - enableSounds(QVariant(true)); - } -} -#endif - -void GameEngine::enableSounds(QVariant enable) -{ - m_silent = !enable.toBool(); - - if (m_silent) - this->m_soundEngine->enableSounds(false); - else - this->m_soundEngine->enableSounds(true); - -} - -QVariant GameEngine::randInt(QVariant low, QVariant high) -{ - // Random number between low and high - return qrand() % ((high.toInt() + 1) - low.toInt()) + low.toInt(); -} - -void GameEngine::setGameLevel(LevelPluginInterface* level) -{ - // Set used game level - m_gameLevel = level; - - if (m_gameLevel) { - // Set used sound from the level into sound engine - m_soundEngine->enableSounds(m_gameLevel->levelSounds()); - // Invoke QML to take new level in use - QMetaObject::invokeMethod(m_GameGml, "levelReadyForCreation", Qt::AutoConnection); - - m_doEnemyMissile = m_gameLevel->enemyFireSpeed().toInt() / TIMER_SPEED; - } -} - -void GameEngine::setPluginList(QList<QPluginLoader*> plugins) -{ - m_pluginList = plugins; -} - -QVariant GameEngine::pluginList() -{ - QStringList list; - QPluginLoader* loader; - foreach (loader,m_pluginList) { - QString s = loader->fileName(); - s = s.mid(s.lastIndexOf("/")+1); - s = s.left(s.lastIndexOf(".")); - s = s.toUpper(); -#ifdef Q_WS_MAEMO_5 - if (s.contains("LIB")) { - s = s.right(s.length() - (s.indexOf("LIB")+3)); - } -#endif - list.append(s); - } - return QVariant(list); -} - -void GameEngine::pauseLevel(QVariant doPause) -{ - bool enableTimer = !doPause.toBool(); - enableEngineTimer(QVariant(enableTimer)); - QMetaObject::invokeMethod(m_levelQml, "pause", Qt::AutoConnection,Q_ARG(QVariant, doPause)); -} - - -void GameEngine::findQmlObjects() -{ - if (m_GameGml) { - qDebug() << "GameEngine::findQmlObjects()"; - - // Find Missiles objects - m_missileList.clear(); - m_enemyMissileList.clear(); - findMissiles(m_GameGml); - - // Set QMLs - setLevelQml(m_GameGml->findChild<QObject*>("level")); - setEnemiesGridQml(m_GameGml->findChild<QObject*>("enemiesGrid")); - setMyShipQml(m_GameGml->findChild<QObject*>("myShip")); - - // Find Enemies objects - m_enemyList.clear(); - qDebug() << "GameEngine::findQmlObjects() find enemies from: level QML"; - findEnemies(m_levelQml); - - - } else { - qDebug() << "GameEngine::findQmlObjects() rootObject NULL"; - } -} - -void GameEngine::clearQmlObjects() -{ - m_missileList.clear(); - m_enemyMissileList.clear(); - m_enemyList.clear(); - m_levelQml = 0; - m_enemiesGridGml = 0; - m_myShipGml = 0; - //m_GameGml = 0; // NOTE: Do not delete this -} - - -void GameEngine::findMissiles(QObject *rootObject) -{ - if (rootObject) { - QObjectList list = rootObject->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0) { - findMissiles(item); - } else { - if (rootObject->objectName()=="missile") { - QDeclarativeItem* missile = static_cast<QDeclarativeItem*>(rootObject); - m_missileList.append(missile); - } else if (rootObject->objectName()=="enemy_missile") { - QDeclarativeItem* enemyMissile = static_cast<QDeclarativeItem*>(rootObject); - m_enemyMissileList.append(enemyMissile); - } - } - } - } else { - qDebug() << "GameEngine::findMissiles() rootObject NULL"; - } -} - -void GameEngine::findEnemies(QObject *rootObject) -{ - if (rootObject) { - QObjectList list = rootObject->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0 && item->objectName()!="enemy") { - //qDebug() << "Enemy children found from: " << item->objectName(); - findEnemies(item); - } else { - if (item->objectName()=="enemy") { - //qDebug() << "Enemy child founds: " << item->objectName(); - QDeclarativeItem* enemy = static_cast<QDeclarativeItem*>(item); - m_enemyList.append(enemy); - } - } - } - } else { - qDebug() << "GameEngine::findEnemies() rootObject NULL"; - } -} - -void GameEngine::setEnemiesGridQml(QObject* o) -{ - m_enemiesGridGml = static_cast<QDeclarativeItem*>(o); -} - -void GameEngine::setMyShipQml(QObject* o) -{ - m_myShipGml = static_cast<QDeclarativeItem*>(o); -} - -void GameEngine::setGameQml(QObject* o) -{ - m_GameGml = static_cast<QDeclarativeItem*>(o); -} - - -void GameEngine::timerEvent(QTimerEvent *e) -{ - if (e->timerId()==m_timerId) { - // Do hit test - doHitTest(); - - m_doEnemyMissile--; - - if (m_gameLevel && m_doEnemyMissile<0) { - m_doEnemyMissile = m_gameLevel->enemyFireSpeed().toInt() / TIMER_SPEED; - // Do emeny missile launch - doEnemyMissile(); - } - } -} - -void GameEngine::enableEngineTimer(QVariant enable) -{ - if (m_gameLevel) { - if (m_timerId==0 && enable.toBool()) { - m_timerId = QObject::startTimer(TIMER_SPEED); - } - else if (m_timerId != 0 && !enable.toBool()) { - QObject::killTimer(m_timerId); - m_timerId = 0; - } - } -} - -void GameEngine::selectVisibleEnemy(int& start, int& end) -{ - QDeclarativeItem* enemy = 0; - for (int i=0 ; i<m_enemyList.count() ; i++) { - enemy = m_enemyList[i]; - if (enemy->opacity()==1) { - start = i; - break; - } - } - enemy = 0; - for (int e=m_enemyList.count()-1 ; e>0 ; e--) { - enemy = m_enemyList[e]; - if (enemy->opacity()==1) { - end = e; - break; - } - } -} - -void GameEngine::doEnemyMissile() -{ - QMutexLocker locker(&m_enemyListMutex); - - QDeclarativeItem* missile = 0; - QDeclarativeItem* enemy = 0; - - // Find free missile - foreach (missile, m_enemyMissileList) { - if (missile->opacity()==0){ - // Random select enemy who fire - int start=0; int end=0; - selectVisibleEnemy(start,end); - int whoWillFire = randInt(QVariant(start),QVariant(end)).toInt(); - if (m_enemyList.count() < whoWillFire+1) - break; - - enemy = m_enemyList.at(whoWillFire); - if (enemy && enemy->opacity()==1) { - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - //qDebug() << "QMetaObject::invokeMethod() - fireEnemyMissile"; - QMetaObject::invokeMethod(m_GameGml, "fireEnemyMissile", Qt::AutoConnection, - Q_ARG(QVariant, enemyP.x()+enemy->boundingRect().width()/4), - Q_ARG(QVariant, enemyP.y()+enemy->boundingRect().height()), - Q_ARG(QVariant, m_GameGml->boundingRect().height())); - } - break; - } - } -} - -void GameEngine::doHitTest() -{ - QMutexLocker locker(&m_enemyListMutex); - - QDeclarativeItem* missile = 0; - QDeclarativeItem* enemy = 0; - - // No enemies? - if (m_enemyList.count()==0) { - enableEngineTimer(QVariant(false)); - qDebug() << "No enemies left"; - gameOver(true); - return; - } - - if (!m_myShipGml) { - return; - } - - // Check ship collision - if (m_myShipGml->opacity()==1) { - for (int e=0; e<m_enemyList.count(); e++) { - enemy = m_enemyList[e]; - if (enemy->opacity()==0) { - break; - } - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - QRectF enemyR(enemyP,QSize(enemy->boundingRect().width(),enemy->boundingRect().height())); - // Collision? - if (enemyR.contains(m_myShipGml->pos())) { - enableEngineTimer(QVariant(false)); - - // Collision explosion - QPointF myP = m_myShipGml->pos(); - playSound(1); - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - m_myShipGml->setOpacity(0); - - gameOver(false); - qDebug() << "Collision"; - return; - } - // Enemy too deep? - else if (enemyR.bottomLeft().y() > m_myShipGml->pos().y()+m_myShipGml->pos().y()*0.1) { - enableEngineTimer(QVariant(false)); - - // Enemy too deep explosion - QPointF myP = m_myShipGml->pos(); - playSound(1); - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - m_myShipGml->setOpacity(0); - - gameOver(false); - qDebug() << "Enemy too deep"; - return; - } - } - } - - // Check your missiles hit to enemies - foreach (missile, m_missileList) { - if (missile->opacity()==1){ - for (int e=0; e<m_enemyList.count(); e++) { - enemy = m_enemyList[e]; - if (enemy->opacity()<1) { - break; - } - QPointF missileP = missile->pos(); - missileP.setX(missileP.rx() + missile->boundingRect().width()/2); - - QPointF enemyP = enemy->pos(); - if (m_enemiesGridGml) { - enemyP += m_enemiesGridGml->pos(); - } - - QRectF r(enemyP,QSize(enemy->boundingRect().width(),enemy->boundingRect().height())); - if (r.contains(missileP)) { - // Hit ! - playSound(0); - //qDebug() << "QMetaObject::invokeMethod() - explode"; - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, enemyP.x()+enemy->boundingRect().width()/2), - Q_ARG(QVariant, enemyP.y()+enemy->boundingRect().height())); - missile->setOpacity(0); - //fastVibra(); - if (m_enemiesGridGml) { - // Set transparent placeholder for enemy when using GridView - enemy->setProperty("source",QVariant("file:/"+m_gameLevel->pathToTransparentEnemyPic().toString())); - } else { - // Hide enemy after explode - enemy->setOpacity(0); - } - - // Remove enemy from list - m_enemyList.removeAt(e); - e--; - } - enemy = 0; - } - } - } - - // Check enemies missiles hit to you - if (m_myShipGml->opacity()==1) { - foreach (missile, m_enemyMissileList) { - if (missile->opacity()==1){ - QPointF missileP = missile->pos(); - missileP.setX(missileP.rx() + missile->boundingRect().width()/2); - - QPointF myP = m_myShipGml->pos(); - - QRectF r(myP,QSize(m_myShipGml->boundingRect().width(),m_myShipGml->boundingRect().height())); - if (r.contains(missileP)) { - // Hit ! - playSound(1); - //qDebug() << "QMetaObject::invokeMethod() - explode"; - QMetaObject::invokeMethod(m_levelQml, "explode", Qt::AutoConnection, - Q_ARG(QVariant, myP.x()+m_myShipGml->boundingRect().width()/2), - Q_ARG(QVariant, myP.y()+m_myShipGml->boundingRect().height())); - missile->setOpacity(0); - m_myShipGml->setOpacity(0); - break; - } - } - } - } else { - // You was killed - enableEngineTimer(QVariant(false)); - gameOver(false); - qDebug() << "You was killed by enemy missile"; - } - -} - - -void GameEngine::playSound(QVariant index) -{ - if (!m_silent) { - int i = index.toInt(); - m_soundEngine->playSound(i); - } -} - -void GameEngine::playSounds(QVariant index, QVariant count) -{ - if (!m_silent) { - m_soundEngine->playSounds(index.toInt(),count.toInt()); - } -} - -void GameEngine::playInternalSound(QVariant index) -{ - if (!m_silent) { - m_soundEngine->playInternalSound(index.toInt()); - } -} - -void GameEngine::playInternalSounds(QVariant index, QVariant count) -{ - if (!m_silent) { - m_soundEngine->playInternalSounds(index.toInt(),count.toInt()); - } -} - -void GameEngine::gameOver(bool youWin) -{ - qDebug() << "GameEngine::gameOver() "<< youWin; - QMetaObject::invokeMethod(m_GameGml, "gameOver", Qt::AutoConnection,Q_ARG(QVariant, youWin)); -} - -void GameEngine::pauseGame() { - QMetaObject::invokeMethod(m_GameGml, "pauseGame", Qt::AutoConnection); -} - - -QVariant GameEngine::isSymbian() -{ -#ifdef Q_OS_SYMBIAN - return QVariant(true); -#else - return QVariant(false); -#endif -} - -QVariant GameEngine::isMaemo() -{ -#ifdef Q_WS_MAEMO_5 - return QVariant(true); -#else - return QVariant(false); -#endif -} - -QVariant GameEngine::isWindows() -{ -#ifdef Q_OS_WIN - return QVariant(true); -#else - return QVariant(false); -#endif -} - -void GameEngine::vibra() -{ -#ifdef Q_OS_SYMBIAN - if (iVibrate){ - TRAPD(err, iVibrate->StartVibraL(4000,KHWRMVibraMaxIntensity)); - } -#endif -} - -void GameEngine::fastVibra() -{ -#ifdef Q_OS_SYMBIAN - if (iVibrate){ - TRAPD(err, iVibrate->StartVibraL(100,KHWRMVibraMaxIntensity)); - } -#endif -} - -void GameEngine::openLink(QVariant link) -{ -QDesktopServices::openUrl(QUrl(link.toString())); -} - diff --git a/examples/mobile/quickhit/gameengine.h b/examples/mobile/quickhit/gameengine.h deleted file mode 100644 index 84d924a7..00000000 --- a/examples/mobile/quickhit/gameengine.h +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef GAMEENGINE_H -#define GAMEENGINE_H - -#include <QObject> -#include <QDeclarativeItem> -#include <QMutex> -#include <QPluginLoader> -#include <QList> - -#ifdef Q_OS_SYMBIAN -#include <hwrmvibra.h> -#endif - -// QtMobility -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 -#include <QSystemDeviceInfo> -QTM_USE_NAMESPACE -#endif - -class CInvSounds; -class LevelPluginInterface; -class GameEngine : public QObject -{ - Q_OBJECT - -public: - GameEngine(QObject* parent); - ~GameEngine(); - void timerEvent(QTimerEvent *); - void setGameLevel(LevelPluginInterface* level); - void setPluginList(QList<QPluginLoader*> plugins); - void pauseGame(); - -public: - Q_INVOKABLE void enableEngineTimer(QVariant enable); - Q_INVOKABLE QVariant randInt(QVariant low, QVariant high); - Q_INVOKABLE void enableSounds(QVariant enable); - Q_INVOKABLE void playSound(QVariant index); - Q_INVOKABLE void playSounds(QVariant index, QVariant count); - Q_INVOKABLE void playInternalSound(QVariant index); - Q_INVOKABLE void playInternalSounds(QVariant index, QVariant count); - Q_INVOKABLE QVariant pluginList(); - Q_INVOKABLE void findQmlObjects(); - Q_INVOKABLE void clearQmlObjects(); - Q_INVOKABLE void pauseLevel(QVariant doPause); - Q_INVOKABLE void gameStartSound(); - - Q_INVOKABLE QVariant isSymbian(); - Q_INVOKABLE QVariant isMaemo(); - Q_INVOKABLE QVariant isWindows(); - - Q_INVOKABLE void vibra(); - Q_INVOKABLE void fastVibra(); - - Q_INVOKABLE void openLink(QVariant link); - - -private slots: -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - void currentProfileChanged (QSystemDeviceInfo::Profile); -#endif - -public: - void setGameQml(QObject* o); - -private: - void findMissiles(QObject* rootObject); - void findEnemies(QObject* rootObject); - void setLevelQml(QObject* o) {m_levelQml = o;} - void setEnemiesGridQml(QObject* o); - void setMyShipQml(QObject* o); - void gameOver(bool youWin); - void selectVisibleEnemy(int& start, int& end); - -private: - void doHitTest(); - void doEnemyMissile(); - -private: - bool m_enableEnemyMissiles; - QMutex m_enemyListMutex; - QList<QDeclarativeItem*> m_enemyList; - QList<QDeclarativeItem*> m_missileList; - QList<QDeclarativeItem*> m_enemyMissileList; - QObject* m_levelQml; - QDeclarativeItem* m_enemiesGridGml; - QDeclarativeItem* m_myShipGml; - QDeclarativeItem* m_GameGml; - - LevelPluginInterface* m_gameLevel; - CInvSounds* m_soundEngine; - QList<QPluginLoader*> m_pluginList; - - int m_timerId; - int m_doEnemyMissile; - -#if defined Q_OS_SYMBIAN || defined Q_WS_MAEMO_5 - QSystemDeviceInfo* m_systemDeviceInfo; -#endif - bool m_silent; - -#ifdef Q_OS_SYMBIAN - CHWRMVibra* iVibrate; -#endif - -}; - -#endif // GAMEENGINE_H diff --git a/examples/mobile/quickhit/gfx/back.png b/examples/mobile/quickhit/gfx/back.png Binary files differdeleted file mode 100644 index bb66f740..00000000 --- a/examples/mobile/quickhit/gfx/back.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/background2.png b/examples/mobile/quickhit/gfx/background2.png Binary files differdeleted file mode 100644 index c81875ac..00000000 --- a/examples/mobile/quickhit/gfx/background2.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/bigship.png b/examples/mobile/quickhit/gfx/bigship.png Binary files differdeleted file mode 100644 index b88dc321..00000000 --- a/examples/mobile/quickhit/gfx/bigship.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/exit.png b/examples/mobile/quickhit/gfx/exit.png Binary files differdeleted file mode 100644 index a45abd6f..00000000 --- a/examples/mobile/quickhit/gfx/exit.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/pause.png b/examples/mobile/quickhit/gfx/pause.png Binary files differdeleted file mode 100644 index 05709087..00000000 --- a/examples/mobile/quickhit/gfx/pause.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/quickhit_logo.png b/examples/mobile/quickhit/gfx/quickhit_logo.png Binary files differdeleted file mode 100644 index 0b505c70..00000000 --- a/examples/mobile/quickhit/gfx/quickhit_logo.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/soundOff.png b/examples/mobile/quickhit/gfx/soundOff.png Binary files differdeleted file mode 100644 index fed8520a..00000000 --- a/examples/mobile/quickhit/gfx/soundOff.png +++ /dev/null diff --git a/examples/mobile/quickhit/gfx/soundOn.png b/examples/mobile/quickhit/gfx/soundOn.png Binary files differdeleted file mode 100644 index 03bd80e9..00000000 --- a/examples/mobile/quickhit/gfx/soundOn.png +++ /dev/null diff --git a/examples/mobile/quickhit/icon.svg b/examples/mobile/quickhit/icon.svg deleted file mode 100644 index 3795e8d9..00000000 --- a/examples/mobile/quickhit/icon.svg +++ /dev/null @@ -1,305 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="128" - height="128" - id="svg2" - version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="New document 1"> - <defs - id="defs4" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="2.8" - inkscape:cx="151.3239" - inkscape:cy="33.99485" - inkscape:document-units="px" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:window-width="1680" - inkscape:window-height="1003" - inkscape:window-x="-4" - inkscape:window-y="-4" - inkscape:window-maximized="1" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-924.36218)"> - <image - y="924.6955" - x="-0.20219566" - id="image2993" - xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU -eJztvWmwZdd1HvatPZxz7vDm169HdANozA0QBCmKFBCKIGmpaJFlhYloKypJsUpUEvtHVJVQJblU -KlmlHxQVJT/ilEuRVJVU+Y9t2VbRYlGxhsQUpYikJBAEAZAYuoGe3jzd+Zyzh5Uf+5xzz32vmwbR -/V73Q7hQF/f1Hfbd5+y11/CttdcivEOp0+2Sc47m5+Z8/fWNjY13jUajTxpj/oFz7lFrLYwx30rT -9F9tbe38wY/8yMdeqH/+T/7kT8X15RX+h//1T/HhXsHhEN3pCRwmGWtOdDvdp9M0/VFr7Q9Za09a -a5Hn+cpwOPyTzc3tz7/44kv/7y/+4mdW7/RcD4vknZ7AYREzt5z37zd5/mye509nWXYuz3NprYW1 -LrHWKeedjaJo+Pob11ZWV66ZOz3nw6B3FANsbm3Rb/7mb+57nZkXrPfvH/T7Hx8OBh/pdDpPbG1t -yc3NTXS7XWRZJr13S+y5DVB04cKj6ezC0u43nn9udAcu41DpHcUAN1n8FgPfb4356GAw+Gin03l0 -bW1NXb58BVevXMHW9hbyPIMQkpRS80rLZhTFbnFxId3ppGtXLl98R0uCdwQDbO/s0Oc+97l9r2d5 -dpyI3t/v9T4xGAw+sr29/e7VlVX55puXcfHiRVy5chVbW9tI0xRCEJTSUkp5QirRFkLGjzz8YH7v -ufO9r33trwZ7x/5f/9n/Rn/0R188lOs7SHpHMMCNFp+ZFz3z087ajw4Ggw/v7u4+vLK8rK5cuYor -V65gfX3d93pdjEYpsixj7z0JKaC1RhRFM0qqqSiKMDXVtotLp7ae//rfTKiDd8LiA+8QBthLnW73 -HBE9k45GnxgOhx/e2tp6fGVlRV2+fBnLK8vY3d2FtY4BEDNgrUGe5+SchxAErZVWSp2QSs5IKVvH -jy/ZJ9/97sGff+k/du70td1uescxADMvWWefAeOH0jR9ttvtPriyvEJXrl7B8vIKRsORl1Jxq9Wi -pNEgrTURCLkxnJucnXMkpUIcRUiSZEFpPRNpLaIoyu87/8DGV7/yV8M7fY23k95RDNDpdk979k/n -Wf73sjx7ttPpnF9ZWaXLV65gZXkVw+EISSPh9lQbzVaLlFIgEiBB8N7DGIMsz8g7C6UU4iQRURQt -aK3npZDx/Px8+r73v7/zf//Zn/bu9LXeLhJ3egJvh3Z3d/cBWMzcBuNJ7/yz3vun01F6//bODpZX -lrG6sorhaOjjJPHz8/M0Nz9P7XYbcRwjSWI0W020p9qUxDHlee43Nzf96toqOp1dMHskcXz/1FT7 -6dnZmWdPnTz51K9/9rNTe3//d37n944kqKbu9ATeDu3u7k78Ozf5dJqm7/HO/pBz+PBoNHpge3sb -K8srWF5eQafbgdKa2u022u02iARGoxGYGcwMQQJxFME7hzzPaDgcYX1tHUmcIEkSRFGMOI4eJCFy -ZuZG0hj+3u/9n899+tP/sLIJtnd2983zKNCRZIB77713ApcfDIbntZTvB/ABZ+2Dw8EAm5ubWFlZ -wdbWtjfWot1uU9JIIKSENQZZliLLMhhj4JwFEZUeAIwx6PZ6fmV1Fc1WS7TbbczOzkJr/SB7PwBj -dYBBB8Bz5Rx+6Rc/cyRjBUfeBmDmc2maPgvgh421PzAcDZO1tXW8+eabuHL1Knq9PkspaardRtJI -IIRAbgylaUpZmsFaC+89ASD2DOccjLEYjVLKshxgpqTRQLvdQpIkkgjHnPMuz83gg//Zhzf+wx// -0ZH2DI6UDdDpdCb0rHd+Os/zB4noSWZ+yFqb9Ht9rK+vY2V5xe/u7LJzjrTWUFqDGHDWwjkHzwwA -RKAwZrF/lVKIoxhSSKSjlNbW13l5edl3Oh1476G1jqIoekgp9WSc6If+0T/6+Zn6nP75P//fj5Qt -cKRUwMzMzKToHw5Oa60vENHjzrmzo9EQGxsbuH7tOlbX1nkwGGJqaoqSOEEcx9CRBglBGkCkNYzW -YO9BBQ+AiDTAznnoKEKWZeh0Ory8vMKzs7NotdqYmppCFOl74jh6Ior0K3PzM8sAKinwj//xf3uk -VMGRYoA6MbPudnsnANwjhFjK8zzq9fpYW1/H2vo6hoMBlJTUbDbRareQNBLESUJCiCD2nWdrLMAM -ISwAEFkCCUHee240G7DGYDgaUme3w2tra1hYWEAcJ1BKRlEcLSmt7tFanQDwGoD8jt6Qt0lHSgXs -oSkh6JgQ4jgR5nKTY7fTwdraGra2tmGMpThJ0G630Wg2EMVxeEQRoiiCjjS0VlCFelBaQSkFrRS0 -1sFFbCSQUmI4GtLGxiY2NjYxHA5BRIi0noui6HgURcee/ejf2ecWHhU6ygwQCykaJChmhsyzHL1e -D51uD7nJoSNN7XYLzVYTkY4giEAAU3gOmTBE4Z/hHyAiEBETEbRSSJLgBhIRjUYj9LpdjEZDeO8h -lSKtdRxFOjm+dDy+o3fiFujIqgAASgoRERA571SWZRgORxiNRvDOI04SREnQ+yCQtRZCCBARrDEw -1sBZC+s8vAtZY+w92Dsq7QKlFAe0kGCMwXA0QpZl8N5BCqEirVUcxbrdmjqy3tRRZgAWJDwzO++8 -s87Bew9BAkpraK0hhIBzDnmewzkHZy2IiK21yNKMsjwvcQACg521cNaSNQbOuQASCQGpFIQQYGa4 -4DZCCOmUUi6KIqdVdKQMvzodaQZgZgaDvffBmCNASgkpgmazxiLLMjhrIaWELbB/5x3y3MBZB+9c -kABcYADOwgRGgPOBqUofkb2H8x7sGUIRtNYcRTEirb/HAHeA2DnvBcgD7GUVyw8731qLNE1LQ48j -rQlEkILB3hMzM4IVACIwA8QFT3nvYJ3lkC9owb5Y3woyYADkhRBeKemllN9jgDtB1jkokgQQCSEh -pQQJAe89rLUwWsPaENkjISClhBACIIKQjqSUYGYUdiEAgJlhpASMhS+QQWsdlPLw3qPgGwhBJKUk -qSSkPrImwNFmAOcdJAfDTggR9LRnlDvXM5OUElEcI0kSjuMYRETOBT3urAMAeC9AVIoDsHMOzjky -1oIZ8N6zK2wMZpSfHT+OsC91pBmAvScwV9vXM8N5B+c9QAWsG8eI4xhRpKGUAoPDgteORATmKcQ7 -M6y2cDbsfClF8Z1C/4MrhpNSQAii8rtHkY4wAzCV2piBIK6th3NhVyupEEUR6yiClBIAkWcPZmbv -ffl3IdKBAIkQExEFy1+yVgEcKo1KLgxAYCwBCslzZDngCDNABeegNNy8dwADUgRXUClFRATvPAxK -1y5gAtZYWGfh3TgWwOyJmRGkSsEIUkFKyUJS8XOlDRBsCikllDq6t/HozhyoFs770kALiymlhJIS -JCjYBM5C+MJGQDDsnA/un2cP4rCbi7UPj8L1I4HKeJRSQgSxX+j+MKaSR/c2Ht2ZFxREeCmWg16W -MhiG7D2ss2AAgvwkA1hX+PQegghMAegBjxmrpJKptNLQSkMVDEEFYijE97yAQ6cikaPmlgkoJSGl -Klw9rnS89x4MoLTkiwOhyHMD5sAYWrlCCnA1ZmUnFgCT1gpRUC1BChQMc5TpyDKAKeBarVW1Q4O+ -DrsfDHge++4h28fDOQuTG+R5DmPyIB2EgNUaUgS14ZnD+hNVz6WoV0pVKqGUFEfYBjy6DGCtLXbr -eIFk4ZqBijTv3GA0GgVx78YPYyysMWEMcGXISSlBhVPv2cMXRmK5y0kQiILeJ4gCEADoeyrg8Gks -/gt/oAJmwgI655BlObznQloEbECQAMAQUkCRAjOK3SzgPYPZVrYBc+n7F+NXaoEqMEiKoBqOKh3Z -mZeql8LqVwzAzCGpcziCkDmSOIaUAs1GhGazgUYSQKGx64dK7+fGYBxWzpBmBtZYGGNgo2isToKl -CBLhUIlU35MAh07sy8ov48UHEZzzsMYgzw0aDYlms4H5uVnMz89iYX4W7XYzZAcXn6/bBsNRiuFw -hJ2dXezsdLG1vYssywtJ4uE4RAZLiSMK1aO/hwMcPlXin8Y+fNDvObx3SGKFUycWcN999+LMmVNY -WFzE7OwMdJEr4D0X0HGI8TN75FmGPM/R7XSwvb2D5eUVKMlYdgagcS6Ax6Tdob8nAQ6fuLIBAiOU -YBAANJsNzE638fBDD+Khhx/E4tJJqKgBFhppbtEbMDJjYYyDcwzmsJCCBCLdxPRcE43WDBqNJgCC -cw79wQhUGJdlxlAQ/wpxHN25G3GLdGQZoHTPvC8CNUUMoNVMcOrkMZw+dRL3n38Ac4unMbIxtrYy -bO3uYrc7Qq+fYZRZpJmB9x5EQKQlWonEdDvG7JTCTEujObWAk6cy5HmKjc1tNBthoUtbgEBQUiLS -32OAO0LljnTOAcxIYo1jxxbg3BzmFk9g4FrYvJzijWvrePPqNlbWuuj2RugNMmTGIzcWnhlSELQU -aDc1ptoxlhabOHV8CmeOJ4iRoDm1iHlPiGONSCsAXHgMQJmIclTpyDKAL0C40rfXSmC63YI/toju -wGJnoLB8bRtvLI/w8mvrWFnZwfb2AMY4ZLmFZ8AW8X0pgkEXRxI6UpiZSbB0bAoPnJvBqXmJY22B -hm5huh0hSTSkoBB8YgYz4SgnVx9ZBjA27Pqgu4FGotFqt9AfWawvd/DtKzt4/tUuLl3r4tryLjDK -gNwBgoLvV7iPAOCKhxkGBHFne4Q3Vwe4sj7AmcUID56SuO+4wPR0FIxIVSSQFEAUH2E4+MgygDXh -RK+MGZIEoDRIRNjuM771Rh9f+eYGvvHqNvLdETDIABkWF1JUYE4R+QkDMsJKega8BzKH1dxhc1ui -39ewpoHFuSZOehEYQBIsqPr4UaUDZ4B//fu/PwuQATj7+5/6lL1d43rnIGRYDEGAdUAvZVxaHuH5 -13bwzde3ka/1UeVwSVGG8gsq/lHleCH8O+SOAJ6AzMOmFq86Ay2BMycM7j2LwvcXBe/QvujhrdK/ -/Ff/VgGIAegf/wf/5YEWHjgECUCLAAYAugBuGwNQAchEOujfzDjs9HK8udLHpWtdpOt9YJgDiQIi -CTQ0oCWkDn67FNW54AoPsNbDWQ9YBnIPeACZg991WN7MsbZj0U8ZDIJSISFFiGAI3k4SAjGAaQBt -AEebAZj5fgAbCIu/r97e2yUpASEJWgl4D1jH6A4s1rdTbOykwCAPslkLiJkES/MtHFtoYqqdoN3S -UEpAyQI6th5ZbtHvZ+j2c2ztptjuZPADG1RCyugOgc4QGOWAY0AQQckgWJS67UZgE8AJAMcRDp4e -GB04AxDRWQR5u3VbxxUUYvKCIMBwjjFKLXZ7GfKhCb8438Tp++bxwLl53H/PLO45MYPpqRitVhQs -fwGwDzGAPDfY7abY6YxwbbWHq6t9XF7uYf06AwMDY4IdaRzBe4CIIQQKCXC7w8HcALAI4OxtHngf -HYYR+AAAA+Ba/cV//fv/hv7+p37sFuznQoSLEKVznpEbh+Go2LWzDTz8yBI+9P6zeOrCSdxzcgbz -s80QERQE60KCJ7MvIF6HURqSRDa3+7i62sVLr27jrxXh6pUeAEJqGNaF4Uu9T0QQt8gAN7gXLQCn -ADx4SwO/BToMBjgDYF0IMXGCttfr39qoZcJGYc1b62GshyRgfrGFk4st/NAz9+KjP3Af7j0zC6Uk -stxhu5tiMDJIMxtcSc8APJQElGQ0GwrnTk1haT7C4rSCVoyvSKAzDPCvsQxrgTIdmejWE0LiePJw -sfccE9ECEc7c0sBvgQ7DBjhLRFcBNPa8c0vjSkkhXZuD+M9NyAhemG3giYcX8fgDx/CBp07j9Ikp -9IYG19e2sbzex9rWALu9FFnmwncQxHikCa1EYX46wsKsxvyUxPGFBE88OIXM5HhzNUW7IQubgeHC -WTIIoltWAfUzCgU1ABwD6NwtDfwW6DAkwCwzt621E4D57OzsLQ2qpISUBG898tzDe0a7qfDQvbOw -dgr3n52DEISXXt/Ei69t4pU3trCy3kN/aDAYmWD1u8CEUgQx3owlWg2NY3MJzp1s4N6TMaRgnDsR -Q0nCVFsjUiH+YG04jBrsgFtjgOFosiq9lDJi5jaAuVsa+C3QYUiAKe99K8uyCQnwyU/+57c0riRi -QcTGMnLroJTA4lwD58/OoNsPyRx/++IKXru8i+deXsPyWg/5KA9mu+ewclVWCVCkDgMgJInC8YUE -D59r4cScRDNhLEwJzM9rTDUlhACMY0jBIBAL0C2Js+efn+hSA611w1rbYuYDrzxyKEig916ORiNd -/J4FAEG3dtOsZWIwqSIo00gU5mcSdPsjLK93cfFyBy++to1LVzvornQDUkQAYhUWmvwYBQTGzGA8 -0n6Oy50MO90Mx+ckzh7XOH0sRisBppqESBeeAADPITv8Vq7lNz7769W9YGb1xT/6D9o5J/kQMObD -YADy3os8NxI1BrhVynILzYRGQqSVRCsBokigN8zxyhs7+OtvruHiGzvAKBSCQlMXPtvetaqnfxOg -RACALKO7naHbZfQHCsyMc6cctARiTZAyHCRzDrDutrqBSkkpiQ7nyOlhMIBjhufqkP3toaTR9N57 -H2nlAeaMGGnmcG21j5cvbuPipW1gazRGAhM9ueNLor1/FzEDcEAEhxYr3qPV0nika2EdQ0lCpAQz -syehfBQ3b280gMJxx+JxoHQoKoAITCTG6Tu3gSKt2RjjpZbhxGdm0O0bXF8f4Pr6AOjnAMDQkqAl -hJaslSCtBJQK2T/Fmc+QF+gZ1joY52Ess1c+sEYGRuqx1XXY6jqMsrAmShJXRSJub4UQ5nqq0wHT -YUUDWQgqufq20PTM9CjPshQkLciwsYzewGBzJ+hu5A7QgtCKuNWKMDMV03QrRrOhkMQaSgYkEQw4 -52GsxXBkMEgNegND/ZHl4cgCmSM4z/0RozvkAAV7QAqwkMI2m0n65FNP3c7mUr7GAAfOBIfFALTn -+buiX/u1X6df/dVf2XszxGg0VFHckAAL5xmZYQxGFj73wdCbbeD+s7M4e3IGJ5faWJpvodWM0EpU -OORJALOHMQ55btHtp+gNMqxvD7C2PcLKxhDXHAO9HMYBqQGMBbxjeGYBa2WWjdTlN1/fp69/8Zd+ -iT73G7/xdhbwlu7Vd0tHIh/gBouPL3/pz1tLx4/NtOKltoqiyBUBIWM5uHqzDTxw/wK//12n6NHz -x3DmxDQvLbQoiRWSKGTxUlH4ITcGxlh0eykGwwyrmz1e3ujRa5c7AJivXfdF3SHAeoLzgLMuSk3W -3tramnnxxRdbAHbq83ubi1/Q4R01OxIMsJcWFs8e+49f+tLj3/d977kwO6XPLCwuNpwHPBOUFDi+ -2MLCbIwPve8sPvR9Z/HwfYuYn21iZioJhr4M5//KTGKTh2Nig2GKPDfY2m1ic7uFkwsRkgiQ5NFP -izQBT3BMMNY1dnZ7Z5aXVy68/PK33rzn3keyq29+e+NO35vvlo4iA7SffNcjT3Y6u09vbW891en2 -Tk/PzCrvQ6LG7HTMD983Rw+dm8Wz77sH3//EKRw/NoVQ7SMc/wIYznt4R3CeIIpYAKDRiAlKNjDd -BGLlYE2ONM1wfTNHMxEMIvKeYK1T/cHwdLfTeWo4HO489sh5e/XNb38FwC0GOQ6XjhQDPP30DyxY -y++Znml/zBjz9Gg4fHw4StvGMjxCVu99p6dw36kmP/HQIt574Tjde2YGkLoI+pTVRHyRBOLDqaDi -dBAXuYJaCehWBFpqIB21qN9vcSsR3GhKRCpIAOsYaWaOpVnWcNbJqXar9eyHP0KRpuf++I//7LaG -vg+S7sp01p/7uZ/bpwSfeeaZ5J57zr7r2NLihyKtf9Czf9w517aW4cLu59mpmM/fM43Hzs/h/jPT -mJ2KQ9Gn3KA/yNDrZ+gPM/SHOfrDHIPR+NEvnwc5BiOLUebATGg3JU4uaNyzpLE0K9GMBRPAnssz -Ca7N4Me1Vj84Nzv7oWPHjr/r4x//WPJWruluoLtSAvzu7/7uhAH1C7/wCzPr6+vvZua/673/sFLy -vQAo7GKAIRApycfmG/BmiuIIODabQElCbnww2ioJgCKdm6ts3vJwaIUHFJVDrfOQAphuCpyYEyAp -MNUkDmEEIj921NpCivfGcQyto+j48VP+M5/5zPO/9Vu/1bnZNd0tdFdKgDr9yq/8iur3+49KKT8o -hPiQlPICFdkYRAIgwQTiSAvMtCKan4nQboRycMORwWBokGYu5Pv5IO6rBd/z8IUqsNYjyx2GaQB+ -mD1iDbQbQCMCBXuBGBCMcWIISSkuCCE+REQfHAwGj/7yL//yXX9o8K5mgJ/5mZ+J19fXH/XeP0tE -f4eI3ktEjXEiSMBMEQ5oUquhMNXUaMQh6dMz2BcLXhX4Kihs3v1MAC5GDfg1vGcmMLT0SDQj1gwp -QjrSuDpBVaOgUczxI977D25sbDzykz/5k3f1saG7UgWUJIQ4wcxPAvh+AI+haHJVRMl8We6/SMog -KYmJimKPLux4z1zrjEVlCbBAtWpgVRWQsjA0APYBJbSuPHjqISiUluVQJCAkBxbB5GJUCeBRZt4E -cDWO4y6Aqwd1j26V7moJQERnmfk9AN5DRMf2598Xq1EVbCSSZQm32lpXa87lvg9/lzUBJ6QAMKkW -qqJR1YPK6iBALXQ0Gbo9AeA9AJ4ionsO7AbdBrprGeCnf/qnNYAFhJzCE/s+EBaeRDimTQCBmeA8 -yHsmDjF64lDRgQEeJyB8h+peYy1QmolMzEzeM3nHVDsKVpkixXRqUyMAWAJwmojmP/3pT9+1tsBd -ywBCCIVwMGIO4ZRMSZ5CNhCVBRuBmn9fJIiMDfTxzi7/Lj8fLP/J3VvaBX6vfVCOu4dxikIj9TKi -xes0hXC4o4G7uD/jXWsDJEkiioaOXF/kopMHWWu57OrBzrOzjmzoCch1vc8c8rWoPNBfjDNWDVzZ -AjWVwMzhK8U/6yqi3PGVVqlqEU6qE0tEDgAnyT5Y4K6hu5YBZmZmRLfbFcxM9V1b3ugSxy+LPjrv -kWVZUfqtjKZwuUJj474Yh4vvByTQjccNi0dcLagn9hVzjMGD8lwCxnaCr7mYKBI6hBBYWFi4K0Eg -4C5mgM997nPDT33qU4MkSUZEVPUAGA6HkFIizzKyxoQ+wHkGYS3nWQ7nLAkhi/OeIdtzUsSPwaCA -C7jKW/Clc7jPNSx3P1cSqSb2wZ7LfgJkjCk7luTe++FoNOr/9m//dnYn7uFboTtuA7z88st08eLF -G+0Qt729bQaDgc2yjMvKoEIIiqMIjUYDURSBmZFlOY9GI2R5FuoBYpxrX4nomkVfShDnbMVYZRnZ -+mfYh0e9tHxtpwcIgsYVRIUQAKqqJZxlmet0OuZG1/3lL3+Znn/++ZtIhsMDDQ9TAtzwYh977LGb -Xm2WZc47xxRFUEXt/larxVNTU3Ti+HGem5uDjiKy1lKpDoLWH5+1qInkylSvDD3nKwYAQmpYmQ+4 -1w2s2QNUdg5hZkgpOU5iNEwTzoXmVIV6Iu893ax8zAc/+MHvsMqVT3HgquMQGaCC794SfeELXzj2 -1a9+9eRwOJwSQlCx+Gg0GpiZmcHc3ByWjh1Ds9kM5eGsYWstVfqfMSnG61TYAKEfUGAAAmGv6Pfs -K1uh6B5GhfTg0jaRSqPVakHKUDuoZAAiUlLK2QsXHj/7T/7JLx3/4Ad/cO2t3qjv5j7dKh0KAzCz -z/MsB/AddeHrr7/eOH/+fAzgxPXr1x+IoujC5ubmkrUWURSh3Q7Nm1utFidJgkjrAvVzcAVaVzpj -lZVfMkBZEKT+uvehbZx1oOJQSGnn+RoTjI27crziNYQq4knShI5iaCVZRxEJIiildavVPDU/v/Bk -uz3VuXbt2mWt1dq3X3lldP3a9e2f+ImfuKEEIKLsi1/8vzJmPpS6I4eWFOrKOm41WllZbg2Ho7k4 -jo8ppWaklMf7/f4MEZ1pNBpnHnrooQunz5w55Z2D1hpJo4FmowGpFMBclHUdIsvzsJAcGkfuXfwS -4y/TvksVUC8cXTadQlkyvrbzPfvCDqjVJyaCoFChXEcRNJiTJEGz0UAcR4jjRLZarbPtdhve+2Nb -W1urRLTcbrV3H3nkkZXnnntuh4hWAew89dRTE0UgnPcWCFDEQS/MgTOAtdYbY+1wOJrorr2xsXHO -OXdfkiTnpJQPCCGWhBAnjTFTQogFIcTU9PT03NTUVBO1qpwidPeGMabUs+NFmZCeNSiIuaojXIoI -BsNxUT7eWihZ5AkWHUInQaBwlLwKLFEoDyOVhBCCiIh9EW4WUiKKYiRJgjiO54UQTef8CSI3EEJs -CyEGAFaZed17/zozX/7a17526X3ve99rBW4ApZQ1xjgStG/T3G46jLOBLIRQS0vHZv7tv/uDMx// -kY8Re3641+8/TkQPSSnPCSHuJ6JFZp5nZlFW4hRSQoRegAxm750jYwxZaynP89LvD6hNHY3d68bt -mxMqI9CYgCN4paARILtJi7/EC+pt44ikFKxDiXlCOP3EQRU5HxJFWHjnlbOuba1tl/GKAtTqMvMO -gDeY+TIzv/rCN77xzdWV668A5F/+9quLeZ5Fvix9eoB04AyglILSemphcf7+hx54MBkMhgtCiCcB -PEZEZ4holohmgTEk68tFc64UyVwugqu5beUzECqGENM4ZFNngDIyhEn54Av7wRReQNV7MPj8NQi4 -fIzbyAohqv5BAMM5R9YYzvMcmcogSHgZGgsUreklmKuTxNNENM3Mi8z8IDM/luX5Iyur6y8KQdtE -dJyEuLXj02+RDpwBpqenoyiKzszMTD/TaCTOWntCCPEQM+8L8OxF+saQbUDknAtGm3WuYAhPHCo1 -oogMltHcmv/vIcY9H0DVcSBUnkChTqqoYmkzsB9LgHGcgYuTTkRSFBIqnHqqMILQY9CRK4zTYKBy -odInDPwWgBYzn3bOnXfOPeY9rxljyFm3ZKw98FyCA2eA+fnZJIqiM81tqndBAAAVSUlEQVRm84QQ -IvbezwJo1uHdkth7X6Rrs/fFgnPwpyvL2wcEj0unvMRkC/VfLjzqO1jUfmOPSijxA/YeVkrowrOY -kAKVKhnbFbXOoVy2likZtVIb4Tq4mDujYNYQxKyVuQ/zmHfOTxlru1mWpXmeU55nBy+hD/oHZmZm -YinltFa6AUxW9d7LBOy98Fw0diw6ddZAFXjvuNxNQGGJF2VeaUK479fjJYlaYKl8z1oLh6L+X50B -9kiA0gsosn+qDiVlj6LabxJXaQJcxBJ8FUou8wnGz2FOzjltjFkIDa2yNEuz9ACXBsAhMECkI0FE -qrTCS53NY4VaBntKkGWsBlxo0uCLPn+uaPXu/bh9qyCJPWtfBfW5vOM18oVHUBEzfBFVNEUfIVF2 -Ct0XF5j8mRueNgaKE+fj9/ZEIhDSFAIqUUgQCsfBC4DKWhhjhDH5gUP1hwYE1d21giYQrwp2re36 -0ODRVwWhrXPki3Bv2amDC/y9GrK0GzAO4lS/ART1fSdfL6UAEcEYA6VULTro90iBPVPfU2OCuewm -x7V3qxDzxPWXuQRCEJhF1e8ojBPUx9u742+dDgUHICJDJEgI0rgJzLnH7RqrgLD4bK2DdZaccwGC -lRIyNIIcx2dRQfkon3jPb3i+AWMwV16Fsbamz3mCCWqMQ2XyYK28RF0NlTMYp68GsXODBaXim1Uf -YhZEhoiMEHT03cCxdQ3yflJm7lkEKm9w6XO7ws0zYfErt6809KSUtTHGemC/8TZhZ0x4GeEbCB3H -rYXJ86pORBUF9OMHar+2XwPUWK4am+sfpD1Cb4JKRiEKfYsPo0jIYTAACyEqRqhn99Seq6bNBfLG -NUsa3jvyod0r25rfXyxmlaFDkyL3hmDQxO/wGGutpICzEC4UkKhjAJ5LZJbL1OFxaHHvxi7VANdy -U1DMsvYPlAKrGmHckzj0Jzz4mNBh2QATf+/blTzeNcwMF/Q/F7qfrK3EM5VGZNCbe2yKcaTnhh5A -ncrYf91IHNsCAqoK647PEpaG4DgTBAC4TA6rSZRKslBN99NeRinxqb3B37F0eQcwwD45hwkmoNr7 -vGfX0hgTcBUI5FzR49eX2p8qN2w8ECaYYN98biAByve88/DCwYMqCVAZpzzGF+q/NeFtFHOqeAJl -bmH9A+XqVhPnIndpPAQw6a0cEB0aA3DN/dq382uf5SLhwo+tf6rH7a1zkEIGd65cfBDqpfoYqM7/ -32xOZfevfcag9xDWgTDuEFZ6Jjf6/FhFcHFaZMwMjLFdE1QVYw/Pjal0HWm8+w/cBcAhqoAqGld7 -re4YEVG1U+o3zvtiVxb2AHuPypYsAUCiiQ1ItUUBc802H4toz/vc0uozvmKQm9gSNPn5UjVUD9Sk -wuT75fTKqU5SJfYrU+bA6Y6ogNrr+0xiLpAz731Y+OD/F0kfwTso8fwxGlcfuAbg+DLNs3yLAV8T -9fuxiUo6eKJaLiDqK1utU/k7BUqJsotZiRpWeQTlLHhCqdddA54MZh9eUtChpYTdjBFu+FmUO6sG -wpRZP+whS6uK9ujJuhq+gQ3AHOICN97VdeSufiSsNnBtS5afDsmmvkhGdXtAozH7VX8xY+/W5gpW -oImx37FGYEl7Ld3y1pQLX2/5HiRA0TJeqbD4osTTa9+v2Rfs/URdugkJUKiTUndMCJFCl5f/7Zt3 -lXVahII9V/hEwCr2ZxlXVuHN7lM19vj5EGzAu+xcQF3vc5m3P2aEulFXYQp77lLwBGv6t/xOmepV -lwAYewzVlydGKg3M/VMNKWHFtEv7hDEx10kV89Yk4Ngo2jehA6HDaBnzlj/LQJV6NQaCynhAeAhB -leEnykhcXYrQ2DUL4JMoPLNiN3uelAA3EOuTDnkd8RkDz+XviwKt886DyU+eM3B+j62xX/zf4I5V -i///Ewkwhsgrn7vKxK1Z2ZU4Lo6D01gQj2nC3ENwpcaGATPD1423miQYz2Xv7AiVnuHabxCN+xYV -iI4vVEF94euJpTVE6OZscDi2X0WH0TYu/H8cqql2UZ3Ght+kBCj/5rr4F1U9gP0SpvLJASJfSxIK -WH7pjt7Ir98zm0oP7802YBQSQMgqz4/BVch678MXTFGBUDe4Q1STNuNcgbd8k982HYIK+E+/z/Wd -hbpPvcdaZw47j8Q4EWMPTRiCqNsEwbgcG24e9SNfN5/8GGyqxiZUuz8wQM19LELYpfryrp7YchMj -sBAJJbA1ZoJ3gA2wl258r+uACY996MK/Hp/UDbtSVBm24gY4QNjpXBPVJfOU6GFYLAdnx8Zb+dm9 -VGabldMsn4kIUooyNRwAggoo5lyeOA5MUGYU75c4VaWR2q7fmy52kHSIDMA3Wfzy3fFnJnR0XQXU -d0nlBewZh1EwAAAKNaOLuj5VV1hw6CnpNWANwWgC+0k0cUx7ZHFhzJVROylEkRg6hrl93dDk8cFU -v0falOqolrQ8KQW+21v8NuiO4QD1AE6pAZjHGICvSYGxmK7XAypsgLoHUBp6lQcAgEODyLCzGAKB -wQiMsvmjFJjMKyzd9moxxu/V/XUpJZTWCOcDFIhMZWzWYwSlVOOayhE1NLPUASVD08TrB0t31guo -WVZ1I7C8YdhTlqUEf0Iu4PgGTdoMYUAlQ1sXJQlEYxXAjFqeQQCCwlm+MJ5nKhpDhocsOoMKSZX0 -KOcTqpPJ4uTy2CCs2buF0XdjCVDdhhqiWXkdN8EfbjcdqgS4iU6rXIP6jhnvwrIQmICQgqWUkFJW -xhdqbBRMhPHuJoSzJblxyIxDmjkYwzBFZ5C8KDDB3kBSKBgtJRUeBMCF6ggSJCxMwagMgISQUEqx -1hG01qFGgBRlVg8qx7Fkaj/JBMXC06QEKB/1Szs4uqMSgMeG+hgx54ofxqKQiIudT6X4JzFRAgBA -iBFpRZAUsPXceoxSi+1ujk7fYLdnMMo80tzBWEZuLNg7xNpjtkVYnBaYbhMiFXqTO0dBAghACYas -lqqsPkaQUpIuahcoJUsVxYWLWnm/tTIz46ufkBVjiVb+9Q5xA8fGURkWrt5DqTKZwDxxb+quUKkv -S3ErZaECaiHmUlxDAnnuMBwZrG+nWNvOcG19iO2uwXbHYJR7pLlHbovGkcxoNwgn5iQeOB3hrBCY -n5YQBBjPyDKPLPewDtXvlEndoYO4QhRpxHGMPM8BAqRS4VxjyazlZTFPqKoKoqigobpxeziI0KFJ -gNLinWAC5hteZiEaubC0SRTJcUUmMFeHLLkAeZmhJFgEjsBgZHBtbYhvvdnDm8sjXF4dYXdg0enb -YueHxfcMOMdoJQLHZhUGqYdxwbpvJQK5EeiOgO6Q4XKPOebgUQQlQABBSsFKa0SRho40mEFSSRqr -qeI6CiBhjGhydflEVd2hQ3H96nQoEuBGMXdgQsNNfKJ0sYSUkMGnIhYi6FulIIWsMH5CyA9UkpBa -RrdvcOl6Hy+8tovnXuniylqG9R0DtgxkBfZfWY0AHGMgCYOeRG4cQgtiwrG5CM4xrm8xtjYZkhlz -c2GmQgQ7QwiClApxFKORNGCthWfPSmkqbAKuM0KBSlU/TzUXZq///47xAvamgdWpWEDef50B6y8B -HxTp36owAEsVQERQSkBJASU9+oMMa9sZXrrUx998q4cXLg5g+i50EJMEwAHSI3QNLVp/uoIRcsLK -Rg5JBsQWxxebIFK4uuqxuwO0NOFUJsAkQkMJJeC9nFQBJof3HlKKQlXVDFaxh91LXYBJJkDJCBUC -ebB04AxQpoQD++yAwvTFpBlExKGnnwh5/wBxaDlXHDVXEEJWJV20Eoh0OHrd6Vt+/eoQz7/axTcv -9WE20lAHTXuoFqMZOTQjpoZmaAlWMtT8tx48yhzl1sMbxyvrDr2BgaMYy5s5ej3CfEvj/Egjd6pY -YMB5glQKcRyj2WwU7qWFIMFKq+AZaMVSFYxA1SmmqsI0atZguAdlajhV5xgPkg5FAtTVQI2rCxcJ -hT0NhMsXJARBsgAVu6i0CbTWiKMISdKgOA6Vw5rNCLEWGKaGOkPGG6s5Li2nyHdzABY0RTg2ZbE4 -w5hrMdoJcbshEGtFkZIgIeAZNMo994YOw9TSKB9hOMjRSSOsbnq4oYPzGt2sCYMGojhBI4kghEOj -kZAxbXjvWWsN5xwzmGoeS90eqIn2MYYRjILg++1XAwdLh9I7eN8L4eK4njIFoLhhXCz62DcWQngh -JWulSClFWmuWImB6BA/nGINhjrXtFNfWR9jqpIBPSU0bnD9OOL3gsTQrsTCj0W5GmG4niKOIkzgi -pRRAgp1n9IcG3X6K1a0hVrdSYGOEdXIYOYHUaO6lGv1MIM0drM3BPtgfcRKjzVOIoqhEMT0YwnPo -PlpKMyELVVBbfwBcZhmWAHAFJr0T3EDUMLF64ANFkcoSuStFnyx8OVEucBCHgigUbiiTLTJCONMf -/sDqdobV9R10e0NoMohmDN97zOCRMxKnFhXmphuYm2lT0mjSVLuFOI6RJAlrrSGlIikJubFIRyOs -be7y9bUdzLS6YG9wkT2gmIapxdbOACtrW2A7AEOgN7RVrEIqCcmycO65EnFl/oIq1EANdK5UfbAG -DicJpE6H1Du4EmfhMvcZhsG5Lo0lIYRl9t5aK5xzKh/lEyVhrLXw3sFag0iGLJy1HYsrVwYY9buY -baSYb1o8egZ44LTC8cUptFrTmJqeRZy00GpPIQoMAK0VtNJQqjgJ5HIsLHRwfLGNufYqYr2DSKXY -6Fvkow6uXvN4OdnB5lzA/40VkEqDqIgMEkEpDaUVoihyWqtUScVEpIkoFnsWOcg53ivuSz/xO4TP -bg8dlgqQRBTd/AMEEDIiDISQHQZ3vfN5Okpb3V53qdPpLI5GI4zSFNaYUNTJWVhrQAgMsd1jbK4z -lHc4PWdxchZ0dinmxblWWPjGDJLmDKKkiShpI4oj1nEcrPXgrpEigiCG1AmajRhaCYAkrNuiSys5 -cruD9dUOvmWB9WkKx9OhoXQEISS0DjZL0mig2WxidnZ2dXZmZiVuxkMCEgbm2ftpImoCSML9ryOD -1XpHeKd0DxdCEPPECZmSsS0R9QEMGLxFoB2AN6JIr0gp14yx+erq6rGVldVHNjbWHx0MBseGw6E2 -xua5yT1757yzBDi2ltEdkeiNoigmGc9O6ejEnMLcTEKNRot11IbSTSgdRL7SEkpJKCVJSgEpBQsp -uBLVuomkxZibS3H6hKGdToo8z7Gy0Xe93TS/luam1wQrJYiEJqU0E0mllCQlZZQ0G1m71V7Osuwb -cRS9eOLEiU1BlBhjTqRZdpyIFikUxloEUOsrMGYCBgQfQp+Bw/ACplDpewYCV28C2AZ4pfj7OhFt -MON6s9m8Pjc7u9brD8xf/MVfnnzjjTeWd3a2d7I8P5PnecM5l3vnHYEtERPgrWdyWSa1BJbasTo9 -1ZBLSSxAFMFyTMYrFp5CG7jioGkJMZfh5vLMIZGAMQ7eCTjEUDpBqxlhti3Q69punpm1LEu3RoKs -IAgSuSouT1Oo/RNFke7FcfLGYDD4iiD6+jNPP72sldLrGxtLWZ6fJKITABaZcYaIFgA+TYRFIiwB -aBTBsAi4udS8XXQYEkBwqBCSEdE6gDVmvgRgmRmXmbEBYJmIdoho4+zZc5tEVFbYvvTUU0+tz87O -Xoui6IQQokmheIIXgqySQhBhxFDGOxdr7R+OI/eeRPuYwDOhmbSHtZakNT43OREBQhYLD66qgYxD -uQRjLRuTi1GaI80NwB6J9r1WzN+G5RescRe9lxmDNXkkzlt4Zs3eSx8eHWvMlReef/6Fz372s6/+ -7M/+bHk9r7z00ktz3vtFZp5l5pMA5olwlohOEdF5AKeY+QSzb4E5vsEtva10GAww8N73KZRF/TYz -vw7gFYRqmdeZucvMu1rr7MKFC3tLq+df//rXXzt58uTuvffeOz07MxPpKPJxHLPWysdRRI0kGiSN -dr661Yvy3KwRfMTen81zOzMYZRBqBKk0QERKCmb2BELZeQROh7y9yvVkcJ5nNBwOsb3TwfZOF/3h -EM7aTS3xQjPRX0LcfvHE0kxubR5Zy61QqNqpUNfHoN/rDVaWl7defPnlNQAT13ThwoWdS29c2h32 -h7GHe1NK0bTWn1BKHWfGgwDOe+8f9Z5PMXj+oNfnwBlASvk3RLTJzBcBPM/MF733V7TWnSeeeGL0 -FobIV1ZWrq+srFz/T33wUz/290ZCNVtgec5asZBm2YyQIaZQIvCRjdh7T1ppstZyGceXSjKBmD0j -TUfodnu0vb2N3d0ORsNBx9nsJbjRX7pR7y/+4A//sGoD91M/89+pza0NluTFYDDA5Tcv86VLl+x3 -muf9993PANLigevLl69MtWfbKyurr6Zpeq/z/pLz7v5CQhwoHYYE+FMA60KIN5j51cFgsPaBD3zg -O5Y/+7Vf+6d04bEL+LFPfeq7coN+/9/8+7X/4pOffFmp6BuAOSWy9L0lluC8E845xHEMZ0PxaWNN -1YdASEHeM5y1GA6G6Ha72NndRa/XxWAweD1N068PBv1vfv4P//Ba/Tf/xf/x2+Vi37Su7xe+8AW6 -dPEi/fc///M3tOpPnzrHAHrM/Mrf/u3XN40xm87ZS8x+6bu5/rdDh1Eq9osAOlEUrT/wwAO9t/Kd -X/3Vf/q2/d/e+muvxGef+DKDI2QkvPcPMXPLGIM8yxHHMdIkQ6Q1tNYocfpSLeR5jtFwhMFggF6v -PxyNhq8Oh8M/M3n65Vef++Nvo+arvVX6xCc+MeHj3YwoNKHc/B9+4X/cfejBhy5LIafexi34rujA -GaDVar08PT2dE9244tU3vvENIiK8613vetuL/uM/9d/Qv/wXv8MA8Cd/+eLox04+8qJkFgFu9lsA -nnDOLVprZZ7nyLMcumCACp5lVA2o0jT1aZpujUajb2ZZ9jfpaPT/ZOnopW9dS29b4cayXcxgMMAz -zzwzce3/y//0P1sAG//Vj39s83b93s3okIHHw6OPfuSj03MLCxeUUu9SSn2/lPK81vqMVjpRSiVK -KZJSytAjAK5wBVNjTJbn+bUsyy6mafrX6Sh9/vVXX33xxZdf7N7pazoIOnQGeOONN+i+++47cIgT -AP7uxz7earQap7XWjwshHlZSPSKEOKGUWhJCxFLKqIBgjWefeec3rbVrxppvG2NeGQ6HL6yvrV/7 -6lf/qn8Y8/385z9PP/qjP3oo96akd6wEqNMP//DHTjcajQe11u+WUj4opbxXCDEjhEhC+iin3vue -tfaKtfZimqbPd7qdV77851+6fKfnftD0/wHqxrHboq02DgAAAABJRU5ErkJggg== -" - height="128" - width="128" /> - </g> -</svg> diff --git a/examples/mobile/quickhit/main.cpp b/examples/mobile/quickhit/main.cpp deleted file mode 100644 index 38599b54..00000000 --- a/examples/mobile/quickhit/main.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtWidgets/QApplication> -#include <QDesktopWidget> -#include "mainwindow.h" - -// Lock S60 orientation -#ifdef Q_OS_SYMBIAN -#include <eikenv.h> -#include <eikappui.h> -#include <aknenv.h> -#include <aknappui.h> -#endif - -#ifndef QT_NO_OPENGL - #include <QGLWidget> -#endif - - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - - // Lock S60 orientation -#ifdef Q_OS_SYMBIAN - CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi()); - TRAPD(error, - if (appUi) { - appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait); - } - ); -#endif - - MainWindow w; - -#ifndef QT_NO_OPENGL - // Use QGLWidget to get the opengl support if available - QGLFormat format = QGLFormat::defaultFormat(); - format.setSampleBuffers(false); - - QGLWidget *glWidget = new QGLWidget(format); - glWidget->setAutoFillBackground(false); - w.setViewport(glWidget); // ownership of glWidget is taken -#endif - - QObject *rootObject = dynamic_cast<QObject*>(w.rootObject()); - - // For Qt.exit() from QML - QObject::connect((QObject*)w.engine(), SIGNAL(quit()), &a, SLOT(quit())); - // Level activation signal from QML - QObject::connect(rootObject, SIGNAL(levelActivated(int)), &w, SLOT(levelActivated(int))); - -#if defined (Q_OS_SYMBIAN) || defined (Q_WS_MAEMO_5) - w.setGeometry(QApplication::desktop()->screenGeometry()); - w.showFullScreen(); -#else - w.setGeometry(100,100,360,640); - w.setFixedSize(360,640); - w.show(); -#endif - - return a.exec(); -} diff --git a/examples/mobile/quickhit/mainwindow.cpp b/examples/mobile/quickhit/mainwindow.cpp deleted file mode 100644 index aa4dee7b..00000000 --- a/examples/mobile/quickhit/mainwindow.cpp +++ /dev/null @@ -1,249 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "mainwindow.h" -#include "gameengine.h" -#include "plugins/levelplugininterface.h" - -#include <QDebug> -#include <QDir> -#include <QMessageBox> -#include <QLibraryInfo> -#include <QDeclarativeEngine> -#include <QDesktopWidget> - -MainWindow::MainWindow(QWidget *parent) - : QDeclarativeView(parent) -{ - -#ifdef Q_WS_MAEMO_5 - window()->setAttribute(Qt::WA_Maemo5PortraitOrientation, true); -#endif - - // Game engine - m_gameEngine = new GameEngine(this); - - // Load all levels plugins - m_levelPlugin = 0; - loadLevelPlugins(); - - // QML main window - engine()->addImportPath("./imports"); - setResizeMode(QDeclarativeView::SizeRootObjectToView); - - // Set game engine visible to QML - rootContext()->setContextProperty("GameEngine", m_gameEngine); - - // Set QML source - setSource(QUrl("qrc:/Game.qml")); - //setSource(QUrl("../QuickHit/Game.qml")); - - // Store QML root object for game engine - QObject *ro = static_cast<QObject*>(rootObject()); - m_gameEngine->setGameQml(ro); - m_gameEngine->findQmlObjects(); - - // Application foreground / background event filter for filterin incoming call (window) - // when game will be paused - m_eventFilter = new MyEventFilter(this); - QObject::connect(m_eventFilter,SIGNAL(activationChangeFiltered()),this,SLOT(activationChangeFiltered())); - qApp->installEventFilter(m_eventFilter); - - // Remove context menu from the all widgets - QWidgetList widgets = QApplication::allWidgets(); - QWidget* w = 0; - foreach (w,widgets){ - w->setContextMenuPolicy(Qt::NoContextMenu); - } -} - -MainWindow::~MainWindow() -{ - for (int i=0;i<m_plugins.count();i++) { - m_plugins[i]->unload(); - } - m_plugins.clear(); - -} - -void MainWindow::activationChangeFiltered() -{ - m_gameEngine->pauseGame(); -} - -void MainWindow::levelActivated(int index) -{ - // Set level for the game engine - createPlugin(index); - rootContext()->setContextProperty("LevelPlugin", m_levelPlugin); - m_gameEngine->setGameLevel(m_levelPlugin); -} - -void MainWindow::loadLevelPlugins() -{ -#if defined (Q_OS_SYMBIAN) - bool exists_c = loadPlugins("c", "quickhitlevels"); - bool exists_e = loadPlugins("e", "quickhitlevels"); - bool exists_f = loadPlugins("f", "quickhitlevels"); - if (exists_c || exists_e || exists_f) { - m_gameEngine->setPluginList(m_plugins); - createPlugin(); - } - else { - //QMessageBox::information(this, "QuickHit", "Could not load any of the quickhitlevels"); - } -#else - if (loadPlugins("c", "quickhitlevels")) { - m_gameEngine->setPluginList(m_plugins); - createPlugin(); - } - else { - //QMessageBox::information(this, "QuickHit", "Could not load any of the quickhitlevels"); - } - - -#endif -} - -bool MainWindow::loadPlugins(QString drive, QString pluginDir) -{ -#if defined (Q_OS_SYMBIAN) - QDir pluginsDir(drive + ":" + QLibraryInfo::location(QLibraryInfo::PluginsPath)); -#elif defined Q_OS_WIN32 - QDir pluginsDir = QDir::currentPath(); -#else - QDir pluginsDir(QLibraryInfo::location(QLibraryInfo::PluginsPath)); -#endif - pluginsDir.cd(pluginDir); - - qDebug() << "Loads plugins from : " << pluginsDir.path(); - - bool newPluginsLoaded = false; - - foreach (QString fileName, pluginsDir.entryList(QDir::Files)) - { - // Accept only plugin files -#if defined (Q_OS_SYMBIAN) - if (fileName.contains(".qtplugin",Qt::CaseInsensitive)) { -#elif defined (Q_WS_MAEMO_5) - if (fileName.contains(".so",Qt::CaseInsensitive)) { -#else - if (fileName.contains(".dll",Qt::CaseInsensitive)) { -#endif - - // Create plugin loader - QPluginLoader* pluginLoader = new QPluginLoader(pluginsDir.absoluteFilePath(fileName)); - // Load plugin - bool ret = pluginLoader->load(); - if (!ret) { - // Loading failed - qDebug() << "Could not load plugin " << fileName; - } else { - // Loading done - // Test creating plugin - QObject *plugin = 0; - LevelPluginInterface* pluginIF = 0; - plugin = pluginLoader->instance(); - pluginIF = qobject_cast<LevelPluginInterface*> (plugin); - if (pluginIF) { - qDebug() << "Plugin can be created"; - // Store loader to array - m_plugins.append(pluginLoader); - newPluginsLoaded = true; - } else { - pluginLoader->unload(); - qDebug() << "Plugin can NOT be created!"; - } - } - } - } - - return newPluginsLoaded; -} - - -void MainWindow::createPlugin(int index) -{ - if (index == -1) { - return; - } - - m_levelPlugin = 0; - - // Try to create plugin instance - QPluginLoader* pluginLoader = m_plugins[index]; - QObject *plugin = pluginLoader->instance(); - if (plugin) { - // Plugin instance created - // Cast plugin to LevelPluginInterface, that is common for all plugins - LevelPluginInterface* pluginIF = qobject_cast<LevelPluginInterface*> (plugin); - m_levelPlugin = pluginIF; - qDebug() << "Plugin created: " << index; - } - else { - qDebug() << "Creating plugin failed!"; - QMessageBox::information(this, "QuickHit", "Could not create quickhitlevels"); - } -} - -void MainWindow::printObjectTree(QObject* parent) -{ - if (parent) { - qDebug() << "className:" << parent->metaObject()->className(); - qDebug() << "objectName:" << parent->objectName(); - - QObjectList list = parent->children(); - QObject* item; - foreach (item,list) { - if (item->children().count()>0) { - qDebug() << "--Childrens found--"; - printObjectTree(item); - } else { - qDebug() << "className:" << item->metaObject()->className(); - qDebug() << "objectName:" << item->objectName(); - } - } - } else { - qDebug() << "object NULL"; - } - -} - diff --git a/examples/mobile/quickhit/mainwindow.h b/examples/mobile/quickhit/mainwindow.h deleted file mode 100644 index ec8343d4..00000000 --- a/examples/mobile/quickhit/mainwindow.h +++ /dev/null @@ -1,86 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QtWidgets/QMainWindow> -#include <QDeclarativeView> - -#include <QApplication> -#include <QDeclarativeView> -#include <QDeclarativeContext> -#include <QGraphicsObject> -#include <QMouseEvent> -#include <QPluginLoader> - -#include "myeventfilter.h" - -class GameEngine; -class LevelPluginInterface; - -class MainWindow : public QDeclarativeView -{ - Q_OBJECT - -public: - MainWindow(QWidget *parent = 0); - ~MainWindow(); - -public slots: - void levelActivated(int); - void activationChangeFiltered(); - -private: - void printObjectTree(QObject* parent); - void loadLevelPlugins(); - bool loadPlugins(QString drive, QString pluginDir); - void createPlugin(int index = -1); - -private: - GameEngine* m_gameEngine; - LevelPluginInterface* m_levelPlugin; - QList<QPluginLoader*> m_plugins; - - MyEventFilter* m_eventFilter; -}; - -#endif // MAINWINDOW_H diff --git a/examples/mobile/quickhit/myeventfilter.cpp b/examples/mobile/quickhit/myeventfilter.cpp deleted file mode 100644 index 47c23d32..00000000 --- a/examples/mobile/quickhit/myeventfilter.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QDebug> -#include "myeventfilter.h" - -MyEventFilter::MyEventFilter(QObject *parent) : - QObject(parent) -{ -} - -MyEventFilter::~MyEventFilter() -{ -} - -bool MyEventFilter::eventFilter(QObject *obj, QEvent *event) -{ - // http://doc.trolltech.com/4.7/qevent.html#QEvent - - // QEvent::ActivationChange : The application has been made available to the user. - - if (event->type() == QEvent::ActivationChange) { - emit activationChangeFiltered(); - qDebug() << "ActivationChangeFiltered()"; - return false; - } else { - // standard event processing - return QObject::eventFilter(obj, event); - } -} diff --git a/examples/mobile/quickhit/myeventfilter.h b/examples/mobile/quickhit/myeventfilter.h deleted file mode 100644 index 4e55a0f9..00000000 --- a/examples/mobile/quickhit/myeventfilter.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef KEYEVENTLISTENER_H -#define KEYEVENTLISTENER_H - -#include <QObject> -#include <QKeyEvent> - -class MyEventFilter : public QObject -{ - Q_OBJECT - -public: - MyEventFilter(QObject *parent = 0); - ~MyEventFilter(); - -protected: - bool eventFilter(QObject *obj, QEvent *event); - -signals: - void activationChangeFiltered(); - -}; - -#endif // KEYEVENTLISTENER_H diff --git a/examples/mobile/quickhit/plugins/LevelOne/Level.qml b/examples/mobile/quickhit/plugins/LevelOne/Level.qml deleted file mode 100644 index 57643854..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/Level.qml +++ /dev/null @@ -1,215 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 - -Rectangle { - id: enemies - anchors.fill: parent - color: "black" - - - // Background image for the level - Image { - id: background1 - source: "file:/"+LevelPlugin.pictureRootPath()+"background3.png" - fillMode: Image.PreserveAspectCrop - smooth: true - //anchors.fill: parent - width: parent.width - height: parent.height - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - function pause(doPause) { - if (doPause) { - rightLeftAnim.pause() - upToDownAnim.pause() - } else { - rightLeftAnim.resume() - upToDownAnim.resume() - } - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - objectName: "level" - - property int enemySpeed: LevelPlugin.enemySpeed() - property int enemyMaxWidth - - // Create enemies dynamically - function createEnemies(amount) { - var b = false; - for (var i=0;i<amount;i++) { - if (b){ - Qt.createQmlObject('import QtQuick 1.0; Image { property bool hit:false; width:50; objectName:"enemy"; smooth:true; fillMode:Image.PreserveAspectFit; source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png";}',enemiesGrid); - } else { - Qt.createQmlObject('import QtQuick 1.0; Image { property bool hit:false; width:50; objectName:"enemy"; smooth:true; fillMode:Image.PreserveAspectFit; source:"file:/"+LevelPlugin.pictureRootPath()+"enemy2.png";}',enemiesGrid); - } - b = !b; - } - } - - // Calculate enemy max width - function calEnemyMaxWidth() { - var enemyCountInCol = LevelPlugin.enemyCount() / LevelPlugin.enemyRowCount(); - enemyCountInCol++; // add some extra space needs for width - if (enemyCountInCol*LevelPlugin.graphSize(LevelPlugin.pictureRootPath()+"enemy1.png").width > gameArea.width) { - enemyMaxWidth = gameArea.width / (enemyCountInCol + 1); - } - else { - enemyMaxWidth = LevelPlugin.graphSize(LevelPlugin.pictureRootPath()+"enemy1.png").width; - } - } - - - Component.onCompleted: { - // Calculate enemy max width - calEnemyMaxWidth() - - // Create enemies dynamically after component created - createEnemies(LevelPlugin.enemyCount()) - - // Start animations - enemiesGrid.y = enemiesGrid.height * -1 - rightLeftAnim.restart() - upToDownAnim.restart() - - // Flying stars animation, not in Maemo - if (!GameEngine.isMaemo()) { - starBurstTimer.restart() - } - - GameEngine.playSound(4) // NOTE: Level start sound - } - - - Timer { - id: starBurstTimer - interval: starParticles.lifeSpan+GameEngine.randInt(100,2000); running: false; repeat: true - onTriggered: { - starParticles.burst(GameEngine.randInt(4,10)) - } - } - - - // Right-left animation - SequentialAnimation { - id: rightLeftAnim - loops: Animation.Infinite - NumberAnimation { target:enemiesGrid; property:"x"; from: 0; to:gameArea.width - enemiesGrid.width; easing.type: Easing.OutQuad; duration: 3000 } - NumberAnimation { target:enemiesGrid; property:"x"; to: 0; easing.type: Easing.OutQuad; duration: 3000 } - } - - // Up to down animation - PropertyAnimation { id: upToDownAnim; target:enemiesGrid; property:"y"; to: gameArea.height; - easing.type: Easing.Linear; duration: enemies.enemySpeed } - - Grid { - id: enemiesGrid - objectName: "enemiesGrid" - columns: LevelPlugin.enemyCount() / LevelPlugin.enemyRowCount() - spacing: 8 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"red_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } - - Particles { - id: starParticles - y: -50 - x: 0 - width: parent.width - height: 50 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"star3.png" - lifeSpan: 3000 - count: -1 - angle: 90 - velocity: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 500 - } - } - - -} - - - - - diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/changelog b/examples/mobile/quickhit/plugins/LevelOne/debian/changelog deleted file mode 100644 index de7ac989..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -levelone (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -levelone (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/compat b/examples/mobile/quickhit/plugins/LevelOne/debian/compat deleted file mode 100644 index 7f8f011e..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/control b/examples/mobile/quickhit/plugins/LevelOne/debian/control deleted file mode 100644 index c46afefb..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: levelone -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: levelone -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - LevelOne - QuickHit - LevelOne diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/copyright b/examples/mobile/quickhit/plugins/LevelOne/debian/copyright deleted file mode 100644 index fb9e5a8e..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is qmultiwinexample, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/dirs b/examples/mobile/quickhit/plugins/LevelOne/debian/dirs deleted file mode 100644 index 80507f10..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/postinst b/examples/mobile/quickhit/plugins/LevelOne/debian/postinst deleted file mode 100644 index 79fb6ddd..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/examples/mobile/quickhit/plugins/LevelOne/debian/rules b/examples/mobile/quickhit/plugins/LevelOne/debian/rules deleted file mode 100644 index 53a1d2ea..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := levelone - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/background3.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/background3.png Binary files differdeleted file mode 100644 index c81875ac..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/background3.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149bd..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy1.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png Binary files differdeleted file mode 100644 index 448f8ca6..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index c0b28d86..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/enemy_missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/fire.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/fire.png Binary files differdeleted file mode 100644 index 84010340..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/fire.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/fire2.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/fire2.png Binary files differdeleted file mode 100644 index 139aa611..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/fire2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/missile2.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd6106..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png Binary files differdeleted file mode 100644 index 464d603d..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/red_fire.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/ship.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c4..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/ship.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/star3.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/star3.png Binary files differdeleted file mode 100644 index f37a3917..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/star3.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/gfx/transparent.png b/examples/mobile/quickhit/plugins/LevelOne/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e413..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/gfx/transparent.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/levelone.cpp b/examples/mobile/quickhit/plugins/LevelOne/levelone.cpp deleted file mode 100644 index 6820bf36..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/levelone.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "levelone.h" -#include <QtCore/qplugin.h> - - -LevelOne::LevelOne() -{ -} - -LevelOne::~LevelOne() -{ -} - -QString LevelOne::pathPrefix() -{ - /* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelOne::levelSounds() -{ - QStringList list; - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket_explosion.wav"); - // 1 = You explode - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/crash.wav"); - // 2 = Missile fires - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket_explosion.wav"); - // 3 = Emeny Missile fires - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/rocket.wav"); - - // Additional sounds - // Level starts - list.append(LevelOne::pathPrefix()+"quickhitdata/levelone/sound/levelonestart.wav"); - - return list; -} - -QVariant LevelOne::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelOne::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} diff --git a/examples/mobile/quickhit/plugins/LevelOne/levelone.h b/examples/mobile/quickhit/plugins/LevelOne/levelone.h deleted file mode 100644 index da3e76d9..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/levelone.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LEVELONE_H -#define LEVELONE_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -#include "levelplugininterface.h" - -class LevelOne : public LevelPluginInterface -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0" FILE "levelone.json") - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelOne(); - ~LevelOne(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(30); } // 6x5=30 - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(6); } // 6 rows of enemies - Q_INVOKABLE QVariant enemySpeed() { return QVariant(36000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(200); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelOne::pathPrefix()+"quickhitdata/levelone/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LEVELONE_H diff --git a/examples/mobile/quickhit/plugins/LevelOne/levelone.json b/examples/mobile/quickhit/plugins/LevelOne/levelone.json deleted file mode 100644 index 0967ef42..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/levelone.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/examples/mobile/quickhit/plugins/LevelOne/levelone.pro b/examples/mobile/quickhit/plugins/LevelOne/levelone.pro deleted file mode 100644 index 23bd275a..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/levelone.pro +++ /dev/null @@ -1,97 +0,0 @@ -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = levelone.h - -SOURCES = levelone.cpp - -TARGET = $$qtLibraryTarget(levelone) - -OTHER_FILES += Level.qml - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb66 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = levelone.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/background3.png ../winscw/c/Data/gfx/background3.png" \ -"gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/enemy2.png ../winscw/c/Data/gfx/enemy2.png" \ -"gfx/red_fire.png ../winscw/c/Data/gfx/red_fire.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/star3.png ../winscw/c/Data/gfx/star3.png" \ -"sound/crash.wav ../winscw/c/Data/sound/crash.wav" \ -"sound/rocket.wav ../winscw/c/Data/sound/rocket.wav" \ -"sound/rocket_explosion.wav ../winscw/c/Data/sound/rocket_explosion.wav" \ -"sound/levelonestart.wav ../winscw/c/Data/sound/levelonestart.wav" \ -"Level.qml ../winscw/c/Data/Level.qml" - - -myQml.sources = level.qml -myQml.path = c:/system/quickhitdata/levelone -myGraphic.sources = gfx/* -myGraphic.path = c:/system/quickhitdata/levelone/gfx -mySound.sources = sound/* -mySound.path = c:/system/quickhitdata/levelone/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { -# Copy level sounds and graphics into right destination -system(mkdir c:\\quickhitdata\\levelone) -system(mkdir c:\\quickhitdata\\levelone\\gfx) -system(mkdir c:\\quickhitdata\\levelone\\sound) -system(copy *.qml c:\\quickhitdata\\levelone) -system(copy gfx\\*.* c:\\quickhitdata\\levelone\\gfx) -system(copy sound\\*.* c:\\quickhitdata\\levelone\\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/levelone/ -myQml.files += Level.qml -myGraphic.path = /home/user/.quickhitdata/levelone/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/levelone/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/examples/mobile/quickhit/plugins/LevelOne/sound/crash.wav b/examples/mobile/quickhit/plugins/LevelOne/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f6..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/sound/crash.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav b/examples/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav Binary files differdeleted file mode 100644 index e9e3ac03..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/sound/levelonestart.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/sound/rocket.wav b/examples/mobile/quickhit/plugins/LevelOne/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9a..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/sound/rocket.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav b/examples/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451cc..00000000 --- a/examples/mobile/quickhit/plugins/LevelOne/sound/rocket_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/changelog b/examples/mobile/quickhit/plugins/LevelTemplate/debian/changelog deleted file mode 100644 index a5e0a1bd..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -leveltemplate (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -leveltemplate (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/compat b/examples/mobile/quickhit/plugins/LevelTemplate/debian/compat deleted file mode 100644 index 7f8f011e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/control b/examples/mobile/quickhit/plugins/LevelTemplate/debian/control deleted file mode 100644 index 68742fdf..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: leveltemplate -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: leveltemplate -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - Level Template - QuickHit - Level Template diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/copyright b/examples/mobile/quickhit/plugins/LevelTemplate/debian/copyright deleted file mode 100644 index f9ee8e22..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is leveltemplate, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/dirs b/examples/mobile/quickhit/plugins/LevelTemplate/debian/dirs deleted file mode 100644 index 80507f10..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist b/examples/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist deleted file mode 100644 index f3146fa1..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/levelone.tarlist +++ /dev/null @@ -1,41 +0,0 @@ -755 root root . home / -755 root root . home/maemo / -755 root root . home/maemo/quickhitdata / -755 root root . home/maemo/quickhitdata/levelone / -644 root root . home/maemo/quickhitdata/levelone/Level.qml debian/levelone/home/maemo/quickhitdata/levelone/Level.qml -755 root root . home/maemo/quickhitdata/leveltwo / -755 root root . home/maemo/quickhitdata/leveltwo/gfx / -644 root root . home/maemo/quickhitdata/leveltwo/gfx/background3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/background3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy1.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy1.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/moon.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/moon.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/ship.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/ship.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/star3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/star3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/transparent.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/transparent.png -755 root root . home/maemo/quickhitdata/leveltwo/sound / -644 root root . home/maemo/quickhitdata/leveltwo/sound/crash.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/crash.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/laser.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/laser.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav -755 root root . usr / -755 root root . usr/bin / -755 root root . usr/lib / -755 root root . usr/lib/qt4 / -755 root root . usr/lib/qt4/plugins / -755 root root . usr/lib/qt4/plugins/quickhitlevels / -644 root root . usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so debian/levelone/usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so -755 root root . usr/share / -755 root root . usr/share/applications / -755 root root . usr/share/applications/hildon / -755 root root . usr/share/doc / -755 root root . usr/share/doc/levelone / -644 root root . usr/share/doc/levelone/changelog.gz debian/levelone/usr/share/doc/levelone/changelog.gz -644 root root . usr/share/doc/levelone/copyright debian/levelone/usr/share/doc/levelone/copyright diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/postinst b/examples/mobile/quickhit/plugins/LevelTemplate/debian/postinst deleted file mode 100644 index 79fb6ddd..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/debian/rules b/examples/mobile/quickhit/plugins/LevelTemplate/debian/rules deleted file mode 100644 index 7f30ca37..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := leveltemplate - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png Binary files differdeleted file mode 100644 index 8667a397..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/blue_fire.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149bd..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy1.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png Binary files differdeleted file mode 100644 index 448f8ca6..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index c0b28d86..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/enemy_missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd6106..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c4..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/ship.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png b/examples/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e413..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/gfx/transparent.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp b/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp deleted file mode 100644 index fed33c3d..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "leveltemplate.h" -#include <QtCore/qplugin.h> - - -LevelTemplate::LevelTemplate() -{ -} - -LevelTemplate::~LevelTemplate() -{ -} - -QString LevelTemplate::pathPrefix() -{ -/* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelTemplate::levelSounds() -{ - QStringList list; - - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/enemy_explosion.wav"); - // 1 = You explode - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/myship_explosion.wav"); - // 2 = Missile fires - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/laser.wav"); - // 3 = Emeny Missile fires - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/rocket.wav"); - - // Additional sounds - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/enableship.wav"); - list.append(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/sound/level2.wav"); - - - return list; -} - -QVariant LevelTemplate::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelTemplate::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} - - - - - diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h b/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h deleted file mode 100644 index b41cce00..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.h +++ /dev/null @@ -1,100 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LevelTemplate_H -#define LevelTemplate_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -// Common interface header for all level plugins -#include "levelplugininterface.h" - -// Level name -#define LEVEL_NAME "leveltemplate" - -class LevelTemplate : public LevelPluginInterface -{ - Q_OBJECT - - // This Qt macro exports the plugin. - // There should be exactly one occurrence of this macro in a Qt plugin's source code. - Q_PLUGIN_METADATA(IID "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0") - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelTemplate(); - ~LevelTemplate(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(1); } - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(0); } - Q_INVOKABLE QVariant enemySpeed() { return QVariant(20000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(2000); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelTemplate::pathPrefix()+"quickhitdata/"+LEVEL_NAME+"/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LevelTemplate_H diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro b/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro deleted file mode 100644 index 0eecca7e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/leveltemplate.pro +++ /dev/null @@ -1,100 +0,0 @@ -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = leveltemplate.h - -SOURCES = leveltemplate.cpp - -TARGET = $$qtLibraryTarget(leveltemplate) - -OTHER_FILES += qml/Level.qml \ - qml/Enemy.qml \ - qml/Level.js - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb68 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = leveltemplate.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/enemy2.png ../winscw/c/Data/gfx/enemy2.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/blue_fire.png ../winscw/c/Data/gfx/blue_fire.png" \ -"sound/enemy_explosion.wav ../winscw/c/Data/sound/enemy_explosion.wav" \ -"sound/myship_explosion.wav ../winscw/c/Data/sound/myship_explosion.wav" \ -"sound/enableship.wav ../winscw/c/Data/sound/enableship.wav" \ -"sound/laser.wav ../winscw/c/Data/sound/laser.wav" \ -"sound/level2.wav ../winscw/c/Data/sound/level2.wav" \ -"qml/Level.qml ../winscw/c/Data/Level.qml" \ -"qml/Level.js ../winscw/c/Data/Level.js" \ -"qml/Enemy.qml ../winscw/c/Data/Enemy.qml" - - -myQml.sources = qml/* -myQml.path = c:/system/quickhitdata/leveltemplate -myGraphic.sources = gfx/* -myGraphic.path = c:/system/quickhitdata/leveltemplate/gfx -mySound.sources = sound/* -mySound.path = c:/system/quickhitdata/leveltemplate/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { -# Copy level sounds and graphics into right destination -system(mkdir c:\quickhitdata\leveltemplate) -system(mkdir c:\quickhitdata\leveltemplate\gfx) -system(mkdir c:\quickhitdata\leveltemplate\sound) -system(copy qml\*.* c:\quickhitdata\leveltemplate) -system(copy gfx\*.* c:\quickhitdata\leveltemplate\gfx) -system(copy sound\*.* c:\quickhitdata\leveltemplate\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/leveltemplate/ -myQml.files += qml/* -myGraphic.path = /home/user/.quickhitdata/leveltemplate/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/leveltemplate/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml b/examples/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml deleted file mode 100644 index 161f3382..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Enemy.qml +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Image { - id: enemy - - // *************************************************** - // *** NOTE: This "enemy "is mandatory enemy object name for all enemy QML files - objectName: "enemy" - - smooth:true - opacity: 0 // 0=hidden by default - fillMode:Image.PreserveAspectFit - source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png" - - property int enemySpeed: LevelPlugin.enemySpeed() - - // *************************************************** - // *** NOTE: This "pause(bool)" function is mandatory for all enemies QML files - function pause(doPause) { - } -} diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.js b/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.js deleted file mode 100644 index 95b4b642..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.js +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var hiddenEnemies = new Array() - diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml b/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml deleted file mode 100644 index 8573f970..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/qml/Level.qml +++ /dev/null @@ -1,104 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 - -// Level own JavaScript file -import "Level.js" as LevelScript - -Rectangle { - id: enemies - anchors.fill: parent - property int enemiesCreated: 0 - property int enemiesEnabled: 0 - color: "black" - - // *************************************************** - // *** NOTE: This "pause(bool)" function is mandatory for all level QML files - function pause(doPause) { - } - - // *************************************************** - // *** NOTE: Level object name "level" is mandatory for all level QML files - objectName: "level" - - // Enemy placeholder. Have to exist at least one enemy for prevent to level be stopped - Enemy { - x: parent.width / 2 - y: parent.height / 2 - opacity: 1 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"blue_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } -} diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f6..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/crash.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav Binary files differdeleted file mode 100644 index 6fe5fe84..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/enableship.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav Binary files differdeleted file mode 100644 index fd338e6b..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/enemy_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav Binary files differdeleted file mode 100644 index c3b58b20..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/laser.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav Binary files differdeleted file mode 100644 index 24d39174..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/level2.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav Binary files differdeleted file mode 100644 index e22d030e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/myship_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9a..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav b/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451cc..00000000 --- a/examples/mobile/quickhit/plugins/LevelTemplate/sound/rocket_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/changelog b/examples/mobile/quickhit/plugins/LevelTwo/debian/changelog deleted file mode 100644 index 106ef66d..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/changelog +++ /dev/null @@ -1,11 +0,0 @@ -leveltwo (1.1.0) unstable; urgency=low - - * Final graphics - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Wed, 5 Jan 2011 10:05:04 +0200 - -leveltwo (1.0.0) unstable; urgency=low - - * First version - - -- Antonio Aloisio <antonio.aloisio@nokia.com> Tue, 19 Oct 2010 10:05:04 +0200 diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/compat b/examples/mobile/quickhit/plugins/LevelTwo/debian/compat deleted file mode 100644 index 7f8f011e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/compat +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/control b/examples/mobile/quickhit/plugins/LevelTwo/debian/control deleted file mode 100644 index 8f9d05e4..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/control +++ /dev/null @@ -1,11 +0,0 @@ -Source: leveltwo -Section: user/games -Priority: extra -Maintainer: Antonio Aloisio <antonio.aloisio@nokia.com> -Standards-Version: 3.7.2 - -Package: leveltwo -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: QuickHit - LevelTwo - QuickHit - LevelTwo diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/copyright b/examples/mobile/quickhit/plugins/LevelTwo/debian/copyright deleted file mode 100644 index fb9e5a8e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/copyright +++ /dev/null @@ -1,8 +0,0 @@ -This is qmultiwinexample, written and maintained by Forum Nokia Antonio Aloisio <antonio.aloisio@nokia.com> -on Tue, 19 Oct 2010 10:05:04 +0200 - - -Copyright Holder: Nokia (c) 2010 - -License: - diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/dirs b/examples/mobile/quickhit/plugins/LevelTwo/debian/dirs deleted file mode 100644 index 80507f10..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/dirs +++ /dev/null @@ -1,2 +0,0 @@ -usr/bin -usr/share/applications/hildon diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist b/examples/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist deleted file mode 100644 index f3146fa1..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/levelone.tarlist +++ /dev/null @@ -1,41 +0,0 @@ -755 root root . home / -755 root root . home/maemo / -755 root root . home/maemo/quickhitdata / -755 root root . home/maemo/quickhitdata/levelone / -644 root root . home/maemo/quickhitdata/levelone/Level.qml debian/levelone/home/maemo/quickhitdata/levelone/Level.qml -755 root root . home/maemo/quickhitdata/leveltwo / -755 root root . home/maemo/quickhitdata/leveltwo/gfx / -644 root root . home/maemo/quickhitdata/leveltwo/gfx/background3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/background3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/blue_fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy1.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy1.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/enemy_missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/fire2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/fire2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/missile2.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/missile2.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/moon.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/moon.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/ship.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/ship.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/star3.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/star3.png -644 root root . home/maemo/quickhitdata/leveltwo/gfx/transparent.png debian/levelone/home/maemo/quickhitdata/leveltwo/gfx/transparent.png -755 root root . home/maemo/quickhitdata/leveltwo/sound / -644 root root . home/maemo/quickhitdata/leveltwo/sound/crash.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/crash.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/enemy_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/laser.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/laser.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/myship_explosion.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket.wav -644 root root . home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav debian/levelone/home/maemo/quickhitdata/leveltwo/sound/rocket_explosion.wav -755 root root . usr / -755 root root . usr/bin / -755 root root . usr/lib / -755 root root . usr/lib/qt4 / -755 root root . usr/lib/qt4/plugins / -755 root root . usr/lib/qt4/plugins/quickhitlevels / -644 root root . usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so debian/levelone/usr/lib/qt4/plugins/quickhitlevels/libleveltwo.so -755 root root . usr/share / -755 root root . usr/share/applications / -755 root root . usr/share/applications/hildon / -755 root root . usr/share/doc / -755 root root . usr/share/doc/levelone / -644 root root . usr/share/doc/levelone/changelog.gz debian/levelone/usr/share/doc/levelone/changelog.gz -644 root root . usr/share/doc/levelone/copyright debian/levelone/usr/share/doc/levelone/copyright diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/postinst b/examples/mobile/quickhit/plugins/LevelTwo/debian/postinst deleted file mode 100644 index 79fb6ddd..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/postinst +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh -e - -gtk-update-icon-cache -f /usr/share/icons/hicolor - -exit 0 diff --git a/examples/mobile/quickhit/plugins/LevelTwo/debian/rules b/examples/mobile/quickhit/plugins/LevelTwo/debian/rules deleted file mode 100644 index 5dac6e09..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/debian/rules +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - - -APPNAME := leveltwo - - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - - touch configure-stamp - - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/$(APPNAME).sgml > $(APPNAME).1 - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - $(MAKE) clean - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/$(APPNAME). - $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/$(APPNAME) install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - # dh_strip - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/background2.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/background2.png Binary files differdeleted file mode 100644 index 8fbf2f46..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/background2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png Binary files differdeleted file mode 100644 index 3a135d2c..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/background_loop.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png Binary files differdeleted file mode 100644 index 8667a397..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/blue_fire.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png Binary files differdeleted file mode 100644 index 94f149bd..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy1.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png Binary files differdeleted file mode 100644 index 5011d755..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/enemy_missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire.png Binary files differdeleted file mode 100644 index 84010340..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png Binary files differdeleted file mode 100644 index 139aa611..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/fire2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile.png Binary files differdeleted file mode 100644 index 86bb41bc..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png Binary files differdeleted file mode 100644 index dacd6106..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/missile2.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/ship.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/ship.png Binary files differdeleted file mode 100644 index cb7851c4..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/ship.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/star3.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/star3.png Binary files differdeleted file mode 100644 index 70af0f3c..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/star3.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png b/examples/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png Binary files differdeleted file mode 100644 index 3aa1e413..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/gfx/transparent.png +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp b/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp deleted file mode 100644 index 1d5685a8..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.cpp +++ /dev/null @@ -1,119 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "leveltwo.h" -#include <QtCore/qplugin.h> - - -LevelTwo::LevelTwo() -{ -} - -LevelTwo::~LevelTwo() -{ -} - -QString LevelTwo::pathPrefix() -{ - /* -QDir::rootPath() -For Unix operating systems this returns "/". -For Windows file systems this normally returns "c:/". -On Symbian this typically returns "c:/data", -*/ - -#ifdef Q_WS_MAEMO_5 - return "/home/user/."; -#elif defined Q_OS_WIN32 - return QDir::rootPath(); -#else - //return QDir::rootPath()+"/"; - return "c:/System/"; -#endif -} - -QStringList LevelTwo::levelSounds() -{ - QStringList list; - - - // NOTE: Mandatory sounds/indexs for the all levels - // 0 = Enemy explode - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/enemy_explosion.wav"); - // 1 = You explode - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/myship_explosion.wav"); - // 2 = Missile fires - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/laser.wav"); - // 3 = Emeny Missile fires - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/rocket.wav"); - - // Additional sounds - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/enableship.wav"); - list.append(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/sound/level2.wav"); - - - return list; -} - -QVariant LevelTwo::getData(QVariant key) -{ - QVariant ret; - switch (key.toInt()) { - case 1: { - // Any data what you need for this key - // Set your data into QVariant (ret) - break; - } - default: { - break; - } - } - return ret; -} - -QVariant LevelTwo::graphSize(QVariant pathToGraph) -{ - QVariant ret; - m_imageReader.setFileName(pathToGraph.toString()); - QSize imageSize = m_imageReader.size(); - ret.setValue(imageSize); - return ret; -} diff --git a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.h b/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.h deleted file mode 100644 index 57f5a84f..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LevelTwo_H -#define LevelTwo_H - -#include <QObject> -#include <QDir> -#include <QImageReader> - -#include "levelplugininterface.h" - -class LevelTwo : public LevelPluginInterface -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0" FILE "leveltwo.json") - - // This macro tells Qt which interfaces the class implements. - // This is used when implementing plugins. - Q_INTERFACES(LevelPluginInterface) - -public: - LevelTwo(); - ~LevelTwo(); - - static QString pathPrefix(); - -public: // From LevelPluginInterface - - QStringList levelSounds(); - - Q_INVOKABLE QVariant getData(QVariant key); - - Q_INVOKABLE QVariant graphSize(QVariant pathToGraph); - - Q_INVOKABLE QVariant enemyCount() { return QVariant(35); } - Q_INVOKABLE QVariant enemyRowCount() { return QVariant(0); } - Q_INVOKABLE QVariant enemySpeed() { return QVariant(20000); } - Q_INVOKABLE QVariant enemyFireSpeed() { return QVariant(500); } - - // Root paths for the QML, Pictures and Sounds - Q_INVOKABLE QVariant qmlRootPath() { return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/"); } - Q_INVOKABLE QVariant pictureRootPath() { return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/"); } - - // Full paths - Q_INVOKABLE QVariant pathToTransparentEnemyPic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/transparent.png");} - Q_INVOKABLE QVariant pathToMissilePic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/missile2.png");} - Q_INVOKABLE QVariant pathToEnemyMissilePic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/enemy_missile2.png");} - Q_INVOKABLE QVariant pathToMyShipPic() {return QVariant(LevelTwo::pathPrefix()+"quickhitdata/leveltwo/gfx/ship.png");} - -protected: - QImageReader m_imageReader; -}; - -#endif // LevelTwo_H diff --git a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.json b/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.json deleted file mode 100644 index 0967ef42..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.pro b/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.pro deleted file mode 100644 index 6395989b..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/leveltwo.pro +++ /dev/null @@ -1,105 +0,0 @@ -TEMPLATE = lib - -#VERSION = 1.1.0 - -CONFIG += plugin - -INCLUDEPATH += ../ - -HEADERS = leveltwo.h - -SOURCES = leveltwo.cpp - -TARGET = $$qtLibraryTarget(leveltwo) - -OTHER_FILES += qml/Level.qml \ - qml/Enemy.qml \ - qml/Level.js - - -# SYMBIAN --------------------------- -symbian: { -# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files -load(data_caging_paths) - -# EPOCALLOWDLLDATA have to set true because Qt macros has initialised global data -TARGET.EPOCALLOWDLLDATA=1 -TARGET.UID3 = 0xE07dfb67 - -TARGET.CAPABILITY = NetworkServices \ - Location \ - ReadUserData \ - WriteUserData \ - LocalServices \ - UserEnvironment - -# Defines plugin stub file into Symbian .pkg package -pluginDep.sources = leveltwo.dll -pluginDep.path = $$QT_PLUGINS_BASE_DIR/quickhitlevels -DEPLOYMENT += pluginDep - -# Graphics and Sounds for the plugin -BLD_INF_RULES.prj_exports += "gfx/background2.png ../winscw/c/Data/gfx/background2.png" \ -"gfx/background_loop.png ../winscw/c/Data/gfx/background_loop.png" \ -"gfx/enemy1.png ../winscw/c/Data/gfx/enemy1.png" \ -"gfx/fire2.png ../winscw/c/Data/gfx/fire2.png" \ -"gfx/fire.png ../winscw/c/Data/gfx/fire.png" \ -"gfx/missile2.png ../winscw/c/Data/gfx/missile2.png" \ -"gfx/enemy_missile2.png ../winscw/c/Data/gfx/enemy_missile2.png" \ -"gfx/ship.png ../winscw/c/Data/gfx/ship.png" \ -"gfx/transparent.png ../winscw/c/Data/gfx/transparent.png" \ -"gfx/star3.png ../winscw/c/Data/gfx/star3.png" \ -"gfx/blue_fire.png ../winscw/c/Data/gfx/blue_fire.png" \ -"sound/enemy_explosion.wav ../winscw/c/Data/sound/enemy_explosion.wav" \ -"sound/myship_explosion.wav ../winscw/c/Data/sound/myship_explosion.wav" \ -"sound/enableship.wav ../winscw/c/Data/sound/enableship.wav" \ -"sound/laser.wav ../winscw/c/Data/sound/laser.wav" \ -"sound/level2.wav ../winscw/c/Data/sound/level2.wav" \ -"qml/Level.qml ../winscw/c/Data/Level.qml" \ -"qml/Level.js ../winscw/c/Data/Level.js" \ -"qml/Enemy.qml ../winscw/c/Data/Enemy.qml" - - -myQml.sources = qml/* -myQml.path = c:/system/quickhitdata/leveltwo -myGraphic.sources = gfx/* -myGraphic.path = c:/system/quickhitdata/leveltwo/gfx -mySound.sources = sound/* -mySound.path = c:/system/quickhitdata/leveltwo/sound -# Takes qml, graphics and sounds into Symbian SIS package file (.pkg) -DEPLOYMENT += myQml myGraphic mySound - -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -# Installs binaries -INSTALLS += target -} - -# WINDOWS --------------------------- -win32: { - -# Copy level sounds and graphics into right destination -system(mkdir c:\quickhitdata\leveltwo) -system(mkdir c:\quickhitdata\leveltwo\gfx) -system(mkdir c:\quickhitdata\leveltwo\sound) -system(copy qml\*.* c:\quickhitdata\leveltwo) -system(copy gfx\*.* c:\quickhitdata\leveltwo\gfx) -system(copy sound\*.* c:\quickhitdata\leveltwo\sound) - -# Installs binaries -target.path += $$[QT_INSTALL_PLUGINS]/quickhitlevels -INSTALLS += target -} - -# MAEMO_5 --------------------------- -maemo5: { -myQml.path = /home/user/.quickhitdata/leveltwo/ -myQml.files += qml/* -myGraphic.path = /home/user/.quickhitdata/leveltwo/gfx/ -myGraphic.files += gfx/* -mySound.path = /home/user/.quickhitdata/leveltwo/sound/ -mySound.files += sound/* - -target.path += /usr/lib/qt4/plugins/quickhitlevels -# Installs qml, binaries, sounds and graphics -INSTALLS += target myGraphic mySound myQml -} diff --git a/examples/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml b/examples/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml deleted file mode 100644 index 350b3162..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/qml/Enemy.qml +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 - -Image { - id: enemy - objectName: "enemy" - smooth:true - opacity: 0 // 0=hidden by default - fillMode:Image.PreserveAspectFit - source:"file:/"+LevelPlugin.pictureRootPath()+"enemy1.png" - - property int enemySpeed: LevelPlugin.enemySpeed() - - function pause(doPause) { - if (doPause) { - upToDownAnim.pause() - rightLeftAnim.pause() - } else { - upToDownAnim.resume() - rightLeftAnim.resume() - } - } - - function startMovingAnim() { - upToDownAnim.restart() - rightLeftAnim.restart() - } - - // Right-left animation - SequentialAnimation { - id: rightLeftAnim - loops: Animation.Infinite - NumberAnimation { target:enemy; property:"x"; - to:gameArea.width - enemy.width; easing.type: Easing.OutQuad; duration: 3000 } - NumberAnimation { target:enemy; property:"x"; to:0; easing.type: Easing.OutQuad; duration: 3000 } - } - - // Up to down animation - SequentialAnimation { - id: upToDownAnim - PropertyAnimation { target:enemy; property:"y"; to: gameArea.height; - easing.type: Easing.Linear; duration: enemy.enemySpeed } - PropertyAction { target: enemy; properties: "opacity"; value: 0 } - } -} diff --git a/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.js b/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.js deleted file mode 100644 index 95b4b642..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.js +++ /dev/null @@ -1,42 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtDeclarative module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names -** of its contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -var hiddenEnemies = new Array() - diff --git a/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.qml b/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.qml deleted file mode 100644 index 71c666a6..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/qml/Level.qml +++ /dev/null @@ -1,229 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -import QtQuick 1.0 -import Qt.labs.particles 1.0 -import "Level.js" as LevelScript - -Item { - id: enemies - anchors.fill: parent - - property int enemiesCreated: 0 - property int enemiesEnabled: 0 - - property int backOneTop - property int backTwoTop - - // Long background 2 - Image { - id: longBackground_2 - source: "file:/"+LevelPlugin.pictureRootPath()+"background_loop.png" - fillMode: Image.Stretch - smooth: false - width: gameArea.width - height: gameArea.height - } - - // Long background 1 - Image { - id: longBackground_1 - source: "file:/"+LevelPlugin.pictureRootPath()+"background_loop.png" - fillMode: Image.Stretch - smooth: false - width: gameArea.width - height: gameArea.height - } - - // Long background Up to down animation - ParallelAnimation { - id: backgroundAnim; - loops: Animation.Infinite - PropertyAnimation { target:longBackground_1; property:"y"; - from:backOneTop; to:gameArea.height; easing.type:Easing.Linear; duration:10000 } - PropertyAnimation { target:longBackground_2; property:"y"; - from:backTwoTop; to:backOneTop; easing.type:Easing.Linear; duration:10000 } - } - - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - function pause(doPause) { - if (doPause) { - enemyCreationTimer.stop() - backgroundAnim.stop() - } else { - enemyCreationTimer.restart() - backgroundAnim.restart() - } - for (var i=0;i<LevelScript.hiddenEnemies.length;i++) { - var enemy = LevelScript.hiddenEnemies[i] - enemy.pause(doPause) - } - } - - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - objectName: "level" - - - // Enemy creation timer - Timer { - id: enemyCreationTimer - interval: 1000; running: false; repeat: true - onTriggered: { - enableEnemy() - } - } - - function enableEnemy() { - if (enemiesEnabled < enemiesCreated) { - var enemy = LevelScript.hiddenEnemies[enemiesEnabled] - enemy.opacity = 1 - enemy.x = GameEngine.randInt(0,gameArea.width-enemy.width-50) - enemy.startMovingAnim() - enemyCreationTimer.stop() - enemyCreationTimer.interval = GameEngine.randInt(500,2000) - enemyCreationTimer.restart() - enemiesEnabled = enemiesEnabled + 1 - GameEngine.playSound(4) // NOTE: Enable enemy sound - } else { - enemyCreationTimer.stop() - } - } - - // Hidden enemies group - function createHiddenEnemiesGroup() { - for (var i=0;i<LevelPlugin.enemyCount();i++) { - var enemyComponent = Qt.createComponent("file:/"+LevelPlugin.qmlRootPath()+"Enemy.qml") - var enemyObject = enemyComponent.createObject(enemies) - LevelScript.hiddenEnemies.push(enemyObject) - enemiesCreated = enemiesCreated + 1 - } - } - - Component.onCompleted: { - // Create hidden enemies - createHiddenEnemiesGroup() - // Flying moons animation - starBurstTimer.restart() - // Create enemies timer - enemyCreationTimer.restart() - - // Start Long background loop animation - backOneTop = 0 - longBackground_1.y = backOneTop; - backTwoTop = gameArea.height * -1 - longBackground_2.y = backTwoTop; - backgroundAnim.restart() - - GameEngine.playSounds(5,3) //NOTE: Level starts sound, 3 times - } - - Timer { - id: starBurstTimer - interval: starParticles.lifeSpan+GameEngine.randInt(100,2000); running: false; repeat: true - onTriggered: { - starParticles.burst(GameEngine.randInt(4,6)) - } - } - - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Execute explode particle effect - function explode(x,y) { - explodeParticles.x = x - explodeParticles.y = y - explodeParticles.burst(20) - explodeParticles.opacity = 1 - } - // *************************************************** - // *** NOTE: This is mandatory for all level QML files - // Explode particle effect - Particles { - id: explodeParticles - opacity: 0 - width: 1 - height: 1 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"blue_fire.png" - lifeSpan: 500 - lifeSpanDeviation: 2000 - count: -1 - angle: 270 - angleDeviation: 65 - velocity: 100 - velocityDeviation: 100 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 300 - acceleration: 50 - } - } - - Particles { - id: starParticles - y: -50 - x: 0 - width: parent.width - height: 50 - emissionRate: 0 - source: "file:/"+LevelPlugin.pictureRootPath()+"star3.png" - lifeSpan: 5000 - count: -1 - angle: 90 - velocity: 100 - opacity: 0.7 - ParticleMotionGravity { - yattractor: 1000 - xattractor: 500 - } - } - - -} - - - - - diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/crash.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/crash.wav Binary files differdeleted file mode 100644 index 8076f0f6..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/crash.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav Binary files differdeleted file mode 100644 index 6fe5fe84..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/enableship.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav Binary files differdeleted file mode 100644 index fd338e6b..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/enemy_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/laser.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/laser.wav Binary files differdeleted file mode 100644 index c3b58b20..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/laser.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/level2.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/level2.wav Binary files differdeleted file mode 100644 index 24d39174..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/level2.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav Binary files differdeleted file mode 100644 index e22d030e..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/myship_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav Binary files differdeleted file mode 100644 index 8c0dee9a..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav b/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav Binary files differdeleted file mode 100644 index d2b451cc..00000000 --- a/examples/mobile/quickhit/plugins/LevelTwo/sound/rocket_explosion.wav +++ /dev/null diff --git a/examples/mobile/quickhit/plugins/levelplugininterface.h b/examples/mobile/quickhit/plugins/levelplugininterface.h deleted file mode 100644 index 35ba35ce..00000000 --- a/examples/mobile/quickhit/plugins/levelplugininterface.h +++ /dev/null @@ -1,87 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef LEVELPLUGININTERFACE_H -#define LEVELPLUGININTERFACE_H - -#include <QObject> -#include <QVariant> - -class LevelPluginInterface : public QObject -{ -public: - // Full paths to level sounds - virtual QStringList levelSounds() = 0; - - // Generic key/value data - virtual QVariant getData(QVariant key) = 0; - - // Request picture size - virtual QVariant graphSize(QVariant pathToGraph) = 0; - - // Enemy count in the level - virtual QVariant enemyCount() = 0; - // Enemy row count in the level - virtual QVariant enemyRowCount() = 0; - // Enemy speed - virtual QVariant enemySpeed() = 0; - // Enemy fire speed - virtual QVariant enemyFireSpeed() = 0; - - // QML root path - virtual QVariant qmlRootPath() = 0; - // Picture root path - virtual QVariant pictureRootPath() = 0; - - // Paths for GameEngine and QuickHit internal QML files - virtual QVariant pathToTransparentEnemyPic() = 0; - virtual QVariant pathToMissilePic() = 0; - virtual QVariant pathToEnemyMissilePic() = 0; - virtual QVariant pathToMyShipPic() = 0; -}; - -// This Qt macro associates the given Identifier "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0" -// to the interface class called LevelPluginInterface. The Identifier must be unique. - -#define LevelPluginInterface_iid "Forum.Nokia.com.QuickHit.LevelPluginInterface/1.0" -Q_DECLARE_INTERFACE(LevelPluginInterface, LevelPluginInterface_iid) - -#endif // LEVELPLUGININTERFACE_H diff --git a/examples/mobile/quickhit/quickhit.png b/examples/mobile/quickhit/quickhit.png Binary files differdeleted file mode 100644 index 01d2d609..00000000 --- a/examples/mobile/quickhit/quickhit.png +++ /dev/null diff --git a/examples/mobile/quickhit/quickhit.pro b/examples/mobile/quickhit/quickhit.pro deleted file mode 100644 index b511a76f..00000000 --- a/examples/mobile/quickhit/quickhit.pro +++ /dev/null @@ -1,60 +0,0 @@ -QT += core gui declarative opengl widgets - -VERSION = 1.1.1 - -TARGET = quickhit -TEMPLATE = app - -SOURCES += main.cpp \ - mainwindow.cpp \ - gameengine.cpp \ - InvSounds.cpp \ - myeventfilter.cpp \ - ga_src/GEAudioBuffer.cpp \ - ga_src/GEAudioOut.cpp \ - ga_src/GEInterfaces.cpp - -HEADERS += mainwindow.h \ - gameengine.h \ - myeventfilter.h \ - plugins/levelplugininterface.h \ - InvSounds.h \ - ga_src/GEAudioBuffer.h \ - ga_src/GEAudioOut.h \ - ga_src/GEInterfaces.h - -RESOURCES += resources.qrc - -# QtMultimedia from Qt -QT += multimedia - -maemo5 { - CONFIG += mobility - MOBILITY = systeminfo - - BINDIR = /opt/usr/bin - DATADIR = /usr/share - DEFINES += DATADIR=\\\"$$DATADIR\\\" \ - PKGDATADIR=\\\"$$PKGDATADIR\\\" - - INSTALLS += target \ - desktop \ - icon64 - - target.path = $$BINDIR - desktop.path = $$DATADIR/applications/hildon - desktop.files += quickhit.desktop - - icon64.path = $$DATADIR/icons/hicolor/64x64/apps - icon64.files += quickhit.png -} - -OTHER_FILES += \ - Game.qml \ - Game.js \ - MyShip.qml \ - Missile.qml \ - Menu.qml \ - MenuItem.qml \ - Button.qml \ - Message.qml diff --git a/examples/mobile/quickhit/resources.qrc b/examples/mobile/quickhit/resources.qrc deleted file mode 100644 index 8063bf7a..00000000 --- a/examples/mobile/quickhit/resources.qrc +++ /dev/null @@ -1,25 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>Game.qml</file> - <file>Game.js</file> - <file>MyShip.qml</file> - <file>Missile.qml</file> - <file>Menu.qml</file> - <file>MenuItem.qml</file> - <file>Button.qml</file> - <file>Message.qml</file> - <file>gfx/back.png</file> - <file>gfx/exit.png</file> - <file>gfx/pause.png</file> - <file>gfx/soundOn.png</file> - <file>gfx/soundOff.png</file> - <file>gfx/background2.png</file> - <file>gfx/bigship.png</file> - <file>gfx/quickhit_logo.png</file> - <file>sound/menu1.wav</file> - <file>sound/menu2.wav</file> - <file>sound/gamestart.wav</file> - <file>sound/youwin.wav</file> - <file>sound/gameover.wav</file> - </qresource> -</RCC> diff --git a/examples/mobile/quickhit/sound/gameover.wav b/examples/mobile/quickhit/sound/gameover.wav Binary files differdeleted file mode 100644 index e5b9e94d..00000000 --- a/examples/mobile/quickhit/sound/gameover.wav +++ /dev/null diff --git a/examples/mobile/quickhit/sound/gamestart.wav b/examples/mobile/quickhit/sound/gamestart.wav Binary files differdeleted file mode 100644 index 8632fca3..00000000 --- a/examples/mobile/quickhit/sound/gamestart.wav +++ /dev/null diff --git a/examples/mobile/quickhit/sound/menu1.wav b/examples/mobile/quickhit/sound/menu1.wav Binary files differdeleted file mode 100644 index 586ab2cb..00000000 --- a/examples/mobile/quickhit/sound/menu1.wav +++ /dev/null diff --git a/examples/mobile/quickhit/sound/menu2.wav b/examples/mobile/quickhit/sound/menu2.wav Binary files differdeleted file mode 100644 index 70a61c11..00000000 --- a/examples/mobile/quickhit/sound/menu2.wav +++ /dev/null diff --git a/examples/mobile/quickhit/sound/youwin.wav b/examples/mobile/quickhit/sound/youwin.wav Binary files differdeleted file mode 100644 index f48297dd..00000000 --- a/examples/mobile/quickhit/sound/youwin.wav +++ /dev/null |