Tumgik
#Crawford Municipal Art Gallery
stairnaheireann · 1 month
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920. Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
Tumblr media
View On WordPress
4 notes · View notes
k00264302 · 3 years
Text
Tumblr media Tumblr media
Finally,
Finally I can confirm that I have finished my first project made at Sophie cardboard and plasterboard work shop and took some photos of it with Paul in Studio 8. I so happy and really excited about will be take, because the concept, at list I tried to make it so, it's complicated, so it give the chance of making the viewer to think and to try to understand it and feel it.
Here are some artists:
Dorothy Cross
Dorothy Cross born 1956
Dorothy Cross was born in Cork, Ireland in 1956. She attended the Crawford Municipal School of Art in Cork before undertaking degree studies at Leicester Polytechnic, England, from 1974 to 1977. She also studied at the San Francisco Art Institute, California, 1978-9 and 1980-2.
Cross has had a number of solo exhibitions including, in recent years, Dorothy Cross, Ebb, at The Douglas Hyde Gallery, Dublin 1988, Parthenon at Camden Arts Centre, London 1992, and Even: Recent Work by Dorothy Cross at the Arnolfini, Bristol in 1996. Important recent group exhibitions include Bad Girls, Institute of Contemporary Arts and London : Visualising Power and Desire, first shown at Brighton Museum and Art Gallery in 1995.
Cross uses a wide range of materials in her work, including found objects which have been in her family's possession for many years, constructed objects and photographs. She has recently made several works using cow hides and, in particular, cows' udders.
Berline de Bruyckere
De Bruyckere specializes in sculpture in various media including wax, wood, wool, horse skin and hair, though she also works in watercolor, gouache, and since the early 1990s many of her major works have featured structures involving blankets. Their use is symbolic both of warmth and shelter, and of the vulnerable circumstances such as wars that make people seek such shelter.
In 2000, De Bruyckere's work with five dead horses, In Flanders Fields, a commentary on World War I, was exhibited at the In Flanders Fields Museum inYpres.[4] In 2006, her work was included in the 4thBerlin Biennial for Contemporary Art and exhibited in a two-artist show at the Kunsthalle Düsseldorf. At the 2013 Venice Biennale, her sculptures were shown in the Belgian Pavilion.
De Bruyckere solo exhibitions include La Maison Rouge, Fondation Antoine de Galbert, Paris (2005); the De Pont Museum of Contemporary Art, Tilburg(2005); The Mystery of the Body: Berlinde De Bruyckere in Dialogue with Lucas Cranach and Pier Paolo Pasonli, the Kunstmuseum Bern; and We are all Flesh at the Australian Centre for Contemporary Art, Melbourne (2012).
2 notes · View notes
Photo
Tumblr media
Over the course of her career, Suzy O’Mullane has created ambivalent symbols, such as that of a raven, a wolf, or a gladiola flower, to develop complex motifs representing emotional experiences. Her art often deals with tragedy, both personal and systemic. By conceptualizing emotional experience and memory, she relates her imagery to a particular identity, place, memory, or personal connection. Suzy O’Mullane has held many solo exhibitions at venues Internationally, including J. Cacciola Gallery, Blueleaf Gallery and Origin Gallery, Dublin. Her work has also been included in major exhibitions and art fairs internationally, including Shanghai, NYC and LA. Her work is housed in many public and private collections in the US and Europe, including Crawford Municipal Gallery and the OPW. White Gladiolus, 2017. oil on canvas, 24" x 20" ----- #crossroads2017 #crossroads #irishart #irishcontemporaryart #jcacciolagalleryw #openingreception #suzyomullane #cathyhayes #cathyoreillyhayes #feministart #irishartists #irishculture #irish #irishheritage #blueleafgallery #maevemccarthy #royalhibernianacademy #alisonkay #ceramics #rakuclay #ceramicvessels #exhibition #fallexhibition #groupexhibition #artcollection #dancingatthecrossroads #nycarts #njarts #internationalartists #cultureday (at J. Cacciola Gallery W)
2 notes · View notes
bridgemanimages · 7 years
Photo
Tumblr media Tumblr media Tumblr media
Collection Spotlight: Crawford Art Gallery 
For the best part of a century, the Crawford School of Art, as the building was then named, served both as an art school and as the city’s public gallery. However, today the Crawford College of Art and Design is housed in a separate building near St. Finbarr’s Cathedral. The public galleries have been extended to include the former School of Art studios. Among the important Irish artists in the collection are James Barry, Nathaniel Grogan, Walter Osborne, Paul Henry, Jack B. Yeats, Harry Clarke and Sean Keating. The magnificent Sculpture Galleries are part of the 1884 extension. They were built to house an important collection of classical casts presented to the future King George IV by Pope Pius in 1818, marking the real foundation of other city’s municipal art collection.
24 notes · View notes
streetsofdublin · 4 years
Video
NATIONAL MEMORIAL TO MEMBERS OF THE IRISH DEFENCE FORCES [MERRION SQUARE PARK]-163055
flickr
NATIONAL MEMORIAL TO MEMBERS OF THE IRISH DEFENCE FORCES [MERRION SQUARE PARK]-163055 by William Murphy Via Flickr: An Dún Cuimhneacháin - National Memorial to Members of the Defence Forces Who Have Died in Service (2008) By Brian King Commissioned by the Department of Defence Ireland’s National Memorial depicts members of the four component parts of Óglaigh na hÉireann (Defence Forces Ireland): the Army, Navy, Air Corps and Reserve. Each are represented in the form of a bronze figure standing guard over an eternal flame emanating from the Defence Forces Badge at the centre of the structure. The Memorial, named An Dún Cuimhneacháin, is pyramid shaped made primarily of granite slabs resting on a steel frame with glass panels. It serves as a permanent memorial in recognition of the contribution and sacrifice made by members of the Defence Forces whether on home soil or on peace support operations overseas. Designed and created by artist Brian King who won the international competition which was held to choose an artist to design the memorial. King was born in Dublin in 1942, and studied at the National College of Art and Design in Dublin, where he lectured for a number of years and served as the head of the Department of Sculpture from 1984 to 2004. In 1969 and 1983 he represented Ireland at the Paris Biennale, on the former occasion becoming the first Irish artist to win the major individual prize. His public commissions are typically large-scale metal sculptures in an abstract, minimalist style, based on simple geometric forms. His work is held in many public collections including The Hugh Lane Gallery, Dublin; Crawford Municipal Gallery, Cork and University College, Dublin.
0 notes
torontotravelblog · 4 years
Text
The Perfect Three-day Weekend in Toronto
Tumblr media
Canada's biggest city is understood for its diversity-- boasting a populace of 2.9 million citizens who stand for 200 ethnic groups as well as talk greater than 140 languages. International societies are commemorated throughout the city in its dining establishments, stores, and also museums-- and also this is simply one of lots of factors Toronto is an excellent city to check out. To experience the very best of Toronto, this three-day travel overview navigates you from west to eastern with sights both on and off the beaten path. We advise customizing your travel plan to the period-- in the summer season, plan for lengthy outside walks as the city comes alive with many cultural festivals and also occasions. In the winter, you are likely to invest more time inside-- however do not worry, there are a lot of activities in "The 6" to keep you amused. Just make sure to dress warmly; Toronto winters are infamously cold as well as snowy.
Day One
Beginning with morning meal at the Drake Resort, and after that walk via West Queen West, called one of the coolest communities worldwide. Relish in the selection of locally owned stores such as gravitypope, FAWN, Kotn, and countless vintage stores along the way. Get hold of a mug of coffee from White Squirrel Coffee bar, named after the unusual albino squirrels that populate Trinity-Bellwoods Park, situated across the street.
Have lunch at contemporary French diner Le Swan or opt for a light meal at Fresh (on Crawford Street), a station of a beloved local chain serving plant-based food since 1999. After lunch, absorb the street art along Graffiti Alley, and afterwards proceed southern to break a selfie on the Bathurst Bridge with the legendary CN Tower in the background. Look into stackt, a hip indoor/outdoor market of shops and solutions situated in a complex made from shipping containers. At night, continue to King Road West, where you will find several of the city's most valued dinner places, like Buca, Lee, Le Select Restaurant and also Patria.
Day 2
Begin in Koreatown and also get hold of an early morning snack from Hodo Kwaja-- this family members run area is understood for their popular walnut cakes. Continue to The Annex, a dynamic area with many local services, coffee shops, and indie shops, like A Different Booklist-- an unique spot specializing in multicultural books. You might even watch a movie at Hot Docs Ted Rogers Cinema-- a year-round location testing documentaries (it's also home to North America's largest documentary festival).
Show up in the lavish Yorkville neighborhood, where you'll locate designer brands and several museums, consisting of the Gardiner Museum, the Bata Shoe Gallery, and also the Royal Ontario Gallery (ROM)-- one of the biggest galleries in The United States and Canada.
Next, head to Baldwin Village, where you can refuel in among the enchanting restaurants housed in old Victorian residences; we recommend stopping at Omai, a tiny Japanese blend izakaya. You can likewise stroll to neighboring Chinatown for lunch-- Oriental Tale, Mom's Dumplings, and also Rol San are specifically popular with citizens. After lunch, continue your trip via Chinatown to Kensington Market-- a multicultural, bohemian town, including a selection of specialty food suppliers and also shops. End your day with dinner and also beverages at LOUIX LOUIS, situated inside the St. Regis Hotel, and sip on one of the more than 500 dark spirits offered inside the dining establishment's two-story high Grand Bar. Conserve space for treat and order the memorable, Instagrammable King's Cake.
Day 3
If you go to during the summertime, stroll along the city's beachfront to absorb the beautiful sights of Lake Ontario. Beginning at the Toronto Music Garden, and then delight in climbing and also down the award-winning Toronto Waterside Wavedecks, wayward wooden structures designed to simulate the shoreline of the province's Excellent Lakes.
Walk to Toronto Municipal government and break a selfie with the iconic TORONTO Indicator, or ice skate in the winter season at Nathan Phillips Square. Learn about the city's history by seeing Old Town Toronto, the beginning neighborhood of Toronto that has the biggest concentration of 19th century buildings in the province, consisting of Toronto's First Post Office.
Make lunch at St. Lawrence Market, a cooking destination residence to 120 specialty vendors. Here, grab a classic Canadian peameal bacon sandwich from Slide carousel Bakery or a lobster roll from Buster's Sea Cove. Spend the afternoon discovering the marketplace as well as surrounding area. Take photos of the iconic Gooderham Flatiron Building or the Berczy Park canine water fountain, as well as order an afternoon reward in silent Corktown from one of Toronto's ideal dessert shops, Roselle. Conclude your experience in Toronto by walking to the rock Distillery Area, a national historical site and arts hub. This unique location is residence to art galleries, stores, as well as restaurants where you can toast to the end of your journey. Check out stunning El Catrin for Mexican dishes, or attempt Cluny Restaurant, a modern French dining establishment.
The article “ The Perfect Three-day Weekend in Toronto “ was seen originally on Travel + Leisure
The IV Lounge - IV Therapy Toronto Service Provider
0 notes
wayback-exe · 6 years
Photo
Tumblr media
Crawford Municipal Art Gallery, Cork, Ireland Dec 1998 view on oldweb.today
0 notes
nofomoartworld · 7 years
Text
Hyperallergic: Changes on the Land: 19th-Century American Photography East of the Mississippi
James F. Ryder, “Atlantic & Great Western Railway” (1862), albumen print, overall: 18.9 x 23.5 cm (7 7/16 x 9 1/4 inches), collection of William L. Schaeffer (all images courtesy National Gallery of Art, Washington D.C.)
In an unusual inversion of center and periphery, nineteenth-century photographs of the American West have attracted far more attention than those taken in the more settled, less majestic East. In fact, the exhibition East of the Mississippi, currently on view at the National Gallery in Washington, DC, is the first US museum survey of 19th-century photographs of landscapes and other scenic “views,” including urban imagery, that is limited to the eastern United States. While western scenes fed into the American ethos of conquest toward the continent’s farther reaches and summoned a sense of awe toward the sublime landscape, eastern photography is less grandiloquent and ranges more widely, its subjects more varied and socially representative. The photographs in East of the Mississippi are frequently utilitarian, sometimes unabashedly commercial — and often quite marvelous to look at.
The exhibition highlights how these early photographic efforts homed in on Americans’ leisure pursuits, particularly travel to popular getaway spots such as Niagara Falls and New England’s White Mountains, and, mostly, celebrate the nation’s growth, evidenced in the landscape’s transformation through building projects large and small and by the development of the railroads. Formal or aesthetic concerns, though not absent, were far less important than catering to potential buyers. Niche markets soon developed: souvenir-seeking tourists, of course, but also college graduates; the latter were the focus of one George Kendall Warren, who specialized in idyllic images of school campuses and their environs mounted in keepsake albums. As with photographic postcard imagery of well-traveled sites, Warren’s stagings of tranquil collegiate vistas represent the beginnings of a robust if now well-worn tradition: the elite college experience pitched as a picturesque retreat enhanced by the blandishments of nature.
Bierstadt Brothers, Charles and Edward, “The Cathedral, White Mountains, New Hampshire” (c. 1860), albumen print, image: 20.64 x 15.56 cm (8 1/8 x 6 1/8 inches), mat: 45.72 x 38.1 cm (18 x 15 inches), framed: 48.58 x 40.96 x 2.22 cm (19 1/8 x 16 1/8 x 7/8 inches), The Nelson-Atkins Museum of Art, Kansas City, Missouri (Gift of Hallmark Cards, Inc.)
It took some time for eastern photography’s pragmatic orientation to be challenged, or at least supplemented, by other aims. Only in the late 1850s and 1860s did American photographers such as John Moran, Charles and Edward Bierstadt (brothers, respectively, of prominent landscape painters), and William James Stillman begin making claims for photography as an art form, through their writings and images. The exhibition displays several paintings alongside photographs to show the dialogue between the two media. The landscape painters became less inclined to smooth out compositional features to accord with reigning conventions of pictorial harmony, while photographers, for their part, aimed for painterly effects. These photographs of Moran, the Bierstadts, and others, with their self-conscious affinities with the fine arts, run counter to the unbroken 19th-century production of pictures more or less determined by practical considerations, though many possess considerable aesthetic value. Their art photographs also look ahead to the aestheticism of the later Pictorialist movement, and indeed Pictorialism has the last word in the exhibition, which concludes with images by Alfred Stieglitz and Edward Steichen that propel, in their moody, lyrical way, American photography out of the 19th century and onto a dusky modernist path.
Thomas H. Johnson, “Inclined Plane G” (c. 1863-1865), albumen print, unframed: 30.48 x 38.74 cm (12 x 15 1/4 inches), mount: 45.72 x 55.88 cm (18 x 22 inches), collection of Michael Mattis and Judith Hochberg
The six-decade span of East of the Mississippi was a period of vast metamorphoses on the American continent, including, of course, a civil war; it was also an era of convulsive technological progress. One of the exhibition’s achievements is to tell a complex, braided tale of technological change —apparent both within the eastern landscape, which is shown being tamed, shaped and domesticated through that boundless 19th-century urge for growth and development, and in the very medium of photography, whose early history is so tethered to disruptive innovations. Thus the daguerreotype, initially the primary means to render photographic views, became outmoded by the mid-1850s with the arrival of the wet-collodion process, among other developments. Later, democratizing advancements — first the dry-collodion process, which made photography far easier and accessible, and then the debut of the Kodak camera in 1888, which utterly leveled the photographic playing field — led to the formation of camera clubs and the efforts of “serious” photographers, who immersed themselves in darkroom techniques and other experiments to distinguish their pictures from those of the leisured masses. Although the dynamic isn’t quite the same, one might detect a parallel in the conspicuousness of large-format photography in our own day: the work of artists such as Thomas Struth and Edward Burtynsky, with their mammoth images of remote and at times restricted locales, is readily differentiated from the incessant torrent of iPhone snapshots that now accumulates on a once-unimaginable scale.
Samuel A. Bemis, “Crawford Notch and Hotel, White Mountains, New Hampshire” (1840-1842), daguerreotype, Image: 14.6 x 20 cm (5 3/4 x 7 7/8 inches), lent by The Metropolitan Museum of Art, Gilman Collection, Gift of The Howard Gilman Foundation, 2005
Apart from a handful of well-known figures such as Timothy O’Sullivan and Alexander Gardner, both featured in a section on the Civil War, the exhibition’s photographers are unfamiliar names. Compared to the aristocratic amateurs who helped direct photography’s early evolution in Europe, the Americans were a motley bunch. One pioneer was the Boston watchmaker, real-estate investor, and self-taught dentist Samuel A. Bemis, whose three-year career making daguerreotypes of Boston and New Hampshire began scarcely fifteen months after Daguerre invented the process. A photographer who carefully recorded the conditions during his outings with the camera, he seems like a colorful minor character in some yet-to-be-written historical novel. Similarly, the Philadelphia-based Langenheim brothers (Frederick and William, immigrants from Germany) come across as energetic if not always successful go-getters, making both daguerreotypes and salt-paper prints, patenting their own glass-negative process, and even staging a magic-lantern entertainment (apparently the first to use photography) about the glories of Niagara Falls, which included a recitation read to a pianist’s accompaniment. Discovering such byways of early photographic history is one of the delights of East of the Mississippi and its excellent accompanying catalogue.
Frederick Langenheim and William Langenheim, “Panorama of the Falls of Niagara” (1845), five daguerreotypes, image: 8.89 x 6.99 cm (3 1/2 x 2 3/4 inches), unframed: 30.48 x 45.72 cm (12 x 18 inches), framed: 33.02 x 49.21 cm (13 x 19 3/8 inches), lent by The Metropolitan Museum of Art, Gilman Collection, Gift of The Howard Gilman
Even more striking are the examples created by men (all the identified photographers in the exhibition are male) assigned documentary tasks by their military or municipal superiors. Here the commissions’ practical origins can yield to a hard-edged, empiricist poetry, as in many of the images of infrastructure in the exhibition, or even to an aesthetic flowering that the photographer himself might not have anticipated. The gorgeous cyanotypes of the upper Mississippi by the Prussian-born draftsman and mapmaker Peter Henry Bosse, made under the aegis of the U.S. Army Corps of Engineers, transcend their documentary purpose. His “Draw Span of C. & N.W. R.R. Bridge at Clinton, Ia.” (1885) tracks the bridge’s lively rhythm of lines and shapes beneath a cloudless sky; it imparts a modernist crispness that is softened by the oval format (shared by all Bosse’s photographs in the show), the blue paper, and the serenity of the rocky shoreline in the foreground. Created by a man who was neither a professional nor an amateur artist, the image seems perched between different ways of looking, hinting at an aesthetic feel for the industrialized landscape that would fully coalesce only decades later.
Henry Peter Bosse, “Draw Span of C. & N. W. R. R. Bridge at Clinton, Ia” (1885), cyanotype, sheet: 36.8 x 43.7 cm (14 1/2 x 17 3/16 inches), overall: 26.5 x 33.2 cm (10 7/16 x 13 1/16 inches), lent by The Metropolitan Museum of Art, Gift of Charles Wehrenberg and Sally Larsen, 2014
A sense of concord between the landscape and the signs of human encroachment upon it is as evident here, in work created for the Corps of Engineers, as in the many boosterish photographs commissioned by railroad companies to tout and document their territorial reach. As stressed by the exhibition’s curator, Diane Waggoner, one of eastern landscape photography’s persistent aims was to express a harmonious balance between the landscape and the people who were turning it to their own uses and desires. But if (apart from the photographs made during and immediately after the Civil War) an affirmative, upbeat attitude toward American progress prevailed, a dissenting current also emerged that was devoted to upholding the landscape’s integrity and beauty against human depredations. It was aligned with activism: Seneca Ray Stoddard, a photographer who specialized in scenes of the Adirondacks, testified and showed his photographs before the New York State Assembly on behalf of the preservationist Adirondack Park Bill, which passed in May 1882. An adept creator of inspiring views — one can readily picture something like his “Avalanche Lake, Adirondacks” (c. 1888), with its tiny silhouetted hiker enveloped in a hospitably wild landscape, updated for an REI catalogue —Stoddard kept up his environmentalist commitments for the rest of his career. His “Drowned Lands of the Lower Raquette, Adirondacks” (c. 1888) is a distant forebear of Robert Adams’s harrowing photographs lamenting the rapacious effects of cross-cut logging.
Seneca Ray Stoddard, “Avalanche Lake, Adirondacks” (c. 1888), albumen print, image: 37.15 x 47.63 cm (14 5/8 x 18 3/4 inches), prints and Photographs Division, Library of Congress, Washington D.C.
Beyond the direct affinities among images from America’s 19th-century past and our picture-saturated present, so many of the photographs in East of the Mississippi represent more general photographic urges, impulses that remain with us: we’ll never stop embodying our modest fantasies of leisure in photographic form, and, though our excitement has mostly migrated to the digital sphere, we still make a fetish of technological progress. But now the landscape itself, and its human agents of change, seem more melancholy than they would have appeared to these first generations of American photographers (excepting, again, the mournful imagery prompted by the Civil War). Their images’ stillness, a by-product of necessarily long exposure times, belies the propulsion of a nation racing toward a future it was convinced it could fashion to its will. The historical distance we’ve traveled is felt most keenly in those pictures of works projects, public or privately financed, that feature prominently in the exhibition. Railroads and high-speed travel no longer make us giddy; sites of resource extraction are apt to be viewed as ecological crime scenes. The transient structures that dotted the 19th-century landscape to abet in its conquest evoke, from our post-industrial vantage, the specter of a more despondent reality: the ruins of a machine age whose energies are now depleted.
East of the Mississippi: Nineteenth-Century American Landscape Photography continues at the National Gallery of Art (6th & Constitution Ave NW, Washington, D.C.) through July 16.
The exhibition will travel to the New Orleans Museum of Art, where it will be exhibited from October 5, 2017 through January 7, 2018.
The post Changes on the Land: 19th-Century American Photography East of the Mississippi appeared first on Hyperallergic.
from Hyperallergic http://ift.tt/2s8nsRi via IFTTT
1 note · View note
bluetealrisesagain · 7 years
Text
/* //<>// //<>// TUIO 1.1 Demo for Processing Copyright (c) 2005-2014 Martin Kaltenbrunner <[email protected]>
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ // Import the cornerstone warp correction library
// import the TUIO library import TUIO.*; import gifAnimation.*; // declare a TuioProcessing client TuioProcessing tuioClient;
import deadpixel.keystone.*;
Keystone ks; CornerPinSurface surface;
// these are some helper variables which are used // to create scalable graphical feedback float cursor_size = 400; float object_size = 60; //the square representing the fiducial float table_size = 900; // size of the feedback float scale_factor = 1; float angle; PFont font;
//FADE INS float fadeinA = 0; float fadeinB = 0; float fadeinC = 0; float fadeinD = 0; float UfadeinA = 0; float UfadeinB = 0; float UfadeinC = 0; float UfadeinD = 0;
float Ufadein1A = 0; float Ufadein1B = 0; float Ufadein1C = 0;
float fadein1A = 0; float fadein1B = 0; float fadein1C = 0;
float Ufadein3A = 0; float Ufadein3B = 0; float Ufadein3C = 0;
float fadein3A = 0; float fadein3B = 0; float fadein3C = 0;
float Ufadein4A = 0; float Ufadein4B = 0; float Ufadein4C = 0;
float fadein4A = 0; float fadein4B = 0; float fadein4C = 0;
float Ufadein5A = 0; float Ufadein5B = 0; float Ufadein5C = 0;
float fadein5A = 0; float fadein5B = 0; float fadein5C = 0; // Timer for hints
float timer= 0;   boolean Point1Hint = false; boolean Point2Hint = false; boolean Point3Hint = false; boolean Point4Hint = false; boolean Point5Hint = false; boolean Point6Hint = false;
//Turn off screen float StandbyTimer = 0; PShape StandbyRect;
//  float = Data type for floating-point numbers, e.g. numbers that have a decimal point.
boolean verbose = false; // print console debug messages boolean callback = true; // updates only after callbacks
/////////////////////////// POINT1 float Point1=0; PShape Point1HintCircle; PImage Point1AImg; PImage Point1BImg; PImage Point1CImg; float P1Mark = 0; PImage P1Marker;
Gif Point1Red;
String Point1ATxt = "Designed by William Burges and consecrated in 1870, the current cathedral is built on the site of at least two previous structures dedicated to Finbarr of Cork The first dated from the 7th century, with works continuing through the 12th century. This building was damaged during the Siege of Cork (1690), and a new structure was built in 1735. " ; String Point1BTxt = "The Current version from 1860 exceeded its initial budget of £15k, bringing the total cost to almost £100. The style of the building is Early French, Burges's favoured period. Burges oversaw all aspects of the design, including the architecture of the building, the statuary, the stained glass and the internal decoration. The result is \"undoubtedly Burges's greatest work in ecclesiastical architecture\"" ; String Point1CTxt = "Noteworthy features of its magnificent interior include stained glass windows depicting scenes from the Old and New Testaments, marble mosaics from the Pyrenees while the the sanctuary ceiling portrays Christ, surrounded by angels. The building contains more than 1,260 sculptures, a particularly ornate pulpit and even a 24-lb cannonball, a legacy of the Siege of Cork in 1690.";
// UpsideDown Point1 float UPoint1;
float UP1Mark = 0; PImage UP1Marker;
Gif Point1Blue;
////////////////////////// POINT2 float Point2=0; PShape Point2HintCircle; PImage Point2AImg; PImage Point2BImg; PImage Point2Grey; float P2G = 0;
float P2Mark = 0; PImage P2Marker;
Gif Point2Red;
String Point2ATxt = "Grand Parade was originally a channel of the River Lee. The original Hiberno-Norse settlement of Cork grew up on its west bank. By 1726, buildings had developed on the east bank, but the river channel remained in place. In a 1774 map, the northern portion of the street between Oliver Plunkett Street and Daunt Square had been reclaimed, but the southern portion was still a dock. Finally, by 1801, the river channel had completely disappeared and the street was fully present. The elevated doors can still be seen today on the buildings as a reminder of the old river." ; String Point2BTxt = "The tram system was built by Cork Electric Tramways and Lighting Company in the 19th century throughout Cork. The ease of access to transport in Cork was detrimental to a boom in the cities infrastructure. The tram lines running through grand parade started in St. Patrick’s Street and ran to Douglas and Black Rock." ;
// UpsideDown Point2 float UPoint2;
float UP2Mark = 0; PImage UP2Marker; Gif Point2Blue;
/////////////////////////////////////POINT3 float Point3=0; PShape Point3HintCircle; PImage Point3AImg; PImage Point3BImg; PImage Point3CImg; float P3Mark= 0; PImage P3Marker; Gif Point3Red;
String Point3ATxt = "Philip de Barry invited the Dominicans to Cork in 1229 and the order built a church called St Mary's of the Isle. Some stones from the medieval church are set into the walls of the present Dominican priory on Pope's Quay. The foundation stone of the present St Mary's was laid in 1832 and on 20 October 1839 the church was officially opened" ; String Point3BTxt = "Built in the first half of the nineteenth century, this church was designed by Cork architect Kearns Deane, and the portico was added by Deane and Woodward. The imposing scale of the building makes it a notable addition to the quayside, which is accentuated by the elevated position of the church" ; String Point3CTxt = "The fine interior is attributed to John Pyne Hurley, the baldacchino is attributed to Scannell of Cork, while the pulpit and high altar were designed by George Goldie and added in the 1880s. This church forms part of an interesting group of Roman Catholic buildings with the related priory buildings to the north." ;
// UpsideDown Point3 float UPoint3;
float UP3Mark= 0; PImage UP3Marker; Gif Point3Blue;
///////////////////////////////POINT4 float Point4=0; PShape Point4HintCircle; PImage Point4AImg; PImage Point4BImg; PImage Point4CImg; PImage Point4Grey; float  P4Mark = 0; PImage P4Marker; float P4G = 0; Gif Point4Red;
String Point4ATxt = "The centre of Cork city is built on marshy islands in the tidal estuary of the river Lee. Channels of the river originally separated these islands, and some of these channels were spanned in the eighteenth century to form the principal streets of Cork city centre. Among these is Saint Patrick's Street." ; String Point4BTxt = "Parts of Patrick Street were extensively damaged during the Irish War of Independence in the \"Burning of Cork\". It followed an ambush by the IRA of a Briitish patrol in the city. The Black and Tans retaliated by setting fire to several buildings in the city. " ; String Point4CTxt = "There was substantial disruption to services and destruction of some tramcars during The Burning of Cork in December 1920. The events which occurred to the driver, John Hurley, conductor Alex Garvey and passengers on tramcar no 3 were recorded in the Cork Examiner:" ; String Point4DTxt = "Passengers by the last tram to St. Luke's Cross, which left the Statue at 9 p.m. on Saturday, had a rather eventful journey. The car had got about 60 or 70 yards beyond Empress Place police barracks when a number of men in police uniform, carrying carbines and accompanied by Auxiliaries in plain clothes, held it up. They ordered all the passengers off at the point of revolvers. Male passengers were somewhat roughly handled and then ordered to line up for search. Some few were inclined to run and a voice rang out: \"I'll shoot anyone who runs.\" All then stopped but some shots were fired in the air while the searches were being conducted. In some cases when the search was completed the person searched was ordered home, getting a bit of a rough send-off. The tramcar was then broken in by the police and a rifle shot was discharged, the smell of powder permeating the air. The tramcar was brought back to the Statue by the driver and conductor who when it neared there were ordered off. It was later set on fire and completely destroyed.";
// UpsideDown Point4 float UPoint4;
Gif Point4Blue;
float  UP4Mark = 0; PImage UP4Marker;
///////////////////////////////////////POINT 5 float Point5=0; PShape Point5HintCircle; PImage Point5AImg; PImage Point5BImg; Gif Point5Red;
float  P5Mark = 0; PImage P5Marker; float P5G = 0;
String Point5ATxt = "The Custom House was built in 1818 and was designed by the architect Abraham Hargrave. 1882 it became the headquarters of the Cork Harbour Commissioners, now known as the Port of Cork Company. Its elegant boardroom, where the meetings of the members of the company are held, was constructed in 1906." ; String Point5BTxt = "It became known as the ‘new’ Custom House. Its main work dealt with inland revenue. In 1882 it became the headquarters of the Cork Harbour Commissioners. The old Custom House in Emmet Place is now part of the complex of buildings which houses the Crawford Municipal Art Gallery." ;
// UpsideDown Point5 float UPoint5;
Gif Point5Blue;
float  UP5Mark = 0; PImage UP5Marker;
PShape rectangle; PShape Lsquare; PShape Rsquare;
PShape TestCircle1; PShape TestCircle2; PShape TestCircle3; PShape Whitespace;
PImage img;
PImage TheMap;
// GIFS Gif BlueStart; Gif RedStart;
float Map = 1; float y = 0;
float g = 0;
// Vars for rotations float UAngle; float Angle;
PGraphics offscreen;
void setup() {  // GUI setup
 size(1050, 750,P3D);
 ks = new Keystone(this);    surface = ks.createCornerPinSurface(1050, 750, 20);
    offscreen = createGraphics(1050, 750, P3D);
 noStroke();  fill(255, 255, 255);
  BlueStart = new Gif(this, "tester.gif"/*"T2SBlue.gif"*/);  BlueStart.loop();
 RedStart = new Gif(this, "tester.gif"/*"T2SRed.gif"*/);  RedStart.loop();
 Point1Blue= new Gif(this, "FBBlue.gif");  Point1Blue.play();
 Point1Red= new Gif(this, "tester.gif"/*"FBRed.gif"*/);  Point1Red.play();
   Point2Red = new Gif(this, "tester.gif" /*"GPred.gif"*/);  Point2Red.play();
 Point2Blue = new Gif(this, "GPblue.gif");  Point2Blue.play();
 Point3Red = new Gif(this, "tester.gif" /*"MCRed.gif"*/);  Point3Red.play();
 Point3Blue = new Gif(this, "MCBlue.gif");  Point3Blue.play();
 Point4Red= new Gif(this, "tester.gif" /*"PSRed.gif"*/);  Point4Red.play();
 Point4Blue = new Gif(this, "PSBlue.gif");  Point4Blue.play();
 Point5Red = new Gif (this, "tester.gif" /*"CHRed.gif"*/);  Point5Red.play();
 Point5Blue = new Gif(this, "CHBlue.gif");  Point5Blue.play();
 rectangle = createShape(RECT,100,300,100,50);  rectangle.setStroke(color(255));  rectangle.setStrokeWeight(4);  rectangle.setFill(color(127)); //<>//
 // periodic updates  if (!callback) {    frameRate(60); //<>//    loop();  }  // or callback updates
 font = createFont("Arial", 18);  scale_factor = height/table_size;
 // height stores the height of the display window that is set in the size() call
 // finally we create an instance of the TuioProcessing client  // since we add "this" class as an argument the TuioProcessing class expects  // an implementation of the TUIO callback methods in this class (see below)  tuioClient  = new TuioProcessing(this);
  offscreen.tint(255, 127);  StandbyRect = createShape(RECT,0,0, displayWidth, displayHeight);  StandbyRect.setFill(color(0,0,0));  StandbyRect.setStroke(false);
 Whitespace = createShape(RECT, 0, 0, displayWidth, displayHeight);  Whitespace.setFill(color(254,197,87));  Whitespace.setStroke(false);
// IMAGES FOR POINT1 Point1AImg = loadImage("Point1AImg.jpg"); Point1BImg = loadImage("Point1BImg.png"); Point1CImg = loadImage("Point1CImg.png");
TheMap = loadImage("Map.png");
// IMAGES FOR POINT2   Point2AImg = loadImage("Point2AImg.png");   Point2BImg = loadImage("Point2AImg.png");
  Point2Grey = loadImage("Grey3.png");
  P2Marker = loadImage("RedMark.png");   UP2Marker= loadImage("BlueMark.png");
//IMAGES FOR POINT3 Point3AImg = loadImage("Point3AImg.png"); Point3BImg = loadImage("Point3BImg.png"); Point3CImg = loadImage("Point3CImg.png");
//IMAGES FOR POINT4 Point4AImg = loadImage("Point4AImg.png"); Point4BImg = loadImage("Point4BImg.png"); Point4CImg = loadImage("Point4CImg.png");
Point4Grey = loadImage("Grey3.png");
 //IMAGES FOR POINT5 Point5AImg = loadImage("Point5AImg.png"); Point5BImg = loadImage("Point5BImg.png");
}
// within the draw method we retrieve an ArrayList of type <TuioObject>, <TuioCursor> or <TuioBlob> // from the TuioProcessing client and then loops over all lists to draw the graphical feedback. void draw() {
 offscreen.beginDraw();  offscreen.background(255);  textFont(font,18*scale_factor);  float obj_size = object_size*scale_factor;  float cur_size = cursor_size*scale_factor;
 ///////////////////////////////////// BEGINNING    if(Map==0){      offscreen.tint(255,255);
   offscreen.image(RedStart, 350, 400);    offscreen.image(BlueStart, 350, 0);    }
 ////////////////////////// CITY MAP    if(Map==1){
     offscreen.shape(Whitespace, 0,0);    offscreen.image(TheMap, 0, 0);   Point2Grey.resize(180, 180);   Point4Grey.resize(180,180);   offscreen.tint(255, 200);   if(P2G ==0){   offscreen.image(Point2Grey, 550, 400); }   if(P4G==0){// grand parade   offscreen.image(Point4Grey, 700, 300);} // st. patricks    offscreen.tint(255, 255);  }  //////////////////////////////  Standy mode
 if (StandbyTimer <2500){StandbyTimer += 1;};
 if (StandbyTimer >= 2500){
 }
 ///////////////////////////////////////////////////// HINTS
/*if (timer < 500 &&Map==1){timer += 1;};
  if(timer>=500){     if(Point1Hint == false){      shape(Point1HintCircle, 500, 100);}      if(Point2Hint  == false){    shape(Point2HintCircle, 600, 400);}    if(Point3Hint == false){    shape(Point3HintCircle, 800, 600);}   }  */  if(y==1){    img.resize(300, 150);    image(img, 00, 100);  }
 //////////////////////// POINT MEDIA
 // Point 1 St. Finbarre's  if(Point1==1){    if(fadein1A >= 0){fadein1A += 20;};    offscreen.tint(255, fadein1A);    Point1AImg.resize(300, 150);    offscreen.image(Point1AImg, 0, 100);    textSize(10);    offscreen.text(Point1ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadeinB = 0;       offscreen.image(Point1Red, 200, -80);
 }
   if(Point1==2){    if(fadein1B >= 0){fadein1B += 20;};    offscreen.tint(255, fadein1B);    Point1BImg.resize(300, 150);    offscreen.image(Point1BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point1BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point1Red, 200, -80);  }
    if(Point1==3){    if(fadein1C >= 0){fadein1C += 20;};    offscreen.tint(255, fadein1C);    Point1CImg.resize(300, 150);    offscreen.image(Point1CImg, 0, 100);    textSize(10);    offscreen.text(Point1CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point1Red,200, -80);  }
 if(UPoint1==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1A >= 0){Ufadein1A += 20;};       offscreen.tint(255, Ufadein1A);    Point1AImg.resize(300,150);   offscreen.image(Point1AImg, 0, 100);    offscreen.fill(#000000, Ufadein1A);    textSize(10);    offscreen.text(Point1ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    UfadeinB = 0;
     offscreen.image(Point1Blue, 200, -80);  }
  if(UPoint1==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1B >= 0){Ufadein1B += 20;};       offscreen.tint(255, Ufadein1B);    Point1BImg.resize(300,150);    offscreen.image(Point1BImg, 0, 100);    offscreen.fill(#000000, Ufadein1B);    offscreen.textSize(10);    offscreen.text(Point1BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point1Blue, 200, -80);
 }
  if(UPoint1==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1C >= 0){Ufadein1C += 20;};       offscreen.tint(255, Ufadein1C);    Point1CImg.resize(300,150);    offscreen.image(Point1CImg, 0, 100);    offscreen.fill(#000000, Ufadein1C);    offscreen.textSize(10);    offscreen.text(Point1CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point1Blue, 200, -80);  }
 /////////////////////////// POINT 2
 if(P2Mark == 1){
  offscreen.image (P2Marker, 550, 400);     P2Marker.resize(180,180);
 }
  if(UP2Mark == 1){
  image (UP2Marker, 550, 400);     UP2Marker.resize(180,180);
 }
 if(Point2==1){
   if (fadeinA >= 0){fadeinA += 20;};  offscreen.tint(255, fadeinA);  Point2AImg.resize(300, 150);  offscreen.image(Point2AImg, 0, 100);  offscreen.fill(#000000, fadeinA);  offscreen.textSize(10);  offscreen.text( Point2ATxt, 10, 300, 300, 150);  offscreen.fill(0, 0, 0);  offscreen.tint(255, 255);  fadeinB=0; offscreen.image(Point2Red, 300, 70);  }
 if(Point2==2){
   if (fadeinB >= 0){fadeinB += 20;};       offscreen.tint(255, fadeinB);    Point2BImg.resize(300, 150);   offscreen.image(Point2BImg, 0, 100);     offscreen.fill(#000000, fadeinB);   offscreen.textSize(10);   offscreen.text(Point2BTxt, 10, 300, 300, 300) ;   offscreen.tint(255, 255);   offscreen.image(Point2Red, 300, 70); }
/////////////////////////////////// UPSIDE DOWN POINT 2  if(UPoint2==1){    offscreen.image(Point2Blue, 300, 70);
    offscreen.translate(1300,700);      offscreen.rotate(radians(180));    if (UfadeinA >= 0){UfadeinA += 20;};  offscreen.tint(255, UfadeinA);  Point2AImg.resize(300, 150);  offscreen.image(Point2AImg, -50, 100);  offscreen.fill(#000000, UfadeinA);  offscreen.textSize(10);  offscreen.text(Point2ATxt, -50, 300, 300, 150);  offscreen.fill(0, 0, 0);  offscreen.tint(255, 255);  UfadeinB=0;
  offscreen.rotate(radians(-180));
    offscreen.translate(-1300,-700);
 }
 if(UPoint2==2){
    offscreen.translate(1300,700);      offscreen.rotate(radians(180));    if (UfadeinB >= 0){UfadeinB += 20;};       offscreen.tint(255, UfadeinB);    Point2BImg.resize(300, 150);   offscreen.image(Point2BImg, -50, 100);     offscreen.fill(#000000, UfadeinB);   offscreen.textSize(10);   offscreen.text(Point2BTxt, -50, 300, 300, 300) ;   offscreen.tint(255, 255);
     offscreen.rotate(radians(-180));     offscreen.translate(-1300,-700);        offscreen.image(Point2Blue, 300, 70); } ///////////////////// Point 3
//St. Mary's
 if(Point3==1){    if(fadein3A >= 0){fadein3A += 20;};    offscreen.tint(255, fadein3A);    Point3AImg.resize(300, 150);    offscreen.image(Point3AImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadein3B = 0;       offscreen.image(Point3Red, 530, 100);
 }
   if(Point3==2){    if(fadein3B >= 0){fadein3B += 20;};    offscreen.tint(255, fadein3B);    Point3BImg.resize(300, 150);    offscreen.image(Point3BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    offscreen.image(Point3Red,   530, 100);  }
    if(Point3==3){    if(fadein3C >= 0){fadein3C += 20;};    offscreen.tint(255, fadein3C);    Point3CImg.resize(300, 150);    offscreen.image(Point3CImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    offscreen.image(Point3Red,  530, 100);  }
 if(UPoint3==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3A >= 0){Ufadein3A += 20;};       offscreen.tint(255, Ufadein3A);    Point3AImg.resize(300,150);    offscreen.image(Point3AImg, 0, 100);    offscreen.fill(#000000, Ufadein3A);    offscreen.textSize(10);    offscreen.text(Point3ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    Ufadein3B = 0;
     offscreen.image(Point3Blue,  530, 100);  }
  if(UPoint3==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3B >= 0){Ufadein3B += 20;};       offscreen.tint(255, Ufadein3B);    Point3BImg.resize(300,150);    offscreen.image(Point3BImg, 0, 100);    offscreen.fill(#000000, Ufadein3B);    offscreen.textSize(10);    offscreen.text(Point3BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point3Blue,  530, 100);
 }
  if(UPoint3==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3C >= 0){Ufadein3C += 20;};       offscreen.tint(255, Ufadein3C);    Point3CImg.resize(300,150);    offscreen.image(Point3CImg, 0, 100);    offscreen.fill(#000000, Ufadein3C);    offscreen.textSize(10);    offscreen.text(Point3CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point3Blue, 530, 100);  }
///////////////////// Point 5
  offscreen.tint(255,100); offscreen.image(Point5Red, 350, 450);
offscreen.tint(255,255);
// Point 4 CUSTOM HOUSE  if(Point5==1){    if(fadein5A >= 0){fadein5A += 20;};    offscreen.tint(255, fadein5A);    Point5AImg.resize(300, 150);    offscreen.image(Point5AImg, 0, 100);   offscreen.textSize(10);    offscreen.text(Point5ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadein5B = 0;  
 }
   if(Point5==2){    if(fadein5B >= 0){fadein5B += 20;};    offscreen.tint(255, fadein5B);    Point5BImg.resize(300, 150);    offscreen.image(Point5BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point5BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point5Red,350, 450);  }
 if(UPoint5==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein5A >= 0){Ufadein5A += 20;};       offscreen.tint(255, Ufadein5A);    Point5AImg.resize(300,150);    offscreen.image(Point5AImg, 0, 100);    offscreen.fill(#000000, Ufadein5A);    offscreen.textSize(10);    offscreen.text(Point5ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    Ufadein5B = 0;
     offscreen.image(Point5Blue, 350, 450);  }
  if(UPoint5==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein5B >= 0){Ufadein5B += 20;};       offscreen.tint(255, Ufadein5B);    Point4BImg.resize(300,150);    offscreen.image(Point5BImg, 0, 100);    offscreen.fill(#000000, Ufadein5B);    offscreen.textSize(10);    offscreen.text(Point4BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point5Blue, 350, 450);
 }
///////////////////// Point 4
  offscreen.tint(255,100);
   offscreen.image(Point4Red, 400, 240);
offscreen.tint(255,255);
// Point 4 SAINT PATRICKS  if(Point4==1){    if(fadein4A >= 0){fadein4A += 20;};    offscreen.tint(255, fadein4A);    Point4AImg.resize(300, 150);    offscreen.image(Point4AImg, 0, 100);   offscreen.textSize(10);    offscreen.text(Point4ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadeinB = 0;  
   offscreen.image(Point4Red, 400, 240);  }
   if(Point4==2){    if(fadein4B >= 0){fadein4B += 20;};    offscreen.tint(255, fadein4B);    Point4BImg.resize(300, 150);    offscreen.image(Point4BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point4BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point4Red, 400, 240);  }
    if(Point4==3){    if(fadein4C >= 0){fadein4C += 20;};    offscreen.tint(255, fadein4C);    Point4CImg.resize(300, 150);    offscreen.image(Point4CImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point4CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point4Red, 400, 240);  }
 if(UPoint4==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4A >= 0){Ufadein4A += 20;};       offscreen.tint(255, Ufadein4A);    Point4AImg.resize(300,150);    offscreen.image(Point4AImg, 0, 100);    offscreen.fill(#000000, Ufadein4A);    offscreen.textSize(10);    offscreen.text(Point4ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    Ufadein4B = 0;
     offscreen.image(Point4Blue, 400, 240);  }
  if(UPoint4==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4B >= 0){Ufadein4B += 20;};       offscreen.tint(255, Ufadein4B);    Point4BImg.resize(300,150);    offscreen.image(Point4BImg, 0, 100);    offscreen.fill(#000000, Ufadein4B);    offscreen.textSize(10);    offscreen.text(Point4BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point4Blue, 400, 240);
 }
  if(UPoint4==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4C >= 0){Ufadein4C += 20;};       offscreen.tint(255, Ufadein4C);    Point4CImg.resize(300,150);    offscreen.image(Point4CImg, 0, 100);    offscreen.fill(#000000, Ufadein4C);    offscreen.textSize(10);    offscreen.text(Point4CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point4Blue, 400, 240);  }
 ArrayList<TuioObject> tuioObjectList = tuioClient.getTuioObjectList();  for (int i=0;i<tuioObjectList.size();i++) {     TuioObject tobj = tuioObjectList.get(i);     offscreen.stroke(204, 122, 97);     if(tobj.getSymbolID() ==8){       offscreen.stroke (135, 165, 214);     }     offscreen.fill(255,255,255);     offscreen.pushMatrix();     offscreen.translate(tobj.getScreenX(1050),tobj.getScreenY(750));     //offscreen.rotate(tobj.getAngle());     //rect(-obj_size/2,-obj_size/2,obj_size,obj_size);         offscreen.ellipse(-obj_size/2,-obj_size/2, 130,130); // this changes the image that follows the fiducial to a white cirle, making it easier for the camera to see the fiducial    // image(rot8, -obj_size/2, -obj_size/2); // this changes the image that follows the fiducial to a GIF
    offscreen.popMatrix();     //fill(255);     //text(""+tobj.getSymbolID(), tobj.getScreenX(width), tobj.getScreenY(height));
  }
  ArrayList<TuioCursor> tuioCursorList = tuioClient.getTuioCursorList();   for (int i=0;i<tuioCursorList.size();i++) {      TuioCursor tcur = tuioCursorList.get(i);      ArrayList<TuioPoint> pointList = tcur.getPath();
     if (pointList.size()>0) {        stroke(0,0,255);        TuioPoint start_point = pointList.get(0);        for (int j=0;j<pointList.size();j++) {           TuioPoint end_point = pointList.get(j);           line(start_point.getScreenX(width),start_point.getScreenY(height),end_point.getScreenX(width),end_point.getScreenY(height));           start_point = end_point;        }
       stroke(192,192,192);        fill(192,192,192);        ellipse( tcur.getScreenX(width), tcur.getScreenY(height),cur_size,cur_size);        fill(0);        text(""+ tcur.getCursorID(),  tcur.getScreenX(width)-5,  tcur.getScreenY(height)+5);      }   }
 ArrayList<TuioBlob> tuioBlobList = tuioClient.getTuioBlobList();  for (int i=0;i<tuioBlobList.size();i++) {     TuioBlob tblb = tuioBlobList.get(i);     stroke(0);     fill(0);     pushMatrix();     translate(tblb.getScreenX(width),tblb.getScreenY(height));     rotate(tblb.getAngle());     ellipse(-1*tblb.getScreenWidth(width)/2,-1*tblb.getScreenHeight(height)/2, tblb.getScreenWidth(width), tblb.getScreenWidth(width));     popMatrix();     fill(255);     text(""+tblb.getBlobID(), tblb.getScreenX(width), tblb.getScreenX(width));   }
  offscreen.endDraw();  background(0);
 // render the scene, transformed using the corner pin surface  surface.render(offscreen); }
void keyPressed() {  switch(key) {  case 'c':    // enter/leave calibration mode, where surfaces can be warped    // and moved    ks.toggleCalibration();    break;
 case 'l':    // loads the saved layout    ks.load();    break;
 case 's':    // saves the layout    ks.save();    break;  } }
// -------------------------------------------------------------- // these callback methods are called whenever a TUIO event occurs // there are three callbacks for add/set/del events for each object/cursor/blob type // the final refresh callback marks the end of each TUIO frame
// called when an object is added to the scene void addTuioObject(TuioObject tobj) {  if (verbose) println("add obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+tobj.getX()+" "+tobj.getY()+" "+tobj.getAngle()); }
// called when an object is moved void updateTuioObject (TuioObject tobj) {   println("set obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+" Angle=  "+tobj.getAngle()          +"x=  " + tobj.getX()+ "Y=  " + tobj.getY() + "Timer = " + timer /*"Rspeed "+""+tobj.getRotationSpeed()+" "+"MAccell  "+""+tobj.getMotionAccel()+" "+"RAccel  "+""+tobj.getRotationAccel()*/);
//////////////////////////////////////START STUFF
if(tobj.getX()>0.46&&tobj.getX()<0.6&&tobj.getY()>0.74&&tobj.getY()<0.89&&tobj.getRotationSpeed()>.30&&tobj.getSymbolID()==2  && Map==0){
Map=1; }
if(tobj.getX()>0.47&&tobj.getX()<0.5&&tobj.getY()>0.16&&tobj.getY()<0.217&&/*tobj.getRotationSpeed()>.30&&*/tobj.getSymbolID()==8 && Map==0){
Map =1; }
///////////////////////////////////// MAP 1
//----------------------------------------------------POINT 1 if(Map==1&&tobj.getX()>0.31&&tobj.getX()<0.46&&tobj.getY()<.23&&tobj.getY()>.0&&tobj.getSymbolID()==2){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point1Hint = true;
 if(Point1<1){  Angle = tobj.getAngle(); Point1=1;}
if (Angle+2 > 6.1){  UPoint1=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point1 = 2;    fadein1A=0;    fadein1C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point1=3; fadein1B= 0; }
if(Point1 > 1 && tobj.getAngle() < UAngle + 1 ){
 Point1=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.31||tobj.getX()>0.46||tobj.getY()>.23|tobj.getY()<.0)){  Point1=0;  fadein1A=0;  fadein1B=0;  fadein1C=0;
}
//----------------------------------------------------POINT 1 UPSIDE DOWN if(Map==1&&tobj.getX()>0.31&&tobj.getX()<0.46&&tobj.getY()<.23&&tobj.getY()>.0&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point1Hint = true;
 if(UPoint1<1){  UAngle = tobj.getAngle(); UPoint1=1;}
if (UAngle+2 > 6.1){  UPoint1=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint1 = 2;    Ufadein1A=0;    Ufadein1C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint1=3; Ufadein1B= 0; }
if(UPoint1 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint1=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.31||tobj.getX()>0.46||tobj.getY()>.23|tobj.getY()<.0)){  UPoint1=0;  Ufadein1A=0;  Ufadein1B=0;  Ufadein1C=0; }
//--------------------------------------------------------POINT2 if(Map==1&&tobj.getX()>0.4&&tobj.getX()<0.53&&tobj.getY()<.46&&tobj.getY()>.28&&tobj.getSymbolID()==2){  println("angle of fiducial = " + tobj.getAngle());  println("Angle TEST  " + Angle);  timer=0; P2G = 1;
 if(Point2<1){  Angle = tobj.getAngle();   Point2=1; }
if (Angle+2 > 6.1){  Point2=0;}
if( tobj.getAngle() >= Angle + 1 && tobj.getAngle() <= Angle + 2 ){
Point2=2; fadeinA = 0; fadeinC = 0; }
if(Point2 > 1 && tobj.getAngle() <= Angle + 1 ){
 Point2=0;
}
}
if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.42||tobj.getX()>0.53||tobj.getY()>.73||tobj.getY()<.55)){ Point2=0; fadeinA=0; fadeinB=0; fadeinC=0;
if(UP2Mark==0&& P2G >= 1&& UPoint2==0 ){  P2Mark=1; } }
//-------------------------------------------------------- UPSIDE DOWN POINT2 if(Map==1&&tobj.getX()>0.4&&tobj.getX()<0.53&&tobj.getY()<.46&&tobj.getY()>.28&&tobj.getSymbolID()==8){  println("angle of fiducial = " + tobj.getAngle());  println("Angle TEST  " + Angle);  timer=0; P2G = 1;
 if(UPoint2<1){  Angle = tobj.getAngle();  UPoint2=1;
}
if (Angle+2 > 6.1){  UPoint2=0;}
if( tobj.getAngle() >= Angle + 1 && tobj.getAngle() <= Angle + 2 ){
UPoint2=2; UfadeinA = 0; UfadeinC = 0; }
if(UPoint2 > 1 && tobj.getAngle() <= Angle + 1 ){
 UPoint2=0;
}
}
if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.42||tobj.getX()>0.53||tobj.getY()>.73||tobj.getY()<.55)){ UPoint2=0; UfadeinA=0; UfadeinB=0;
if(P2Mark==0&& P2G >= 1 && Point2==0 ){  UP2Mark=1; } }
//----------------------------------------------------POINT 3 if(Map==1&&tobj.getX()>0.63&&tobj.getX()<0.74&&tobj.getY()<.48&&tobj.getY()>.28&&tobj.getSymbolID()==2){
 timer=0;  Point3Hint = true;
 if(Point3<1){  Angle = tobj.getAngle(); Point3=1;}
if (Angle+2 > 6.1){  UPoint3=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point3 = 2;    fadein3A=0;    fadein3C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point3=3; fadein3B= 0; }
if(Point3> 1 && tobj.getAngle() < UAngle + 1 ){
 Point3=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.37||tobj.getX()>0.49||tobj.getY()>.42||tobj.getY()<.19)){  Point3=0;  fadein3A=0;  fadein3B=0;  fadein3C=0; }
//----------------------------------------------------POINT 3 UPSIDE DOWN if(Map==1&&tobj.getX()>0.37&&tobj.getX()<0.49&&tobj.getY()<.42&&tobj.getY()>.19&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point3Hint = true;
 if(UPoint3<1){  UAngle = tobj.getAngle(); UPoint3=1;}
if (UAngle+2 > 6.1){  UPoint3=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint3 = 2;    Ufadein3A=0;    Ufadein3C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint3=3; Ufadein3B= 0; }
if(UPoint3 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint3=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.37||tobj.getX()>0.49||tobj.getY()>.42||tobj.getY()<.19)){  UPoint3=0;  Ufadein3A=0;  Ufadein3B=0;  Ufadein3C=0; }
//----------------------------------------------------POINT 4 if(Map==1&&tobj.getX()>0.5&&tobj.getX()<0.65&&tobj.getY()<.68&&tobj.getY()>.48&&tobj.getSymbolID()==2){ println("Upsidedown is a go. UPoint1=" + UPoint4);
 timer=0;  Point4Hint = true;
 if(Point4<1){  Angle = tobj.getAngle(); Point4=1;}
if (Angle+2 > 6.1){  UPoint4=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point4 = 2;    fadein4A=0;    fadein4C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point4=3; fadein4B= 0; }
if(Point4> 1 && tobj.getAngle() < UAngle + 1 ){
 Point4=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.52||tobj.getX()>0.66||tobj.getY()>.66||tobj.getY()<.40)){  Point4=0;  fadein4A=0;  fadein4B=0;  fadein4C=0; }
//----------------------------------------------------POINT 4 UPSIDE DOWN if(Map==1&&tobj.getX()>0.52&&tobj.getX()<0.65&&tobj.getY()<.66&&tobj.getY()>.40&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point4Hint = true;
 if(UPoint4<1){  UAngle = tobj.getAngle(); UPoint4=1;}
if (UAngle+2 > 6.1){  UPoint4=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint4 = 2;    Ufadein4A=0;    Ufadein4C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint4=3; Ufadein4B= 0; }
if(UPoint4 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint4=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.52||tobj.getX()>0.66||tobj.getY()>.66||tobj.getY()<.40)){  UPoint4=0;  Ufadein4A=0;  Ufadein4B=0;  Ufadein4C=0; }
}
// Point f x<.59 x>.45  
// we have to think about how rotating will change media? The angle cant be used because the fiducial cold be at any angle when it interacts // Has to be the change in angle. I could set a function to get the fiducials angle when it comes into contact with an interaction point // Store that angle in a var and change media when the changed angle is a certain amount of degrees bigger than the var
//In order to differentiate who sees what media at what angles, maybe when they do the first twist, I can assign that fiducial an id or variable, //and then use the co-ordinates and rotation of that variable to activate media
// called when an object is removed from the scene void removeTuioObject(TuioObject tobj) {  if (verbose) println("del obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+")"); }
// -------------------------------------------------------------- // called when a cursor is added to the scene void addTuioCursor(TuioCursor tcur) {  if (verbose) println("add cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+ ") " +tcur.getX()+" "+tcur.getY());  //redraw(); }
// called when a cursor is moved void updateTuioCursor (TuioCursor tcur) {  if (verbose) println("set cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+ ") " +tcur.getX()+" "+tcur.getY()          +" "+tcur.getMotionSpeed()+" "+tcur.getMotionAccel());  //redraw(); }
// called when a cursor is removed from the scene void removeTuioCursor(TuioCursor tcur) {  if (verbose) println("del cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+")");  //redraw() }
// -------------------------------------------------------------- // called when a blob is added to the scene void addTuioBlob(TuioBlob tblb) {  if (verbose) println("add blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+") "+tblb.getX()+" "+tblb.getY()+" "+tblb.getAngle()+" "+tblb.getWidth()+" "+tblb.getHeight()+" "+tblb.getArea());  //redraw(); }
// called when a blob is moved void updateTuioBlob (TuioBlob tblb) {  if (verbose) println("set blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+") "+tblb.getX()+" "+tblb.getY()+" "+tblb.getAngle()+" "+tblb.getWidth()+" "+tblb.getHeight()+" "+tblb.getArea()          +" "+tblb.getMotionSpeed()+" "+tblb.getRotationSpeed()+" "+tblb.getMotionAccel()+" "+tblb.getRotationAccel());  //redraw() }
// called when a blob is removed from the scene void removeTuioBlob(TuioBlob tblb) {  if (verbose) println("del blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+")");  //redraw() }
// -------------------------------------------------------------- // called at the end of each TUIO frame void refresh(TuioTime frameTime) {  if (verbose) println("frame #"+frameTime.getFrameID()+" ("+frameTime.getTotalMilliseconds()+")");  if (callback) redraw(); }
0 notes
aaronfcollege-blog · 7 years
Text
Code
/* //<>// TUIO 1.1 Demo for Processing Copyright (c) 2005-2014 Martin Kaltenbrunner <[email protected]>
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ // Import the cornerstone warp correction library
// import the TUIO library import TUIO.*; import gifAnimation.*; // declare a TuioProcessing client TuioProcessing tuioClient;
import deadpixel.keystone.*;
Keystone ks; CornerPinSurface surface;
// these are some helper variables which are used // to create scalable graphical feedback float cursor_size = 400; float object_size = 60; //the square representing the fiducial float table_size = 900; // size of the feedback float scale_factor = 1; float angle; PFont font;
//FADE INS float fadeinA = 0; float fadeinB = 0; float fadeinC = 0; float fadeinD = 0; float UfadeinA = 0; float UfadeinB = 0; float UfadeinC = 0; float UfadeinD = 0;
float Ufadein1A = 0; float Ufadein1B = 0; float Ufadein1C = 0;
float fadein1A = 0; float fadein1B = 0; float fadein1C = 0;
float Ufadein3A = 0; float Ufadein3B = 0; float Ufadein3C = 0;
float fadein3A = 0; float fadein3B = 0; float fadein3C = 0;
float Ufadein4A = 0; float Ufadein4B = 0; float Ufadein4C = 0;
float fadein4A = 0; float fadein4B = 0; float fadein4C = 0;
float Ufadein5A = 0; float Ufadein5B = 0; float Ufadein5C = 0;
float fadein5A = 0; float fadein5B = 0; float fadein5C = 0; // Timer for hints
float timer= 0;   boolean Point1Hint = false; boolean Point2Hint = false; boolean Point3Hint = false; boolean Point4Hint = false; boolean Point5Hint = false; boolean Point6Hint = false;
//Turn off screen float StandbyTimer = 0; PShape StandbyRect;
//  float = Data type for floating-point numbers, e.g. numbers that have a decimal point.
boolean verbose = false; // print console debug messages boolean callback = true; // updates only after callbacks
/////////////////////////// POINT1 float Point1=0; PShape Point1HintCircle; PImage Point1AImg; PImage Point1BImg; PImage Point1CImg; float P1Mark = 0; PImage P1Marker;
Gif Point1Red;
String Point1ATxt = "Designed by William Burges and consecrated in 1870, the current cathedral is built on the site of at least two previous structures dedicated to Finbarr of Cork The first dated from the 7th century, with works continuing through the 12th century. This building was damaged during the Siege of Cork (1690), and a new structure was built in 1735. " ; String Point1BTxt = "The Current version from 1860 exceeded its initial budget of £15k, bringing the total cost to almost £100. The style of the building is Early French, Burges's favoured period. Burges oversaw all aspects of the design, including the architecture of the building, the statuary, the stained glass and the internal decoration. The result is \"undoubtedly Burges's greatest work in ecclesiastical architecture\"" ; String Point1CTxt = "Noteworthy features of its magnificent interior include stained glass windows depicting scenes from the Old and New Testaments, marble mosaics from the Pyrenees while the the sanctuary ceiling portrays Christ, surrounded by angels. The building contains more than 1,260 sculptures, a particularly ornate pulpit and even a 24-lb cannonball, a legacy of the Siege of Cork in 1690.";
// UpsideDown Point1 float UPoint1;
float UP1Mark = 0; PImage UP1Marker;
Gif Point1Blue;
////////////////////////// POINT2 float Point2=0; PShape Point2HintCircle; PImage Point2AImg; PImage Point2BImg; PImage Point2Grey; float P2G = 0;
float P2Mark = 0; PImage P2Marker;
Gif Point2Red;
String Point2ATxt = "Grand Parade was originally a channel of the River Lee. The original Hiberno-Norse settlement of Cork grew up on its west bank. By 1726, buildings had developed on the east bank, but the river channel remained in place. In a 1774 map, the northern portion of the street between Oliver Plunkett Street and Daunt Square had been reclaimed, but the southern portion was still a dock. Finally, by 1801, the river channel had completely disappeared and the street was fully present. The elevated doors can still be seen today on the buildings as a reminder of the old river." ; String Point2BTxt = "The tram system was built by Cork Electric Tramways and Lighting Company in the 19th century throughout Cork. The ease of access to transport in Cork was detrimental to a boom in the cities infrastructure. The tram lines running through grand parade started in St. Patrick’s Street and ran to Douglas and Black Rock." ;
// UpsideDown Point2 float UPoint2;
float UP2Mark = 0; PImage UP2Marker; Gif Point2Blue;
/////////////////////////////////////POINT3 float Point3=0; PShape Point3HintCircle; PImage Point3AImg; PImage Point3BImg; PImage Point3CImg; float P3Mark= 0; PImage P3Marker; Gif Point3Red;
String Point3ATxt = "Philip de Barry invited the Dominicans to Cork in 1229 and the order built a church called St Mary's of the Isle. Some stones from the medieval church are set into the walls of the present Dominican priory on Pope's Quay. The foundation stone of the present St Mary's was laid in 1832 and on 20 October 1839 the church was officially opened" ; String Point3BTxt = "Built in the first half of the nineteenth century, this church was designed by Cork architect Kearns Deane, and the portico was added by Deane and Woodward. The imposing scale of the building makes it a notable addition to the quayside, which is accentuated by the elevated position of the church" ; String Point3CTxt = "The fine interior is attributed to John Pyne Hurley, the baldacchino is attributed to Scannell of Cork, while the pulpit and high altar were designed by George Goldie and added in the 1880s. This church forms part of an interesting group of Roman Catholic buildings with the related priory buildings to the north." ;
// UpsideDown Point3 float UPoint3;
float UP3Mark= 0; PImage UP3Marker; Gif Point3Blue;
///////////////////////////////POINT4 float Point4=0; PShape Point4HintCircle; PImage Point4AImg; PImage Point4BImg; PImage Point4CImg; PImage Point4Grey; float  P4Mark = 0; PImage P4Marker; float P4G = 0; Gif Point4Red;
String Point4ATxt = "The centre of Cork city is built on marshy islands in the tidal estuary of the river Lee. Channels of the river originally separated these islands, and some of these channels were spanned in the eighteenth century to form the principal streets of Cork city centre. Among these is Saint Patrick's Street." ; String Point4BTxt = "Parts of Patrick Street were extensively damaged during the Irish War of Independence in the \"Burning of Cork\". It followed an ambush by the IRA of a Briitish patrol in the city. The Black and Tans retaliated by setting fire to several buildings in the city. " ; String Point4CTxt = "There was substantial disruption to services and destruction of some tramcars during The Burning of Cork in December 1920. The events which occurred to the driver, John Hurley, conductor Alex Garvey and passengers on tramcar no 3 were recorded in the Cork Examiner:" ; String Point4DTxt = "Passengers by the last tram to St. Luke's Cross, which left the Statue at 9 p.m. on Saturday, had a rather eventful journey. The car had got about 60 or 70 yards beyond Empress Place police barracks when a number of men in police uniform, carrying carbines and accompanied by Auxiliaries in plain clothes, held it up. They ordered all the passengers off at the point of revolvers. Male passengers were somewhat roughly handled and then ordered to line up for search. Some few were inclined to run and a voice rang out: \"I'll shoot anyone who runs.\" All then stopped but some shots were fired in the air while the searches were being conducted. In some cases when the search was completed the person searched was ordered home, getting a bit of a rough send-off. The tramcar was then broken in by the police and a rifle shot was discharged, the smell of powder permeating the air. The tramcar was brought back to the Statue by the driver and conductor who when it neared there were ordered off. It was later set on fire and completely destroyed.";
// UpsideDown Point4 float UPoint4;
Gif Point4Blue;
float  UP4Mark = 0; PImage UP4Marker;
///////////////////////////////////////POINT 5 float Point5=0; PShape Point5HintCircle; PImage Point5AImg; PImage Point5BImg; Gif Point5Red;
float  P5Mark = 0; PImage P5Marker; float P5G = 0;
String Point5ATxt = "The Custom House was built in 1818 and was designed by the architect Abraham Hargrave. 1882 it became the headquarters of the Cork Harbour Commissioners, now known as the Port of Cork Company. Its elegant boardroom, where the meetings of the members of the company are held, was constructed in 1906." ; String Point5BTxt = "It became known as the ‘new’ Custom House. Its main work dealt with inland revenue. In 1882 it became the headquarters of the Cork Harbour Commissioners. The old Custom House in Emmet Place is now part of the complex of buildings which houses the Crawford Municipal Art Gallery." ;
// UpsideDown Point5 float UPoint5;
Gif Point5Blue;
float  UP5Mark = 0; PImage UP5Marker;
PShape rectangle; PShape Lsquare; PShape Rsquare;
PShape TestCircle1; PShape TestCircle2; PShape TestCircle3; PShape Whitespace;
PImage img;
PImage TheMap;
// GIFS Gif BlueStart; Gif RedStart;
float Map = 0; float y = 0;
float g = 0;
// Vars for rotations float UAngle; float Angle;
PGraphics offscreen;
void setup() {  // GUI setup
 size(1050, 750,P3D);
 ks = new Keystone(this);    surface = ks.createCornerPinSurface(1050, 750, 20);
    offscreen = createGraphics(1050, 750, P3D);
 noStroke();  fill(255, 255, 255);
  BlueStart = new Gif(this, "T2SBlue.gif");  BlueStart.loop();
 RedStart = new Gif(this, "T2SRed.gif");  RedStart.loop();
 Point1Blue= new Gif(this, "FBBlue.gif");  Point1Blue.play();
 Point1Red= new Gif(this, "FBRed.gif");  Point1Red.play();
   Point2Red = new Gif(this, "GPred.gif");  Point2Red.play();
 Point2Blue = new Gif(this, "GPblue.gif");  Point2Blue.play();
 Point3Red = new Gif(this, "MCRed.gif");  Point3Red.play();
 Point3Blue = new Gif(this, "MCBlue.gif");  Point3Blue.play();
 Point4Red= new Gif(this, "PSRed.gif");  Point4Red.play();
 Point4Blue = new Gif(this, "PSBlue.gif");  Point4Blue.play();
 Point5Red = new Gif (this, "CHRed.gif");  Point5Red.play();
 Point5Blue = new Gif(this, "CHBlue.gif");  Point5Blue.play();
 rectangle = createShape(RECT,100,300,100,50);  rectangle.setStroke(color(255));  rectangle.setStrokeWeight(4);  rectangle.setFill(color(127));
 // periodic updates  if (!callback) {    frameRate(60);    loop();  }  // or callback updates
 font = createFont("Arial", 18);  scale_factor = height/table_size;
 // height stores the height of the display window that is set in the size() call
 // finally we create an instance of the TuioProcessing client  // since we add "this" class as an argument the TuioProcessing class expects  // an implementation of the TUIO callback methods in this class (see below)  tuioClient  = new TuioProcessing(this);
  offscreen.tint(255, 127);  StandbyRect = createShape(RECT,0,0, displayWidth, displayHeight);  StandbyRect.setFill(color(0,0,0));  StandbyRect.setStroke(false);
 Whitespace = createShape(RECT, 0, 0, displayWidth, displayHeight);  Whitespace.setFill(color(254,197,87));  Whitespace.setStroke(false);
// IMAGES FOR POINT1 Point1AImg = loadImage("Point1AImg.jpg"); Point1BImg = loadImage("Point1BImg.png"); Point1CImg = loadImage("Point1CImg.png");
TheMap = loadImage("Map.png");
// IMAGES FOR POINT2   Point2AImg = loadImage("Point2AImg.png");   Point2BImg = loadImage("Point2AImg.png");
  Point2Grey = loadImage("Grey3.png");
  P2Marker = loadImage("RedMark.png");   UP2Marker= loadImage("BlueMark.png");
//IMAGES FOR POINT3 Point3AImg = loadImage("Point3AImg.png"); Point3BImg = loadImage("Point3BImg.png"); Point3CImg = loadImage("Point3CImg.png");
//IMAGES FOR POINT4 Point4AImg = loadImage("Point4AImg.png"); Point4BImg = loadImage("Point4BImg.png"); Point4CImg = loadImage("Point4CImg.png");
Point4Grey = loadImage("Grey3.png");
 //IMAGES FOR POINT5 Point5AImg = loadImage("Point5AImg.png"); Point5BImg = loadImage("Point5BImg.png");
}
// within the draw method we retrieve an ArrayList of type <TuioObject>, <TuioCursor> or <TuioBlob> // from the TuioProcessing client and then loops over all lists to draw the graphical feedback. void draw() {
 offscreen.beginDraw();  offscreen.background(255);  textFont(font,18*scale_factor);  float obj_size = object_size*scale_factor;  float cur_size = cursor_size*scale_factor;
 ///////////////////////////////////// BEGINNING    if(Map==0){      offscreen.tint(255,255);    offscreen.image(RedStart, 520, 450);    offscreen.image(BlueStart, 520, -30);    }
 ////////////////////////// CITY MAP    if(Map==1){
     offscreen.shape(Whitespace, 0,0);
     TheMap.resize(700,700);    offscreen.image(TheMap, 300, 20);   Point2Grey.resize(180, 180);   Point4Grey.resize(180,180);   offscreen.tint(255, 200);   if(P2G ==0){   offscreen.image(Point2Grey, 550, 400); }   if(P4G==0){// grand parade   offscreen.image(Point4Grey, 700, 300);} // st. patricks    offscreen.tint(255, 255);  }  //////////////////////////////  Standy mode
 if (StandbyTimer <2500){StandbyTimer += 1;};
 if (StandbyTimer >= 2500){
 }
 ///////////////////////////////////////////////////// HINTS
/*if (timer < 500 &&Map==1){timer += 1;};
  if(timer>=500){     if(Point1Hint == false){      shape(Point1HintCircle, 500, 100);}      if(Point2Hint  == false){    shape(Point2HintCircle, 600, 400);}    if(Point3Hint == false){    shape(Point3HintCircle, 800, 600);}   }  */  if(y==1){    img.resize(300, 150);    image(img, 00, 100);  }
 //////////////////////// POINT MEDIA
 // Point 1 St. Finbarre's  if(Point1==1){    if(fadein1A >= 0){fadein1A += 20;};    offscreen.tint(255, fadein1A);    Point1AImg.resize(300, 150);    offscreen.image(Point1AImg, 0, 100);    textSize(10);    offscreen.text(Point1ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadeinB = 0;  
    offscreen.image(Point1Red, 240, 450);  }
   if(Point1==2){    if(fadein1B >= 0){fadein1B += 20;};    offscreen.tint(255, fadein1B);    Point1BImg.resize(300, 150);    offscreen.image(Point1BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point1BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point1Red, 240, 450);  }
    if(Point1==3){    if(fadein1C >= 0){fadein1C += 20;};    offscreen.tint(255, fadein1C);    Point1CImg.resize(300, 150);    offscreen.image(Point1CImg, 0, 100);    textSize(10);    offscreen.text(Point1CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point1Red, 240, 450);  }
 if(UPoint1==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1A >= 0){Ufadein1A += 20;};       offscreen.tint(255, Ufadein1A);    Point1AImg.resize(300,150);   offscreen.image(Point1AImg, 0, 100);    offscreen.fill(#000000, Ufadein1A);    textSize(10);    offscreen.text(Point1ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    UfadeinB = 0;
     offscreen.image(Point1Blue, 240, 450);  }
  if(UPoint1==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1B >= 0){Ufadein1B += 20;};       offscreen.tint(255, Ufadein1B);    Point1BImg.resize(300,150);    offscreen.image(Point1BImg, 0, 100);    offscreen.fill(#000000, Ufadein1B);    offscreen.textSize(10);    offscreen.text(Point1BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point1Blue, 240, 450);
 }
  if(UPoint1==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein1C >= 0){Ufadein1C += 20;};       offscreen.tint(255, Ufadein1C);    Point1CImg.resize(300,150);    offscreen.image(Point1CImg, 0, 100);    offscreen.fill(#000000, Ufadein1C);    offscreen.textSize(10);    offscreen.text(Point1CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point1Blue, 240, 450);  }
 /////////////////////////// POINT 2
 if(P2Mark == 1){
  offscreen.image (P2Marker, 550, 400);     P2Marker.resize(180,180);
 }
  if(UP2Mark == 1){
  image (UP2Marker, 550, 400);     UP2Marker.resize(180,180);
 }
 if(Point2==1){
   if (fadeinA >= 0){fadeinA += 20;};  offscreen.tint(255, fadeinA);  Point2AImg.resize(300, 150);  offscreen.image(Point2AImg, 0, 100);  offscreen.fill(#000000, fadeinA);  offscreen.textSize(10);  offscreen.text( Point2ATxt, 10, 300, 300, 150);  offscreen.fill(0, 0, 0);  offscreen.tint(255, 255);  fadeinB=0;
 offscreen.image(Point2Red, 490, 340);  }
 if(Point2==2){
   if (fadeinB >= 0){fadeinB += 20;};       offscreen.tint(255, fadeinB);    Point2BImg.resize(300, 150);   offscreen.image(Point2BImg, 0, 100);     offscreen.fill(#000000, fadeinB);   offscreen.textSize(10);   offscreen.text(Point2BTxt, 10, 300, 300, 300) ;   offscreen.tint(255, 255);   offscreen.image(Point2Red, 490, 340); }
/////////////////////////////////// UPSIDE DOWN POINT 2  if(UPoint2==1){    offscreen.image(Point2Blue, 490, 340);
    offscreen.translate(1300,700);      offscreen.rotate(radians(180));    if (UfadeinA >= 0){UfadeinA += 20;};  offscreen.tint(255, UfadeinA);  Point2AImg.resize(300, 150);  offscreen.image(Point2AImg, -50, 100);  offscreen.fill(#000000, UfadeinA);  offscreen.textSize(10);  offscreen.text(Point2ATxt, -50, 300, 300, 150);  offscreen.fill(0, 0, 0);  offscreen.tint(255, 255);  UfadeinB=0;
  offscreen.rotate(radians(-180));
    offscreen.translate(-1300,-700);
 }
 if(UPoint2==2){
    offscreen.translate(1300,700);      offscreen.rotate(radians(180));    if (UfadeinB >= 0){UfadeinB += 20;};       offscreen.tint(255, UfadeinB);    Point2BImg.resize(300, 150);   offscreen.image(Point2BImg, -50, 100);     offscreen.fill(#000000, UfadeinB);   offscreen.textSize(10);   offscreen.text(Point2BTxt, -50, 300, 300, 300) ;   offscreen.tint(255, 255);
     offscreen.rotate(radians(-180));     offscreen.translate(-1300,-700);        offscreen.image(Point2Blue, 490, 340); } ///////////////////// Point 3
//St. Mary's
 if(Point3==1){    if(fadein3A >= 0){fadein3A += 20;};    offscreen.tint(255, fadein3A);    Point3AImg.resize(300, 150);    offscreen.image(Point3AImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadein3B = 0;      offscreen.image(Point3Red, 430, 60);
 }
   if(Point3==2){    if(fadein3B >= 0){fadein3B += 20;};    offscreen.tint(255, fadein3B);    Point3BImg.resize(300, 150);    offscreen.image(Point3BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    offscreen.image(Point3Red,  430, 60);  }
    if(Point3==3){    if(fadein3C >= 0){fadein3C += 20;};    offscreen.tint(255, fadein3C);    Point3CImg.resize(300, 150);    offscreen.image(Point3CImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point3CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    offscreen.image(Point3Red,  430, 60);  }
 if(UPoint3==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3A >= 0){Ufadein3A += 20;};       offscreen.tint(255, Ufadein3A);    Point3AImg.resize(300,150);    offscreen.image(Point3AImg, 0, 100);    offscreen.fill(#000000, Ufadein3A);    offscreen.textSize(10);    offscreen.text(Point3ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    Ufadein3B = 0;
     offscreen.image(Point3Blue,  430, 60);  }
  if(UPoint3==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3B >= 0){Ufadein3B += 20;};       offscreen.tint(255, Ufadein3B);    Point3BImg.resize(300,150);    offscreen.image(Point3BImg, 0, 100);    offscreen.fill(#000000, Ufadein3B);    offscreen.textSize(10);    offscreen.text(Point3BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point3Blue,  430, 60);
 }
  if(UPoint3==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein3C >= 0){Ufadein3C += 20;};       offscreen.tint(255, Ufadein3C);    Point3CImg.resize(300,150);    offscreen.image(Point3CImg, 0, 100);    offscreen.fill(#000000, Ufadein3C);    offscreen.textSize(10);    offscreen.text(Point3CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point3Blue, 430, 60);  }
///////////////////// Point 4
// Point 4 SAINT PATRICKS  if(Point4==1){    if(fadein4A >= 0){fadein4A += 20;};    offscreen.tint(255, fadein4A);    Point4AImg.resize(300, 150);    offscreen.image(Point4AImg, 0, 100);   offscreen.textSize(10);    offscreen.text(Point4ATxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);    fadeinB = 0;       offscreen.image(Point4Red, 630, 240);
 }
   if(Point4==2){    if(fadein4B >= 0){fadein4B += 20;};    offscreen.tint(255, fadein4B);    Point4BImg.resize(300, 150);    offscreen.image(Point4BImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point4BTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point4Red, 630, 240);  }
    if(Point4==3){    if(fadein4C >= 0){fadein4C += 20;};    offscreen.tint(255, fadein4C);    Point4CImg.resize(300, 150);    offscreen.image(Point4CImg, 0, 100);    offscreen.textSize(10);    offscreen.text(Point4CTxt, 10, 300, 300, 150);    offscreen.fill(0,0,0);    offscreen.tint(255, 255);     offscreen.image(Point4Red, 630, 240);  }
 if(UPoint4==1){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4A >= 0){Ufadein4A += 20;};       offscreen.tint(255, Ufadein4A);    Point4AImg.resize(300,150);    offscreen.image(Point4AImg, 0, 100);    offscreen.fill(#000000, Ufadein4A);    offscreen.textSize(10);    offscreen.text(Point4ATxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);    Ufadein4B = 0;
     offscreen.image(Point4Blue, 630, 240);  }
  if(UPoint4==2){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4B >= 0){Ufadein4B += 20;};       offscreen.tint(255, Ufadein4B);    Point4BImg.resize(300,150);    offscreen.image(Point4BImg, 0, 100);    offscreen.fill(#000000, Ufadein4B);    offscreen.textSize(10);    offscreen.text(Point4BTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);  offscreen.image(Point4Blue,630, 240);
 }
  if(UPoint4==3){    offscreen.translate(1300,700);      offscreen.rotate(radians(180));
      if (Ufadein4C >= 0){Ufadein4C += 20;};       offscreen.tint(255, Ufadein4C);    Point4CImg.resize(300,150);    offscreen.image(Point4CImg, 0, 100);    offscreen.fill(#000000, Ufadein4C);    offscreen.textSize(10);    offscreen.text(Point4CTxt, 10, 300, 300, 150);    offscreen.rotate(radians(-180)); offscreen.translate(-1300,-700); offscreen.tint(255, 255);     offscreen.image(Point4Blue, 630, 240);  }
 ArrayList<TuioObject> tuioObjectList = tuioClient.getTuioObjectList();  for (int i=0;i<tuioObjectList.size();i++) {     TuioObject tobj = tuioObjectList.get(i);     offscreen.stroke(204, 122, 97);     if(tobj.getSymbolID() ==8){       offscreen.stroke (135, 165, 214);     }     offscreen.fill(255,255,255);     offscreen.pushMatrix();     offscreen.translate(tobj.getScreenX(1050),tobj.getScreenY(750));     offscreen.rotate(tobj.getAngle());     //rect(-obj_size/2,-obj_size/2,obj_size,obj_size);         offscreen.ellipse(-obj_size/2,-obj_size/2, 130,130); // this changes the image that follows the fiducial to a white cirle, making it easier for the camera to see the fiducial    // image(rot8, -obj_size/2, -obj_size/2); // this changes the image that follows the fiducial to a GIF
    offscreen.popMatrix();     //fill(255);     //text(""+tobj.getSymbolID(), tobj.getScreenX(width), tobj.getScreenY(height));
  }
  ArrayList<TuioCursor> tuioCursorList = tuioClient.getTuioCursorList();   for (int i=0;i<tuioCursorList.size();i++) {      TuioCursor tcur = tuioCursorList.get(i);      ArrayList<TuioPoint> pointList = tcur.getPath();
     if (pointList.size()>0) {        stroke(0,0,255);        TuioPoint start_point = pointList.get(0);        for (int j=0;j<pointList.size();j++) {           TuioPoint end_point = pointList.get(j);           line(start_point.getScreenX(width),start_point.getScreenY(height),end_point.getScreenX(width),end_point.getScreenY(height));           start_point = end_point;        }
       stroke(192,192,192);        fill(192,192,192);        ellipse( tcur.getScreenX(width), tcur.getScreenY(height),cur_size,cur_size);        fill(0);        text(""+ tcur.getCursorID(),  tcur.getScreenX(width)-5,  tcur.getScreenY(height)+5);      }   }
 ArrayList<TuioBlob> tuioBlobList = tuioClient.getTuioBlobList();  for (int i=0;i<tuioBlobList.size();i++) {     TuioBlob tblb = tuioBlobList.get(i);     stroke(0);     fill(0);     pushMatrix();     translate(tblb.getScreenX(width),tblb.getScreenY(height));     rotate(tblb.getAngle());     ellipse(-1*tblb.getScreenWidth(width)/2,-1*tblb.getScreenHeight(height)/2, tblb.getScreenWidth(width), tblb.getScreenWidth(width));     popMatrix();     fill(255);     text(""+tblb.getBlobID(), tblb.getScreenX(width), tblb.getScreenX(width));   }
  offscreen.endDraw();  background(0);
 // render the scene, transformed using the corner pin surface  surface.render(offscreen); }
void keyPressed() {  switch(key) {  case 'c':    // enter/leave calibration mode, where surfaces can be warped    // and moved    ks.toggleCalibration();    break;
 case 'l':    // loads the saved layout    ks.load();    break;
 case 's':    // saves the layout    ks.save();    break;  } }
// -------------------------------------------------------------- // these callback methods are called whenever a TUIO event occurs // there are three callbacks for add/set/del events for each object/cursor/blob type // the final refresh callback marks the end of each TUIO frame
// called when an object is added to the scene void addTuioObject(TuioObject tobj) {  if (verbose) println("add obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+tobj.getX()+" "+tobj.getY()+" "+tobj.getAngle()); }
// called when an object is moved void updateTuioObject (TuioObject tobj) {   println("set obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+" Angle=  "+tobj.getAngle()          +"x=  " + tobj.getX()+ "Y=  " + tobj.getY() + "Timer = " + timer /*"Rspeed "+""+tobj.getRotationSpeed()+" "+"MAccell  "+""+tobj.getMotionAccel()+" "+"RAccel  "+""+tobj.getRotationAccel()*/);
//////////////////////////////////////START STUFF
if(tobj.getX()>0.47&&tobj.getX()<0.5&&tobj.getY()>0.75&&tobj.getY()<0.8&&/*tobj.getRotationSpeed()>.30&&*/tobj.getSymbolID()==2  && Map==0){
Map=1; }
if(tobj.getX()>0.47&&tobj.getX()<0.5&&tobj.getY()>0.16&&tobj.getY()<0.217&&/*tobj.getRotationSpeed()>.30&&*/tobj.getSymbolID()==8 && Map==0){
Map =1; }
///////////////////////////////////// MAP 1
if(Map==1&&tobj.getX()>0.35&&tobj.getX()<0.37&&tobj.getY()<.15&&tobj.getY()>.10&&tobj.getRotationSpeed()>.14&&tobj.getSymbolID()==12){  y=1;  Point1HintCircle.setFill(color(50, 0, 0)); ;};
//----------------------------------------------------POINT 1 if(Map==1&&tobj.getX()>0.21&&tobj.getX()<0.30&&tobj.getY()<.82&&tobj.getY()>.7&&tobj.getSymbolID()==2){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point1Hint = true;
 if(Point1<1){  Angle = tobj.getAngle(); Point1=1;}
if (Angle+2 > 6.1){  UPoint1=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point1 = 2;    fadein1A=0;    fadein1C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point1=3; fadein1B= 0; }
if(Point1 > 1 && tobj.getAngle() < UAngle + 1 ){
 Point1=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.21||tobj.getX()>0.30||tobj.getY()>.82||tobj.getY()<.7)){  Point1=0;  fadein1A=0;  fadein1B=0;  fadein1C=0;
}
//----------------------------------------------------POINT 1 UPSIDE DOWN if(Map==1&&tobj.getX()>0.21&&tobj.getX()<0.30&&tobj.getY()<.82&&tobj.getY()>.7&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point1Hint = true;
 if(UPoint1<1){  UAngle = tobj.getAngle(); UPoint1=1;}
if (UAngle+2 > 6.1){  UPoint1=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint1 = 2;    Ufadein1A=0;    Ufadein1C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint1=3; Ufadein1B= 0; }
if(UPoint1 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint1=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.21||tobj.getX()>0.30||tobj.getY()>.82||tobj.getY()<.7)){  UPoint1=0;  Ufadein1A=0;  Ufadein1B=0;  Ufadein1C=0; }
//--------------------------------------------------------POINT2 if(Map==1&&tobj.getX()>0.42&&tobj.getX()<0.53&&tobj.getY()<.73&&tobj.getY()>.558&&tobj.getSymbolID()==2){  println("angle of fiducial = " + tobj.getAngle());  println("Angle TEST  " + Angle);  timer=0; P2G = 1;
 if(Point2<1){  Angle = tobj.getAngle();   Point2=1; }
if (Angle+2 > 6.1){  Point2=0;}
if( tobj.getAngle() >= Angle + 1 && tobj.getAngle() <= Angle + 2 ){
Point2=2; fadeinA = 0; fadeinC = 0; }
if(Point2 > 1 && tobj.getAngle() <= Angle + 1 ){
 Point2=0;
}
}
if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.42||tobj.getX()>0.53||tobj.getY()>.73||tobj.getY()<.55)){ Point2=0; fadeinA=0; fadeinB=0; fadeinC=0;
if(UP2Mark==0&& P2G >= 1&& UPoint2==0 ){  P2Mark=1; } }
//-------------------------------------------------------- UPSIDE DOWN POINT2 if(Map==1&&tobj.getX()>0.42&&tobj.getX()<0.53&&tobj.getY()<.73&&tobj.getY()>.55&&tobj.getSymbolID()==8){  println("angle of fiducial = " + tobj.getAngle());  println("Angle TEST  " + Angle);  timer=0; P2G = 1;
 if(UPoint2<1){  Angle = tobj.getAngle();  UPoint2=1;
}
if (Angle+2 > 6.1){  UPoint2=0;}
if( tobj.getAngle() >= Angle + 1 && tobj.getAngle() <= Angle + 2 ){
UPoint2=2; UfadeinA = 0; UfadeinC = 0; }
if(UPoint2 > 1 && tobj.getAngle() <= Angle + 1 ){
 UPoint2=0;
}
}
if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.42||tobj.getX()>0.53||tobj.getY()>.73||tobj.getY()<.55)){ UPoint2=0; UfadeinA=0; UfadeinB=0;
if(P2Mark==0&& P2G >= 1 && Point2==0 ){  UP2Mark=1; } }
//----------------------------------------------------POINT 3 if(Map==1&&tobj.getX()>0.37&&tobj.getX()<0.49&&tobj.getY()<.42&&tobj.getY()>.19&&tobj.getSymbolID()==2){
 timer=0;  Point3Hint = true;
 if(Point3<1){  Angle = tobj.getAngle(); Point3=1;}
if (Angle+2 > 6.1){  UPoint3=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point3 = 2;    fadein3A=0;    fadein3C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point3=3; fadein3B= 0; }
if(Point3> 1 && tobj.getAngle() < UAngle + 1 ){
 Point3=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.37||tobj.getX()>0.49||tobj.getY()>.42||tobj.getY()<.19)){  Point3=0;  fadein3A=0;  fadein3B=0;  fadein3C=0; }
//----------------------------------------------------POINT 3 UPSIDE DOWN if(Map==1&&tobj.getX()>0.37&&tobj.getX()<0.49&&tobj.getY()<.42&&tobj.getY()>.19&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point3Hint = true;
 if(UPoint3<1){  UAngle = tobj.getAngle(); UPoint3=1;}
if (UAngle+2 > 6.1){  UPoint3=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint3 = 2;    Ufadein3A=0;    Ufadein3C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint3=3; Ufadein3B= 0; }
if(UPoint3 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint3=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.37||tobj.getX()>0.49||tobj.getY()>.42||tobj.getY()<.19)){  UPoint3=0;  Ufadein3A=0;  Ufadein3B=0;  Ufadein3C=0; }
//----------------------------------------------------POINT 4 if(Map==1&&tobj.getX()>0.52&&tobj.getX()<0.65&&tobj.getY()<.66&&tobj.getY()>.40&&tobj.getSymbolID()==2){ println("Upsidedown is a go. UPoint1=" + UPoint4);
 timer=0;  Point4Hint = true;
 if(Point4<1){  Angle = tobj.getAngle(); Point4=1;}
if (Angle+2 > 6.1){  UPoint4=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < Angle + 2){    Point4 = 2;    fadein4A=0;    fadein4C=0;}
   if(tobj.getAngle() > Angle + 2 ){ Point4=3; fadein4B= 0; }
if(Point4> 1 && tobj.getAngle() < UAngle + 1 ){
 Point4=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==2&&(tobj.getX()<0.52||tobj.getX()>0.66||tobj.getY()>.66||tobj.getY()<.40)){  Point4=0;  fadein4A=0;  fadein4B=0;  fadein4C=0; }
//----------------------------------------------------POINT 4 UPSIDE DOWN if(Map==1&&tobj.getX()>0.52&&tobj.getX()<0.65&&tobj.getY()<.66&&tobj.getY()>.40&&tobj.getSymbolID()==8){ println("Upsidedown is a go. UPoint1=" + UPoint1);
 timer=0;  Point4Hint = true;
 if(UPoint4<1){  UAngle = tobj.getAngle(); UPoint4=1;}
if (UAngle+2 > 6.1){  UPoint4=0;}
 if(tobj.getAngle()> UAngle + 1 && tobj.getAngle() < UAngle + 2){    UPoint4 = 2;    Ufadein4A=0;    Ufadein4C=0;}
   if(tobj.getAngle() > UAngle + 2 ){ UPoint4=3; Ufadein4B= 0; }
if(UPoint4 > 1 && tobj.getAngle() < UAngle + 1 ){
 UPoint4=0;
}
} //RESET Map if(Map==1&&tobj.getSymbolID()==8&&(tobj.getX()<0.52||tobj.getX()>0.66||tobj.getY()>.66||tobj.getY()<.40)){  UPoint4=0;  Ufadein4A=0;  Ufadein4B=0;  Ufadein4C=0; }
}
// we have to think about how rotating will change media? The angle cant be used because the fiducial cold be at any angle when it interacts // Has to be the change in angle. I could set a function to get the fiducials angle when it comes into contact with an interaction point // Store that angle in a var and change media when the changed angle is a certain amount of degrees bigger than the var
//In order to differentiate who sees what media at what angles, maybe when they do the first twist, I can assign that fiducial an id or variable, //and then use the co-ordinates and rotation of that variable to activate media
// called when an object is removed from the scene void removeTuioObject(TuioObject tobj) {  if (verbose) println("del obj "+tobj.getSymbolID()+" ("+tobj.getSessionID()+")"); }
// -------------------------------------------------------------- // called when a cursor is added to the scene void addTuioCursor(TuioCursor tcur) {  if (verbose) println("add cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+ ") " +tcur.getX()+" "+tcur.getY());  //redraw(); }
// called when a cursor is moved void updateTuioCursor (TuioCursor tcur) {  if (verbose) println("set cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+ ") " +tcur.getX()+" "+tcur.getY()          +" "+tcur.getMotionSpeed()+" "+tcur.getMotionAccel());  //redraw(); }
// called when a cursor is removed from the scene void removeTuioCursor(TuioCursor tcur) {  if (verbose) println("del cur "+tcur.getCursorID()+" ("+tcur.getSessionID()+")");  //redraw() }
// -------------------------------------------------------------- // called when a blob is added to the scene void addTuioBlob(TuioBlob tblb) {  if (verbose) println("add blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+") "+tblb.getX()+" "+tblb.getY()+" "+tblb.getAngle()+" "+tblb.getWidth()+" "+tblb.getHeight()+" "+tblb.getArea());  //redraw(); }
// called when a blob is moved void updateTuioBlob (TuioBlob tblb) {  if (verbose) println("set blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+") "+tblb.getX()+" "+tblb.getY()+" "+tblb.getAngle()+" "+tblb.getWidth()+" "+tblb.getHeight()+" "+tblb.getArea()          +" "+tblb.getMotionSpeed()+" "+tblb.getRotationSpeed()+" "+tblb.getMotionAccel()+" "+tblb.getRotationAccel());  //redraw() }
// called when a blob is removed from the scene void removeTuioBlob(TuioBlob tblb) {  if (verbose) println("del blb "+tblb.getBlobID()+" ("+tblb.getSessionID()+")");  //redraw() }
// -------------------------------------------------------------- // called at the end of each TUIO frame void refresh(TuioTime frameTime) {  if (verbose) println("frame #"+frameTime.getFrameID()+" ("+frameTime.getTotalMilliseconds()+")");  if (callback) redraw(); }
0 notes
stairnaheireann · 2 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920. Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
Tumblr media
View On WordPress
6 notes · View notes
stairnaheireann · 3 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920. Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
Tumblr media
View On WordPress
4 notes · View notes
stairnaheireann · 4 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920.
Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
View On WordPress
4 notes · View notes
stairnaheireann · 5 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Tumblr media
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920.
Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
View On WordPress
4 notes · View notes
stairnaheireann · 6 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920. Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
View On WordPress
2 notes · View notes
stairnaheireann · 7 years
Text
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
#OTD in 1879 – Birth of Irish patriot and Lord Mayor of Cork, Terence MacSwiney, in Co Cork.
Terence Joseph MacSwiney was a playwright, author and politician. He was elected as Sinn Féin Lord Mayor of Cork during the Irish War of Independence in 1920 after the murder of his friend Tomás Mac Curtain, the Lord Mayor of Cork on 20 March 1920.
Like Tomás Mac Curtain, he had been a member of the Irish Volunteers and an enthusiast for the Irish language. He had also been imprisoned following…
View On WordPress
1 note · View note