text:
from PBS Website
Long before the economic meltdown, one woman tried to warn about the thread to the financial system...
"We didn't truly know the dangers of the market, because it was a dark market," says Brooksley Born, the head of an obscure federal regulatory agency - the Commodity Futures Trading Commission [CFTC] - who not only warned of the potential for economic meltdown in the late 1990s, but also tried to convince the country's key economic powerbrokers to take actions that could have helped avert the crisis.
"They were totally opposed to it," Born says. "That puzzled me. What was it that was in this market that had to be hidden?"
In The Warning, veteran FRONTLINE producer Michael Kirk unearths the hidden history of the nation's worst financial crisis since the Great Depression.
At the center of it all he finds Brooksley Born, who speaks for the first time on television about her failed campaign to regulate the secretive, multitrillion-dollar derivatives market whose crash helped trigger the financial collapse in the fall of 2008.
"I didn't know Brooksley Born," says former SEC Chairman Arthur Levitt, a member of President Clinton's powerful Working Group on Financial Markets.
"I was told that she was irascible, difficult, stubborn, unreasonable."
Levitt explains how the other principals of the Working Group - former Fed Chairman Alan Greenspan and former Treasury Secretary Robert Rubin - convinced him that Born's attempt to regulate the risky derivatives market could lead to financial turmoil, a conclusion he now believes was "clearly a mistake."
Born's battle behind closed doors was epic, Kirk finds.
The members of the President's Working Group vehemently opposed regulation - especially when proposed by a Washington outsider like Born.
"I walk into Brooksley's office one day; the blood has drained from her face," says Michael Greenberger, a former top official at the CFTC who worked closely with Born.
"She's hanging up the telephone; she says to me: 'That was [former Assistant Treasury Secretary] Larry Summers. He says, "You're going to cause the worst financial crisis since the end of World War II"... [He says he has] 13 bankers in his office who informed him of this. Stop, right away. No more.'"
Greenspan, Rubin and Summers ultimately prevailed on Congress to stop Born and limit future regulation of derivatives.
"Born faced a formidable struggle pushing for regulation at a time when the stock market was booming," Kirk says. "Alan Greenspan was the maestro, and both parties in Washington were united in a belief that the markets would take care of themselves."
Now, with many of the same men who shut down Born in key positions in the Obama administration, The Warning reveals the complicated politics that led to this crisis and what it may say about current attempts to prevent the next one.
"It'll happen again if we don't take the appropriate steps," Born warns. "There will be significant financial downturns and disasters attributed to this regulatory gap over and over until we learn from experience."
For video click below image
Return to The 2008 Big Crash


text:
APPEARS IN First Things First
Despite Fake News of Impending Doom, Gun Sales Remain Strong
Gun sales are on a roll, despite what liberal media elites would have you believe. FBI statistics released this week show that more than 2 million background check applications were processed by the National Instant Criminal Background Check System (NICS) in April. During the same time period last year, a record-setting 2,523,265 checks were performed, compared to this year's 2,433,092 checks.
"Anyone looking to proclaim a continuing sales slump would be wrong based on the best number we have as a proxy for firearms sales for April 2017 compared to April 2016," National Shooting Sports Foundation Spokesman Mike Bazinet told the Washington Free Beacon.
The first two months of 2017 saw sales below last year's totals, but those numbers have picked up in March and April. But you likely won't hear that reported in the mainstream media, as they're looking to perpetuate the false narrative that fewer Americans are exercising their right to bear arms.
Woman With Rifle Sends Stalker Scrambling
There are a few ways to enforce a protection order: through the courts, by calling police—or with a rifle. The latter is how a Chickasha, Okla., woman administered hers.
The Express-Star says the woman was granted a final protective order against Larry Grammer in March. But days later, Grammer had called threatening to "come after her" if she didn't turn over the title to a car. Then, he contacted her while sitting outside her home, threatening to kill her for the title.
Finally, last Friday night Grammer was at the woman's house again, and Lieutenant Scott Weaver of the Chickasha Police reported, "Dispatch broadcast the woman had a rifle and was standing on the porch, yelling for Larry to leave. As police units were responding, Larry backed out of the drive and drove away at a high rate of speed." Grammer was tracked down shortly after the encounter and placed under arrest.
Mississippi Governor Encourages 2A Activism
Speaking at a college leadership forum at the NRA Annual Meetings and Exhibits in Atlanta, Ga., over the weekend, Mississippi Gov. Phil Bryant urged students to become Second Amendment activists.
"If you think the Left isn't coming for your guns, look at Australia," Bryant was quoted as saying in a report at Guns.com. "The only thing the Left is upset about, the only thing they fear, is the Second Amendment."
Bryant himself has a history of Second Amendment activism: Last year he signed a measure that made Mississippi a "permitless" carry state, where law-abiding citizens are no longer required to get a permit from government to practice their right to armed self-defense.
"If there's an active shooter at the capitol, I'm not going to hide behind my desk," Bryant added. "I'm going to put some lead downrange on someone."
Demanding Moms Target Texas Carry
Despite the fact that there has been no increase in violence in any of the 13 states that have done away with the requirement that law-abiding citizens obtain a government-issued permit in order to carry a firearm for self-defense, Bloomberg's Demanding Moms are fighting against "permitless" carry in Texas.
"If passed and signed into law, these measures would only make it easier for violent criminals to carry hidden, loaded handguns into public spaces we frequent daily with our families," Demanding Mom Lisa Epstein said in a released statement.
What Epstein and others don't seem to understand—despite the fact that the truth is alluded to in her own statement—is that criminals already carry loaded handguns into "public spaces we frequent daily with our families." They break the law: That's why they are called criminals. This legislation doesn't make that any "easier."
About a million Texans are already licensed to carry loaded handguns in public, with no ill effect. The measures hated by the Demanding Moms simply deregulate the practice of a constitutionally protected right.
The Missourian Publishes Anti-NRA Hate, STL Post-Dispatch Suspends Columnist For Calling Them Out
On April 21, we responded to a hate-filled screed in The Missourian, penned by Missouri School of Journalism Professor Emeritus George Kennedy, in which he compared NRA to ISIS. In response, St. Louis Post-Dispatch columnist Stacy Washington wrote, "… when has a member of the NRA ever decapitated, set on fire, tossed from a rooftop or otherwise terrorized another American? The linkage is not only rife with improper context; it is false on its face. Yet The Missourian saw fit to publish it without question, I believe, because it suits the ideological bent of the opinion editor."
Over the weekend, Washington tweeted that the Post-Dispatch suspended her for her column: "My column on the @NRA being nothing like ISIS got me suspended from @stltoday. …"
The Missourian is now distancing itself from Kennedy's column, calling him a "retired professor" who writes an "unpaid column," and emphasizing that "his views are his own." However, the fact that Kennedy remains while Washington is suspended is further proof of the sorry state of journalism at both The Missourian and the St. Louis Post-Dispatch.
How to Take on Gun-Control's Liars

redpajama_set_name: RedPajamaCommonCrawl


echo weed eater carburetor diagram rebuild problems.
echo weed eater carburetor replacement kit trimmer carb adjustment.
echo weed eater carburetor carb diagram adjustment rebuild.
echo weed eater carburetor i wacker carb adjustment rebuild kit.
echo weed eater carburetor wacker repair carb adjustment trimmer.
echo weed eater carburetor problems carb kit srm 225.
echo weed eater carburetor carb adjustment rebuild kit wacker repair.
echo weed eater carburetor parts wacker adjustment trimmer carb rebuild kit.
echo weed eater carburetor carb diagram kit trimmer rebuild.
echo weed eater carburetor eily carb adjustment kit wacker.
echo weed eater carburetor kit carb adjustment rebuild.
echo weed eater carburetor uretor diagram replacement carb kit.
echo weed eater carburetor trimmer rebuild kit wacker adjustment replacement.
echo weed eater carburetor trimmer carb rebuild kit diagram.
echo weed eater carburetor wacker carb adjustment rebuild kit.
echo weed eater carburetor kit srm 225 diagram.
echo weed eater carburetor carb rebuild problems wacker repair.
echo weed eater carburetor trimmer carb adjustment rebuild kit.
echo weed eater carburetor rebuild trimmer kit replacement.
echo weed eater carburetor kit repair adjustment.
echo weed eater carburetor replacement problems diagram.
echo weed eater carburetor uretor carb rebuild kit repair.
echo weed eater carburetor wacker repair parts carb rebuild.
echo weed eater carburetor uretor rebuild kit repair carb adjustment.
echo weed eater carburetor ca cauretor rebuild kit srm 225 wacker repair.
echo weed eater carburetor adjustment trimmer carb rebuild kit parts.
echo weed eater carburetor trimmer rebuild kit carb adjustment wacker.
echo weed eater carburetor uretor parts repair problems.
echo weed eater carburetor carb kit repair wacker adjustment.
echo weed eater carburetor repair replacement adjustment.
echo weed eater carburetor problems trimmer carb rebuild kit wacker adjustment.
echo weed eater carburetor wacker repair carb adjustment diagram.
echo weed eater carburetor problems kit wacker carb adjustment.
echo weed eater carburetor trimmer carb rebuild kit repair.
echo weed eater carburetor wacker repair adjustment srm 225.
echo weed eater carburetor carb rebuild replacement.
echo weed eater carburetor cauretor 00 parts diagram carb adjustment.
echo weed eater carburetor part rm trimmer carb adjustment srm 225 kit.
echo weed eater carburetor carb diagram replacement wacker adjustment.
echo weed eater carburetor srm 225 parts diagram.
echo weed eater carburetor parts replacement diagram.
echo weed eater carburetor adjustment wacker carb.
echo weed eater carburetor uretor carb adjustment diagram rebuild kit.
echo weed eater carburetor rebuild kit carb adjustment parts.
echo weed eater carburetor parts adjustment srm 225.
echo weed eater carburetor carb adjustment trimmer rebuild.
echo weed eater carburetor carb replacement wacker adjustment rebuild.
echo weed eater carburetor repair srm 225 wacker.
echo weed eater carburetor carb kit diagram wacker adjustment.
echo weed eater carburetor kit srm 225 carb diagram.
echo weed eater carburetor rebuild kit carb diagram wacker adjustment.


Specialized real estate marketing Photography and Video.
Professional real estate photography and video attracts necessary attention and tempt users to click deeper into your online real estate presentation for the perfect first impression.
The right atmospheric photos generate more views in property portal like funda. It also increases prospect leads as a result in better sales opportunities.
Similarly, real estate video marketing has gained huge popularity in recent times. More and more clients make buying decision based on video presentation.
Photography and Video editing for Real Estate Presentation.
At Blinqlab, we provide beautiful, sharp real estate photography for your brochure and online presentation. Along with video editing and enhancement services to real estate owner, agents and brokers. We are passionate to help you and bring high quality & affordable media services to real estate industry.
We offer all products and services to make your real estate presentation stand out from the competition. Choose your individual presentation components from our web shop or select one of our attractive presentation packages.
Get the highest quality photo and video made for your listing. Check our products range below like Property Clip, Walkthrough Video, Height Photography, 360 Photography, Photo Styling and more.


These elephant motif hinged bangles from Halcyon Days make bold use of contrasting colours to create an unusual and eye-catching bangle that's always fun to wear. Made from highly polished enamel accented with sparkling crystals, it's a quirky design with plenty of personality.
https://www.houseofbruar.com/halcyon-days-elephant-motif-hinged-bangle-cy20305creamgold/ CY20305CREAMGOLD Halcyon Days Elephant Motif Hinged Bangle /images/products/medium/CY20305CREAMGOLD.jpg 149.95 GBP gift-jewellery/ These elephant motif hinged bangles from Halcyon Days make bold use of contrasting colours to create an unusual and eye-catching bangle that's always fun to wear. Made from highly polished enamel accented with sparkling crystals, it's a quirky design with plenty of personality.


text:
The Saudi-Iran powerplay behind the Yemen conflict
Nussaibah Younis
Riyadh's decision to launch air strikes against Yemen risks further escalation of its rivalry with Tehran
Sat 28 Mar 2015 20.07 EDT Last modified on Sat 2 Dec 2017 00.54 EST
Houthi rebels show their defiance of Saudi-led airstrikes at a rally in Sanaa, Yemen. Photograph: Hani Mohammed/AP
Saudi Arabian air strikes against the Iran-backed Houthi rebels in Yemen have been touted as the latest escalation in a regional proxy war between Saudi Arabia and Iran. As the two countries continue to train, finance and equip rival militants in the Syrian civil war, and to support opposing sides in Iraq, Bahrain, Lebanon and Yemen, fears have been raised about where this now-militarised regional rivalry could go.
But talk of a proxy war risks over-estimating the level of power Saudi Arabia and Iran wield, and overlooking the local actors who truly shape the conflicts in question. The Houthi movement has been able to advance across Yemen largely because of its alliance with the ancien régime of former president Ali Abdullah Saleh, and because of its ability to tap into disillusionment with the poor performance of the Abd-Rabbu Mansour Hadi government. Though Iran may have helped to hone the effectiveness of the Houthi movement, it is neither the cause of nor a major player in the emerging Yemeni civil war.
That reality, however, is lost on a Saudi Arabia that is so fearful of Iran's mounting influence in the region that it has instigated air strikes that are more likely to exacerbate than to resolve the conflict in neighbouring Yemen.
Saudi Arabian and Iranian threat perceptions are heavily influenced by their fear, suspicion and hatred of each other. This antipathy was born of Iran's 1979 Islamic Revolution, which unleashed a revolutionary Islamist rhetoric that directly challenged the legitimacy of the Saudi Arabian regime, and threated to export the revolution across the Middle East. Khomeini appealed to the oppressed peoples of the region, offering them support to achieve freedom, equality and an end to injustice. Saudi Arabia sought to undercut that rhetoric by highlighting Iran's Shiism, and by promoting intolerant versions of Wahhabi Islam that, among other unsavoury qualities, encourage vitriolic anti-Shia sentiments.
Saudi air strikes that are more likely to exacerbate than to resolve the conflict in neighbouring Yemen
Despite these efforts, Iran was able to achieve astonishing popularity on the Arab street. The regime spoke to the anguish caused by Israel's occupation of Palestine, and the anger harboured towards the west for its role in breaking apart the Arab world after the First World War. With its aggressive anti-western and anti-Israeli rhetoric, its backing of the relatively successful Hezbollah and Hamas, and eloquent support of the victims of Arab authoritarianism, Iran became highly popular in the Arab world. In 2006, Iran achieved approval ratings of around 75% in the Arab and Muslim world, and scored an impressive 85% among the Saudi public.
But its ability to reach Arab audiences did not make Iran feel more secure. Since the US broke formal diplomatic relations with Iran in 1980, it has been subject to the freezing of assets and to numerous iterations of a US-led sanctions regime. During the eight-year Iran-Iraq war the US and the majority of the Arab world supported Iraq, and when the US invaded Afghanistan and Iraq, Iran was openly pointed to as the next country on the list; Iran felt encircled in a Sunni-dominated region.
As a result, when the US occupation of Iraq began to disintegrate, Iran seized the opportunity to bring Iraq into its own sphere of influence. It heavily invested in the arming and financing of numerous militias and political parties across the political landscape. With the Americans overwhelmed and underequipped to deal with Iraqi politics, and the Arab world sulking about the invasion and refusing to talk to the new Iraqi government, the Iranians had free rein.
Saudi Arabia was horrified by the extent of Iranian influence in Iraq, fearing that this upset the entire balance of power in the Middle East, and urged the US to restrain their rival. In a famous Wikileaks cable, the Saudis are reported to have exhorted the US to "cut off the head of the snake" by strengthening sanctions and bombing Iran. Chastened by its misadventures in Iraq, however, the US had no intention of launching another invasion. When popular uprisings began to spread across the Arab world in 2011, Saudi Arabia felt its foundations shake. At its most vulnerable point, it watched as the US withdrew support from longtime ally Hosni Mubarak and choked as it saw anti-regime demonstrations building in neighbouring Bahrain. Seeing Iran's hand behind a legitimate popular opposition movement, Saudi Arabia sent tanks across its causeway with Bahrain to crush the uprising and to prevent Iran from establishing itself on Saudi Arabia's eastern border.
Iran did not create the militias in Iraq; Iraqi Shias joined militias in order to defend themselves and their country
But Saudi Arabia seemed unable to shoot down Iran's rising star. As the Syrian rebels failed over and over again to receive the aid they needed from the international community, Iranian support enabled President Assad's resurgence in the Syrian civil war. And the rise of Isis in Syria and Iraq precluded serious efforts to remove Assad from power, and strengthened Iran's hand as the convener of Iraqi Shia resistance forces in Iraq. Now, as the Iranian-US nuclear negotiations enter their final stage, Saudi Arabia feels that the US has abandoned any attempt to check Iranian power in the Middle East. So if Iran is to be stopped, Saudi Arabia will have to take matters into its own hands – starting with building a coalition to defeat Iran in Yemen.
The problem is, however, that fear of Iran is clouding Saudi Arabia's judgment. Iran is not the root cause of the conflict in Yemen, and bombing the country is not "standing up to Iran"; it is plunging the country further into violence and chaos. Unless bombing is used circumspectly as a tool to bring Houthis to the negotiating table, it is unlikely to have any positive impact on the situation in Yemen.
Seeing the spectre of Iran behind all the challenges that it faces in the Middle East reduces Saudi Arabia's capacity to make sound strategic assessments of the state of play in the region. Iran did not orchestrate the uprisings in Bahrain; local oppressed Bahrainis genuinely came together to call for more rights. And Iran did not create the militias in Iraq; Iraqi Shias voluntarily joined militias in order to defend themselves and their country. Iran seeks to exploit areas where it believes it can expand, and works to bolster local actors who are pursuing genuine grievances so as to increase its own power, influence and leverage. Further oppressing those actors is not the answer.
If Saudi Arabia genuinely wants to undercut Iran's influence in the Middle East, it must acknowledge and address the pain and suffering of marginalised groups across the Middle East. Giving them their rights and bringing them to the negotiating table is the best way to insulate them from Iranian influence.
Dr Nussaibah Younis is a senior research associate at the Project on Middle East Democracy


text:
The Power of Pre-K with Elaine Mendoza
Raise Your Hand Texas > Leadership > The Power of Pre-K with Elaine Mendoza
It's not just students, parents, and educators who recognize the power of high-quality pre-kindergarten, both to building the foundation for learning and for leveling the playing field among student groups for kindergarten readiness. Our new video series features prominent Texans from a variety of industries and perspectives, all speaking to the importance of high-quality, full-day pre-K to Texas students, the educational and workforce pipelines, and the future economy of Texas.
With its Pre-K 4 SA initiative, San Antonio has shown its commitment to the Power of Pre-K to ensure a strong educational and workforce pipeline, as well as, a strong future economy.
Elaine Mendoza leads Conceptual MindWorks, Inc., a biotech and medical software company. She also serves on the Texas A&M University Board of Regents and is Chair of Pre-K 4 SA Board of Directors—which is heavily engaged in improving Texas' educational pipeline from pre-K to college.
Having served on a task force charged with making smart investments to strengthen the San Antonio economy, she says it was clear funding a full-day pre-K for eligible public school students was the best way to address gaps and have the greatest impact.
"This is about economic development and…making sure that we have the workforce of the future," Mendoza said. "There's no better investment that we can make to the resources of our state than investing in our young people."
Learn More About Pre-K
high-quality pre-k, Pre-K
Newsroom Filter
87th Legislative Session
Across the Lawn
Capitol Update
Charles Butt Scholar
Ecosystem of Support
Educator Preparation & Support
Featured: Blended In Action
Intersect Ed
Local Autonomy
Raise Your Hand Texas
State Accountability & Interventions
Student Graduation Paths & Assessments
Voices on Teaching
New Story: Lessons From a Leader's Journey
Leadership, Raising School Leaders
The Power of Pre-K with Wendy Detenbeck
Leadership, Pre-Kindergarten, Raise Your Hand Texas
VOICES FROM THE FIELD: MOTIVATIONAL LEADERSHIP
New Story: I am Paredes Pride
Voices From the Field: Reaching Students and Families Through a Shared Culture
Family Engagement, Leadership
Voices From the Field: Empowering Young Women to Lead
Miller Named Superintendent in Residence
Leadership, Raise Your Hand Texas, Raising Texas Teachers
New Story: Poverty Does Not Define Destiny


text:
import utils
import favourite
import os
import xbmc

ROOT     = utils.ROOT
FILENAME = utils.FILENAME

def getDefaultSearch():
    file  = os.path.join(ROOT, 'S', FILENAME)
    faves = favourite.getFavourites(file)

    if len(faves) > 0:
        return faves[0]

    return None

redpajama_set_name: RedPajamaGithub


text:
Q: Can't disable old peer-to-peer network on Mac OS High Sierra About a year ago, I had to lend my MacBook to a networking guy for a presentation and he created a peer-to-peer network on my Mac. The problem is I don't need it any more but my Mac keeps broadcasting it and it keeps showing up everywhere, on my Mac, on my Apple TV and all other devices. I can't find this network anywhere in the ad-hoc networks on my Mac and or the computer-to-computer networks. This is super frustrating and any help would be appreciated. I don't want an unprotected network with access to my laptop floating about. Here are some screenshots to show what I'm dealing with:
The offending network:

Can't be seen in WiFi networks:

Can't be seen in sharing:

A: 802.11 IBSS networks (often called "ad hoc" networks by many vendors, and called "computer-to-computer" networks by Apple) are designed to be propagated by any device that joins the network, even after the original device — the one  that initiated the network — leaves it.
Your Mac is not associated to that IBSS right now (when you took the screenshot), so it is not propagating it. So some other device, in radio range of you, must have joined it at some point and is now propagating it. Go find that other device and fix it.

redpajama_set_name: RedPajamaStackExchange


of Pediatric Dentistry and Orthodontics of Midland Park. Providing specialized dentistry for children and adolescents in a warm, caring, family-friendly environment, the practice welcomes patients from neighborhoods in and around Midland Park, New Jersey.
Dr. Mario Ramos and Dr. Carmine Russo lead the practice of four pediatric dentists and two orthodontists; and, have a reputation for providing compassionate care for the area's youngest patients.
Dr. Mario Ramos is a Board Certified Pediatric Dentist and a graduate of the Rutgers School of Dental Medicine and the Harvard School of Dental Medicine-Boston's Children's Hospital, where he received his pediatric dental specialty training. He is an Adjunct Clinical Associate Professor of Pediatric Dentistry at the Rutgers School of Dental Medicine, and formerly served as President of the National Hispanic Dental Association. Dr. Ramos has been chosen by his peers every year as a Top Dentist in Pediatric Dentistry in New Jersey Monthly magazine.
"The impressive team at Pediatric Dentistry and Orthodontics of Midland Park is renowned for creating what is often the very first dental health care experience for many patients," stated David Pegg, Chief Development Officer for Dental Care Alliance. "This is a unique opportunity and is critical to ensuring confidence and comfort for young ladies and gentlemen who are learning to take care of their dental health. We could not be any prouder to be partnered with Drs. Ramos and Russo and their terrific team."
Founded in 1991 and headquartered in Sarasota, FL, Dental Care Alliance supports more than 300 affiliated dental practices in 19 states, making it one of the largest multi-branded dental support organizations in the country. DCA-affiliated practices provide a full suite of dental services, including general dentistry, hygiene, pediatric dentistry, orthodontics, endodontics, periodontics and oral surgery. DCA's mission is to improve the practice of dentistry by partnering with and supporting dental professionals, so they can create a lifetime of healthy smiles for their patients.


I was looking for some speakers and I chance upon this Jawbone JAMBOX Wireless Bluetooth Speaker (red one) through Amazon.
It's a packaged nicely. I like that it's red so it wouldn't go missing that easily.
They bought all 3 together! For even superior quality!


text:
Manuel Gregorio Tavárez Ropero (November 16, 1843<ref>[http://www.enciclopediapr.org/ing/article.cfm?ref=09072202&highlight=%2BManuel%20%2BGregorio%20%2BTavarez Manuel Gregorio Tavarez.]  Encyclopedia Puerto Rico. Retrieved July 8, 2013.</ref> – July 1, 1883), was Puerto Rico's classical and danza composer. He has been called "The Chopin of America".

Early years
Tavárez was born in San Juan, Puerto Rico, the son of a French father and a Puerto Rican mother. San Juan was the city where he first began his musical studies. His first musical mentors were José Cabrizas and Domingo Delgado. Tavárez was a student of Gonzalo de J. Núñez (1850 – 1915), whose students also included the internationally known musicians and composers Juan Morel Campos and Arístides Chavier Arévalo. Tavárez became an accomplished pianist at an early age. He was able to enroll and study music in the Music Conservatory of Paris at the age of 15 with a scholarship granted by "The Economic Society of Friends of Puerto Rico" (La Sociedad Económica Amigos del Pais).  Tavárez studied under the guidance of Auber and D'Albert. While in France, Tavárez suffered a stroke which left his hand partially paralyzed.

Tavárez returned to Puerto Rico because of his health problems. He settled down in Ponce where he gave piano lessons.  He was able to overcome his health problems and began to put on musical concerts of his compositions.

"Father of the Puerto Rican Danza"
Tavárez is considered to be Puerto Rico's first Romantic era composer. He also composed music in other genres as well. Among his best known works was the funeral march Redención (Redemption), dedicated to the memory of José Campeche; the rhapsody Souvenir de Puerto Rico, and his danzas Recuerdos de Antaño (Remembrance of Yesteryear) and what is considered his greatest work, the danza Margarita. The music created by Tavárez would always be recognized as an integral part of Puerto Rican culture. Tavárez is known as the "Father of the Puerto Rican Danza". Among his most distinguished disciples was the composer Juan Morel Campos. His daughter Elisa Tavárez would also become an accomplished pianist.

Death
Manuel Gregorio Tavárez Ropero died on July 1, 1883 in the city of Ponce, Puerto Rico. He was 39 years old.

Selection of Danzas by Tavárez

The following is a list of some of Tavárez's Danzas:
La Sensitiva (The sensitive one)
La Margarita
Recuerdos de Antaño (Remembrance of Yesteryear)
Redención (Redemption)
Souvener de Puerto Rico
Un Recuerdito (A small remembrance)

Honors and recognitions
Tavárez has been honored by the Government of Puerto Rico with the naming of public buildings and institutions after him.  In San Juan, there is a theater named after him.  His music can still be appreciated in concerts today. In Ponce, he is recognized at the Ponce Park of the Illustrious Ponce Citizens.

See also

List of Puerto Ricans
French immigration to Puerto Rico

References

Revista Instituto de Cultura Puertorriqueña (in Spanish)

1843 births
1883 deaths
Puerto Rican composers
Puerto Rican male composers
Puerto Rican people of French descent
Burials at Panteón Nacional Román Baldorioty de Castro
Musicians from Ponce
Male composers
19th-century American composers
19th-century American male musicians

redpajama_set_name: RedPajamaWikipedia


Mikey Pauker – Mikey Pauker Performs at Red Rocks w/ Rebelution, Stephen Marley, Chronixx and More!!
« Mikey Signs with Madison House!!
Mikey Pauker Performs at Red Rocks w/ Rebelution, Stephen Marley, Chronixx and More!!
Colorado! It's a dream come true for me to announce that I will be playing Red Rocks Park and Amphitheatre for this year's Reggae on the Rocks Aug. 26 with Rebelution, Stephen Marley, Chronixx, Common Kings, Through The Roots, Zion I and DJ Mackle.
This entry was posted on Tuesday, March 27th, 2018 at 8:02 pm and is filed under Uncategorized.	You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.


BT have announced that they'll be broadcasting FIFA 17 matches live on television after winning rights to show the remaining four EA FIFA Majors in this year's Ultimate Team Championship Series. Cos, ya know, there's not enough live football on TV these days.
For the first time ever, BT will start broadcasting the international regional finals in March with the winner of the Ultimate Championship Series getting a six-figure sum. For playing Fifa. Mental, right? But not as mental as putting it live on TV for the world to watch. We like the idea of a global audience watching a menu screen after a player realises he's got Pro Evo buttons still set up and needs to change them. Although it's probably more organised than that.
The remaining four EA FIFA Majors will all be screened live, starting next month with the North American regional final in Vancouver on 8 April. That will be followed by the Asia-Pacific regional final in Singapore on 22 April, the European regional final in Madrid on 6 April and the FIFA 17 Ultimate Team Championship Final in Berlin on 20 and 21 May. The winner of this year's series stands to win nearly £130,000, while the runner-up will receive almost £65,000. Modern football, eh? Ah well, drinking FIFA just got a bit more interesting.
BT Sport Films To Screen "Golazzo: The Football Italia Story"


text:
2019 SAA Championship
Men's Soccer on Facebook
Men's Soccer on Twitter
Friends of OU Men's Soccer
Marcano earns weekly award as SAA's best offensive player
Senior forward Ryan Marcano of the Oglethorpe men's soccer team has been named the SAA Men's Soccer Offensive Player of the Week for his efforts in the team's victories over Claremont-M-S and Pomona-Pitzer at Emory's Sonny Carter Invitational.
Marcano got his season off to an outstanding start as the Petrels finished first in the four-team event. The Stormy Petrel forward scored in both games, tallying the opening goal in the team's 2-1 extra-time win over Claremont-M-S and scoring the second in the Petrels' 4-0 rout of Pomona-Pitzer. He fired five total shots over the course of the weekend and put three of them on goal.
He and the rest of the Petrels will be back in action Friday and Sunday. They'll head back to Emory's Woodruff PE Center Friday evening at 7 p.m. to take on the crosstown-rival Eagles. They'll then host Gordon in their home opener Sunday at 6 p.m.


text:
Review of the 7 and 8 Bus Services
September 27, 2013 by Editor · Leave a Comment
Essex County Council would like to hear your views as it starts a review of its Bus Strategy and how it provides financial support to local bus services.
In this challenging economic climate it is very important that we focus our expenditure where it is really needed to ensure value for money for residents.
This review will help to ensure that the bus services provided by the County Council meet, as far as possible, the essential needs of Essex. The outcome of the review will help to decide what types of service will be supported in future.
This first consultation stage is designed to help us understand which types of supported bus service you value most. Individual services are not being considered for change at this stage. You will have the opportunity at a later stage to give your views on any proposed changes to individual services that may result from the review.
To respond online, please click here to answer the survey. The Survey is open until 9 December 2013.
PLEASE NOTE THAT A BUS SUBSIDY OF £100,000 HAS BEEN AGREED TO BE OBTAINED FROM BARRATTS FOR CLEMENTS GATE. THIS IS UNDER THE CONTROL OF ESSEX COUNTY COUNCIL.
Here is an extract from the Section 106 Agreement;
"The County Council hereby covenants with the Owner and the Developer to place the Contribution [£100,000.00] into the Contribution account and to utilise the principal and interest solely to subsidise the provision of a bus service between Rochford and Rayleigh passing the Application Site on Rectory Road as the Engineer considers necessary or other bus service connecting Hawkwell with one or more of Rayleigh Rochford or Southend (in respect of which the Engineer shall consult with the Developer before making his decision) the unexpended balance of principal and interest on which account at the tenth (10th) anniversary of the receipt of the said Contribution in cleared funds after appropriate provision has been made for sums committed to be expended by the County Council prior to the said anniversary but not yet paid on the said anniversary shall be returned to the Payers"
If Essex County Council remove or reduce the subsidy on the Number 8 Service then we would expect ECC to use the above funding in substitution.
With regard to the 7 Service running through Hawkwell South or Hawkwell North Wards we will support any initiative taken by Hawkwell Parish Council or the District Ward Members for Hawkwell South or Hawkwell North to keep subsidised services.
Information on bus services from http://onlinefocus.org/
In Hockley, Hawkwell and Ashingdon Essex County Council subsidises the following services:
7 – ECC subsidises three services per hour between approx 0900 and 1500 to extend from Ashingdon Schools to Hockley Spa
8 – ECC subsidises one service per hour between approx 0900 and 1500 to extend from Golden Cross to Hockley Spa
If subsidies for extending weekday bus services beyond Ashingdon Schools / Golden Cross were cut there would only be an hourly service on the number 8 via Hawkwell and a half-hourly service between Hockley and Southend compared to every ten minutes at present.
PLEASE COMPLETE THE SURVEY IF YOU WISH TO SAVE THESE SERVICES
7 – ECC subsidises the 1829 (1820) journey from Rayleigh to Southend
If this was cut there would be a one and a half hour gap between the last number 8 and the next number 7, or a two hour gap between services if the number 8 service were also cut.
8 – ECC subsidises the whole number 8 timetable between Southend and Rayleigh.
email your County Councillor cllr.Terry.Cutmore@essex.gov.uk
Filed Under: Hawkwell News, slides
Tagged: 7 bus, 8 bus, arriva, bus services, christmas tree farm, ECC, Essex News, future bus services, Hawkwell, hawkwell west, Hockley, independent, independent councillor, John Mason, Rochford District Council
Bus Cuts Extra
April 21, 2009 by Editor · Leave a Comment
Essex County Council has now conveyed a decision not to provide an evening service on the Arriva 8 to Hawkwell.
Here are a few quotes from an Essex County Council email which was sent to me in 2003 to explain why Ashingdon has a good bus service but Hawkwell has none. It still makes no sense to me reading it again 6 years later.
"Under the Essex Road Passenger Transport Strategy , Ashingdon counts as a rural parish with a population of 2937 (1991 census, updated 1998). This means that it falls into category 5 and should ideally have an hourly service (minimum 8 return journeys) 6 days per week and at least 2 return journeys on Sundays. It should be noted that this is a minimum service level and a higher service level can be provided if this is deemed necessary. In the event, the economics of running a service on the existing half hourly pattern meant that the benefit to doing so instead of reducing it to hourly was deemed to outweigh the cost. (Vehicle and driver commitment over the day makes up a large part of the fixed cost of a service and extra trips are then possible on marginal cost alone)"
So the reason for the evening 7 being half hourly rather than hourly as prescribed by policy is clearly explained by the economic model referred to.
It seems to me that the issue upon which bus services for Hawkwell revolves is the status of Hawkwell bus routes under ECC Policy.
"Hawkwell, with a population of 10,667 falls outside the definition of a 'rural area' adopted by the County from national governments definitions of a rural area for its Rural Bus Grants. Hawkwell is therefore treated as an urban area under the RPTS and looked at in association with the major settlements. Minimum services in urban areas are based on a corridor approach, with minimum service levels supported down specific named corridors (a similar system applied to interurban routes). As an example, for Rayleigh, the route between Hockley and the Town Centre is specified as requiring a 30 minute frequency in the peaks, and 60 minutes at other times. Should the commercial provision fall below this level, the County would in principal look to intervene to support it. (There are other limiting factors such as a maximum subsidy per passenger journey of £5 which would also apply.)"
"Unfortunately no route is specified in this way for Hawkwell [eg.,it is not a specific named corridor] so in principle, under the ERPTS, the County Council is not obliged to cover the withdrawal of commercial services in this area.
So the answer lies, in my opinion, in getting ECC to specify the Hawkwell Section of the 8 a "specific named corridor" following which ECC is obliged to cover the withdrawal of commercial services in this area both day time and evening.
It make no sense to me that Hawkwell with a population 5 times the size of Ashingdon has no evening bus service whereas Ashingdon has a bus every half hour.
And there is the ridiculous situation that there is only one day time bus per hour to the Rochford District's flagship Leisure Centre which is in Hawkwell on the bus route and no buses at all in the evening. Surely this is enough alone to warrant the Hawkwell bus route being a "specific named corridor."
Our County Councillors need to get together and sort out the red tape that is such a nonsense to any sane mind.
Tagged: bus cuts, bus routes, bus service, bus services, category 5, corridors, economic model, Essex News, essex road, evening service, fixed cost, Hockley, marginal cost, national governments, return journeys, road passenger transport, rpts, rural area, transport strategy, urban area


text:
//
//  OALAudioTrack.m
//  ObjectAL
//
//  Created by Karl Stenerud on 10-08-21.
//
//  Copyright (c) 2009 Karl Stenerud. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall remain in place
// in this source code.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR 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.
//
// Attribution is not required, but appreciated :)
//

#import "OALAudioTrack.h"
#import "OALAudioActions.h"
#import "OALAudioTracks.h"
#import "OALTools.h"
#import "OALUtilityActions.h"
#import "ObjectALMacros.h"
#import "ARCSafe_MemMgmt.h"

#if __CC_PLATFORM_ANDROID
#import <BridgeKitV3/AndroidMediaPlayer.h>
#import <BridgeKitV3/AndroidAssetFileDescriptor.h>
#import "CCActivity.h"
#endif

#pragma mark Asynchronous Operations

/** \cond */
/**
 * (INTERNAL USE) NSOperation for running an audio operation asynchronously.
 */
@interface OAL_AsyncAudioTrackOperation: NSOperation
{
	/** The audio track object to perform the operation on */
	OALAudioTrack* audioTrack;
	/** The URL of the sound file to play */
	NSURL* url;
	/** The seekTime of the sound file */
	NSTimeInterval seekTime;
	/** The target to inform when the operation completes */
	id target;
	/** The selector to call when the operation completes */
	SEL selector;
}

/** (INTERNAL USE) Create a new Asynchronous Operation.
 *
 * @param track the audio track to perform the operation on.
 * @param seekTime the position in the file to start playing at.
 * @param url the URL containing the sound file.
 * @param target the target to inform when the operation completes.
 * @param selector the selector to call when the operation completes.
 */
+ (id) operationWithTrack:(OALAudioTrack*) track url:(NSURL*) url seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector;

/** (INTERNAL USE) Initialize an Asynchronous Operation.
 *
 * @param track the audio track to perform the operation on.
 * @param seekTime the position in the file to start playing at.
 * @param url the URL containing the sound file.
 * @param target the target to inform when the operation completes.
 * @param selector the selector to call when the operation completes.
 */
- (id) initWithTrack:(OALAudioTrack*) track url:(NSURL*) url seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector;

@end

@implementation OAL_AsyncAudioTrackOperation

+ (id) operationWithTrack:(OALAudioTrack*) track url:(NSURL*) url seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector
{
	return as_autorelease([[self alloc] initWithTrack:track url:url seekTime:seekTime target:target selector:selector]);
}

- (id) initWithTrack:(OALAudioTrack*) track url:(NSURL*) urlIn seekTime:(NSTimeInterval)seekTimeIn target:(id) targetIn selector:(SEL) selectorIn
{
	if(nil != (self = [super init]))
	{
		audioTrack = as_retain(track);
		url = as_retain(urlIn);
		seekTime = seekTimeIn;
		target = targetIn;
		selector = selectorIn;
	}
	return self;
}

- (void) dealloc
{
	as_release(audioTrack);
	as_release(url);
    as_superdealloc();
}

@end

/**
 * (INTERNAL USE) NSOperation for playing an audio file asynchronously.
 */
@interface OAL_AsyncAudioTrackPlayOperation : OAL_AsyncAudioTrackOperation
{
	/** The number of times to loop during playback */
	NSInteger loops;
}

/**
 * (INTERNAL USE) Create an asynchronous play operation.
 *
 * @param track the audio track to perform the operation on.
 * @param url The URL of the file to play.
 * @param loops The number of times to loop playback (-1 = forever).
 * @param target The target to inform when playback finishes.
 * @param selector the selector to call when playback finishes.
 * @return a new operation.
 */
+ (id) operationWithTrack:(OALAudioTrack*) track url:(NSURL*) url loops:(NSInteger) loops target:(id) target selector:(SEL) selector;

/**
 * (INTERNAL USE) Initialize an asynchronous play operation.
 *
 * @param track the audio track to perform the operation on.
 * @param url The URL of the file to play.
 * @param loops The number of times to loop playback (-1 = forever).
 * @param target The target to inform when playback finishes.
 * @param selector the selector to call when playback finishes.
 * @return The initialized operation.
 */
- (id) initWithTrack:(OALAudioTrack*) track url:(NSURL*) url loops:(NSInteger) loops target:(id) target selector:(SEL) selector;

@end

@implementation OAL_AsyncAudioTrackPlayOperation

+ (id) operationWithTrack:(OALAudioTrack*) track url:(NSURL*) url loops:(NSInteger) loops target:(id) target selector:(SEL) selector
{
	return as_autorelease([[self alloc] initWithTrack:track url:url loops:loops target:target selector:selector]);
}

- (id) initWithTrack:(OALAudioTrack*) track url:(NSURL*) urlIn loops:(NSInteger) loopsIn target:(id) targetIn selector:(SEL) selectorIn
{
	if(nil != (self = [super initWithTrack:track url:urlIn seekTime:0 target:targetIn selector:selectorIn]))
	{
		loops = loopsIn;
	}
	return self;
}

- (id) initWithTrack:(OALAudioTrack*) track url:(NSURL*) urlIn target:(id) targetIn selector:(SEL) selectorIn
{
	return [self initWithTrack:track url:urlIn loops:0 target:targetIn selector:selectorIn];
}

- (void)main
{
	[audioTrack playUrl:url loops:loops];
	[target performSelectorOnMainThread:selector withObject:audioTrack waitUntilDone:NO];
}

@end

/**
 * (INTERNAL USE) NSOperation for preloading an audio file asynchronously.
 */
@interface OAL_AsyncAudioTrackPreloadOperation : OAL_AsyncAudioTrackOperation
{
}

@end

@implementation OAL_AsyncAudioTrackPreloadOperation

- (void)main
{
	[audioTrack preloadUrl:url seekTime:seekTime];
	[target performSelectorOnMainThread:selector withObject:audioTrack waitUntilDone:NO];
}

@end

#pragma mark -
#pragma mark Private Methods

/**
 * (INTERNAL USE) Private interface to OALAudioTrack.
 */
@interface OALAudioTrack (Private)

/** (INTERNAL USE) Called by SuspendHandler.
 */
- (void) setSuspended:(bool) value;

@end
/** \endcond */

#pragma mark -
#pragma mark AudioTrack

@implementation OALAudioTrack

#pragma mark Object Management

+ (id) track
{
	return as_autorelease([[self alloc] init]);
}

- (id) init
{
	if(nil != (self = [super init]))
	{
		OAL_LOG_DEBUG(@"%@: Init", self);

		suspendHandler = [[OALSuspendHandler alloc] initWithTarget:self selector:@selector(setSuspended:)];

		operationQueue = [[NSOperationQueue alloc] init];
		operationQueue.maxConcurrentOperationCount = 1;
		gain = 1.0f;
		numberOfLoops = 0;
		currentTime = 0.0;

#if __CC_PLATFORM_ANDROID
        // We have to manually pause tracks
        suspended = NO;
#endif
		[[OALAudioTracks sharedInstance] notifyTrackInitializing:self];
		[[OALAudioTracks sharedInstance] addSuspendListener:self];
	}
	return self;
}

- (void) dealloc
{
	OAL_LOG_DEBUG(@"%@: Dealloc", self);
	[[OALAudioTracks sharedInstance] removeSuspendListener:self];
	[[OALAudioTracks sharedInstance] notifyTrackDeallocating:self];

#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
    player.delegate = nil;
#elif __CC_PLATFORM_ANDROID
    [player setOnCompletionListener:nil];
#endif
    [player stop];

	as_release(player);
	as_release(operationQueue);
	as_release(currentlyLoadedUrl);
	as_release(simulatorPlayerRef);
	[gainAction stopAction];
	as_release(gainAction);
	[panAction stopAction];
	as_release(panAction);
	as_release(suspendHandler);
	as_superdealloc();
}

- (NSString*) description
{
	return [NSString stringWithFormat:@"<%@: %p: %@>", [self class], self, [currentlyLoadedUrl lastPathComponent]];
}

#pragma mark Properties

@synthesize currentlyLoadedUrl;
@synthesize autoPreload;

@synthesize preloaded;

#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
- (id<AVAudioPlayerDelegate>) delegate
{
    return delegate;
}

- (void) setDelegate:(id<AVAudioPlayerDelegate>) value
{
    delegate = value;
}
#elif __CC_PLATFORM_ANDROID
- (id) delegate
{
    return delegate;
}

- (void) setDelegate:(id) value
{
    delegate = value;
}

- (void) _updateVolume {
    float right = 0;
    float left = 0;
    if (muted) {
        left = 0;
        right = 0;
    } else {
        // Constant power panning
        float piovr2 = 4.0f * atanf(1.0) * 0.5f;
        float root2ovr2 = sqrtf(2.0) * 0.5f;
        float thispos = pan * piovr2;
        float angle = thispos * 0.5f;
        left = root2ovr2 * (cosf(angle) - sinf(angle));
        right = root2ovr2 * (cosf(angle) + sinf(angle));
        left *= gain;
        right *= gain;
    }
    [player setVolume:left rightVolume:right];
}

@bridge (callback) onCompletion: = onCompletion;
- (void)onCompletion:(AndroidMediaPlayer *)mp {
    if (mp != player) {
        return;
    }
    if (numberOfLoops > 0) {
        [player start];
        numberOfLoops--;
    }
}

#endif

- (float) pan
{
    return pan;
}

- (void) setPan:(float) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
        pan = value;
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
        player.pan = pan;
#elif __CC_PLATFORM_ANDROID
        [self _updateVolume];
#endif
	}
}

- (float) volume
{
	return self.gain;
}

- (float) gain
{
    return gain;
}

- (void) setVolume:(float) value
{
	self.gain = value;
}

- (void) setGain:(float) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		gain = value;
		if(muted)
		{
			value = 0;
		}
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		player.volume = value;
#elif __CC_PLATFORM_ANDROID
        [self _updateVolume];
#endif
	}
}

- (bool) muted
{
    return muted;
}

- (void) setMuted:(bool) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		muted = value;
		if(muted)
		{
			[self stopActions];
		}
		// Force a re-evaluation of gain.
		[self setGain:gain];
	}
}

- (NSInteger) numberOfLoops
{
    return numberOfLoops;
}

- (void) setNumberOfLoops:(NSInteger) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		player.numberOfLoops = numberOfLoops = value;
#elif __CC_PLATFORM_ANDROID
        numberOfLoops = value;
        if (value == -1) {
            [player setLooping:YES];
        }
#endif
	}
}

- (bool) paused
{
    return paused;
}

- (void) setPaused:(bool) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		if(paused != value)
		{
			paused = value;
			if(paused)
			{
				OAL_LOG_DEBUG(@"%@: Pause", self);
				[player pause];
				if(playing)
				{
					[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:)
																		   withObject:[NSNotification notificationWithName:OALAudioTrackStoppedPlayingNotification object:self] waitUntilDone:NO];
				}
			}
			else if(playing)
			{
				OAL_LOG_DEBUG(@"%@: Unpause", self);
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
				playing = [player play];
#elif __CC_PLATFORM_ANDROID
                [player start];
				playing = [player isPlaying];
#endif
				if(playing)
				{
					[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:)
																		   withObject:[NSNotification notificationWithName:OALAudioTrackStartedPlayingNotification object:self] waitUntilDone:NO];
				}
			}
		}
	}
}

@synthesize player;

@synthesize playing;

- (NSTimeInterval) currentTime
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		return (nil == player) ? currentTime : player.currentTime;
#elif __CC_PLATFORM_ANDROID
        if (player.isPlaying) {
            return [self deviceCurrentTime];
        }
        return currentTime;
#endif
	}
}

- (void) setCurrentTime:(NSTimeInterval) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		currentTime = value;
		if(nil != player)
		{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
			player.currentTime = currentTime;
#elif __CC_PLATFORM_ANDROID
            [player seekToMsec:(int)(value * 1000)];
#endif
		}
	}
}

- (NSTimeInterval) deviceCurrentTime
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
        return player.deviceCurrentTime;
#elif __CC_PLATFORM_ANDROID
        return ((NSTimeInterval) [player currentPosition]) / 1000;
#endif
	}
}

- (NSTimeInterval) duration
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		return player.duration;
	}
}

- (NSUInteger) numberOfChannels
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
        return player.numberOfChannels;
#elif __CC_PLATFORM_ANDROID
#warning FIXME need trackInfo / getFormat / MediaFormat / KEY_CHANNEL_COUNT
        return (NSUInteger) 2;
#endif
	}
}

#pragma mark Suspend Handler

- (void) addSuspendListener:(id<OALSuspendListener>) listenerIn
{
	[suspendHandler addSuspendListener:listenerIn];
}

- (void) removeSuspendListener:(id<OALSuspendListener>) listenerIn
{
	[suspendHandler removeSuspendListener:listenerIn];
}

- (bool) manuallySuspended
{
	return suspendHandler.manuallySuspended;
}

- (void) setManuallySuspended:(bool) value
{
	suspendHandler.manuallySuspended = value;
}

- (bool) interrupted
{
	return suspendHandler.interrupted;
}

- (void) setInterrupted:(bool) value
{
	suspendHandler.interrupted = value;
}

- (bool) suspended
{
	return suspendHandler.suspended;
}

- (void) setSuspended:(bool) value
{
	/* Suspend gets a bit complicated here.
	 * If multiple AVAudioPlayers are playing when an interrupt begins,
	 * only one of them will resume when the interrupt finishes.
	 * To counter this, we destroy the player and rebuild it on resume.
	 *
	 * Note: This has the unfortunate side effect that the OALAudioTrack
	 * using hardware playback on resume may not be the same one!
	 *
	 * TODO: Need to find a way to avoid this situation.
	 */
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
	OPTIONALLY_SYNCHRONIZED(self)
	{
        if(value)
        {
            if(preloaded)
            {
                currentTime = player.currentTime;
                if(self.playing)
                {
                    [player stop];
                }
            }
        }
        else
        {
            if(preloaded)
            {
                NSError* error = nil;
                as_release(player);
                player = [[AVAudioPlayer alloc] initWithContentsOfURL:currentlyLoadedUrl error:&error];
                if(nil == player)
                {
                    OAL_LOG_ERROR(@"%@: Could not reload URL %@: %@",
                                  self, currentlyLoadedUrl, [error localizedDescription]);
                    as_release(player);
                    player = nil;
                    preloaded = NO;
                    playing = NO;
                    paused = NO;
                    return;
                }

                player.volume = muted ? 0 : gain;
                player.numberOfLoops = numberOfLoops;
                player.meteringEnabled = meteringEnabled;
                player.delegate = self;
                player.pan = pan;

                player.currentTime = currentTime;

                if(![player prepareToPlay])
                {
                    OAL_LOG_ERROR(@"%@: Failed to prepareToPlay on resume: %@", self, currentlyLoadedUrl);
                    as_release(player);
                    player = nil;
                    preloaded = NO;
                    playing = NO;
                    paused = NO;
                    return;
                }

                if(playing)
                {
                    playing = [player play];
                    if(paused)
                    {
                        [player pause];
                    }
                }
            }
        }

        /*
        if(value)
        {
            if(self.playing && !self.paused)
            {
                currentTime = player.currentTime;
                [player pause];
            }
        }
        else
        {
            if(self.playing && !self.paused)
            {
                player.currentTime = currentTime;
                [player play];
            }
        }
         */
    }
#elif __CC_PLATFORM_ANDROID
	OPTIONALLY_SYNCHRONIZED(self)
    {
        if (value) {
            if ([player isPlaying]) {
                [player pause];
                suspended = YES;
            }
        } else {
            if (suspended) {
                [player start];
                suspended = NO;
            }
        }
    }
#endif
}

#pragma mark Playback

- (bool) preloadUrl:(NSURL*) url
{
	return [self preloadUrl:url seekTime:0];
}

#if __CC_PLATFORM_ANDROID
- (void) _setPreloaded:(BOOL)value {
    preloaded = value;
}
#endif

- (bool) preloadUrl:(NSURL*) url seekTime:(NSTimeInterval)seekTime
{
	if(nil == url)
	{
		OAL_LOG_ERROR(@"%@: Cannot open NULL file / url", self);
		return NO;
	}

	OPTIONALLY_SYNCHRONIZED(self)
	{
		// Bug: No longer re-using AVAudioPlayer because of bugs when using multiple players.
		// Playing two tracks, then stopping one and starting it again will cause prepareToPlay to fail.

		bool wasPlaying = playing;

		[self stopActions];

		if(playing || paused)
		{
			[player stop];
		}

		as_release(player);

		if(wasPlaying)
		{
			[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackStoppedPlayingNotification object:self] waitUntilDone:NO];
		}

#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		NSError* error = nil;
		player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
		if(nil != error)
		{
			OAL_LOG_ERROR(@"%@: Could not load URL %@: %@", self, url, [error localizedDescription]);
			return NO;
		}

		player.volume = muted ? 0 : gain;
		player.numberOfLoops = numberOfLoops;
		player.meteringEnabled = meteringEnabled;
		player.delegate = self;
        player.pan = pan;

#elif __CC_PLATFORM_ANDROID
        NSURL *fullURL = [OALTools urlForPath:[url relativeString]];
        NSString *path = [fullURL path];
        NSString *bundlePath = [[NSBundle mainBundle] bundlePath];

        if ([path hasPrefix:bundlePath]) {
            NSUInteger bundlePathLength = [bundlePath length] + 1;
            path = [path substringWithRange:NSMakeRange(bundlePathLength, [path length] - bundlePathLength)];
        }

        if (![[NSFileManager defaultManager] fileExistsAtPath:path]){
            OAL_LOG_ERROR(@"%@ Could not find file at path:%@", self, path);
            return NO;
        }
        player = [[AndroidMediaPlayer alloc] init];
        AndroidAssetFileDescriptor *assetFd = [[[CCActivity currentActivity] assets] openFdWithFileName:path];
        if (assetFd.fileDescriptor && [assetFd.fileDescriptor valid]) {
            [player reset];
            [player setDataSource:assetFd.fileDescriptor offset:assetFd.startOffset length:assetFd.length];
            [player prepare];
        } else {
            [player setDataSourceByPath:[url absoluteString]];
            [player prepareAsync];
        }
        if (assetFd) {
            [assetFd close];
        }

        [player setOnCompletionListener:self];
#endif
		as_release(currentlyLoadedUrl);
		currentlyLoadedUrl = as_retain(url);

		self.currentTime = seekTime;
		playing = NO;
		paused = NO;

#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		BOOL allOK = [player prepareToPlay];
		if(!allOK)
		{
			OAL_LOG_ERROR(@"%@: Failed to prepareToPlay: %@", self, url);
		}
		else
		{
			[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackSourceChangedNotification object:self] waitUntilDone:NO];
		}
		preloaded = allOK;
		return allOK;
#elif __CC_PLATFORM_ANDROID
		[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackSourceChangedNotification object:self] waitUntilDone:NO];
        return YES;
#endif
	}
}

- (bool) preloadFile:(NSString*) path
{
	return [self preloadFile:path seekTime:0];
}

- (bool) preloadFile:(NSString*) path seekTime:(NSTimeInterval)seekTime
{
	return [self preloadUrl:[OALTools urlForPath:path] seekTime:seekTime];
}

- (bool) preloadUrlAsync:(NSURL*) url target:(id) target selector:(SEL) selector
{
	return [self preloadUrlAsync:url seekTime:0 target:target selector:selector];
}

- (bool) preloadUrlAsync:(NSURL*) url seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		[operationQueue addOperation:[OAL_AsyncAudioTrackPreloadOperation operationWithTrack:self url:url seekTime:seekTime target:target selector:selector]];
		return NO;
	}
}

- (bool) preloadFileAsync:(NSString*) path target:(id) target selector:(SEL) selector
{
	return [self preloadFileAsync:path seekTime:0 target:target selector:selector];
}

- (bool) preloadFileAsync:(NSString*) path seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector
{
	return [self preloadUrlAsync:[OALTools urlForPath:path] seekTime:seekTime target:target selector:selector];
}

- (bool) playUrl:(NSURL*) url
{
	return [self playUrl:url loops:0];
}

- (bool) playUrl:(NSURL*) url loops:(NSInteger) loops
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		if([self preloadUrl:url])
		{
			self.numberOfLoops = loops;
			return [self play];
		}
		return NO;
	}
}

- (bool) playFile:(NSString*) path
{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
	return [self playUrl:[OALTools urlForPath:path]];
#elif __CC_PLATFORM_ANDROID
	return [self playUrl:[NSURL fileURLWithPath:path]];
#endif
}

- (bool) playFile:(NSString*) path loops:(NSInteger) loops
{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
	return [self playUrl:[OALTools urlForPath:path] loops:loops];
#elif __CC_PLATFORM_ANDROID
    NSURL *url = [NSURL fileURLWithPath:path];
	return [self playUrl:[NSURL fileURLWithPath:path] loops:loops];
#endif
}

- (void) playUrlAsync:(NSURL*) url target:(id) target selector:(SEL) selector
{
	[self playUrlAsync:url loops:0 target:target selector:selector];
}

- (void) playUrlAsync:(NSURL*) url loops:(NSInteger) loops target:(id) target selector:(SEL) selector
{
	[operationQueue addOperation:[OAL_AsyncAudioTrackPlayOperation operationWithTrack:self url:url loops:loops target:target selector:selector]];
}

- (void) playFileAsync:(NSString*) path target:(id) target selector:(SEL) selector
{
	[self playFileAsync:path loops:0 target:target selector:selector];
}

- (void) playFileAsync:(NSString*) path loops:(NSInteger) loops target:(id) target selector:(SEL) selector
{
	[self playUrlAsync:[OALTools urlForPath:path] loops:loops target:target selector:selector];
}

- (bool) play
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		[self stopActions];
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
        [player stop];
		player.currentTime = currentTime;
		player.volume = muted ? 0 : gain;
		player.numberOfLoops = numberOfLoops;
		paused = NO;
		playing = [player play];
#elif __CC_PLATFORM_ANDROID
        if ([player isPlaying]) {
            [player pause];
        }
        int currentPosition = [player currentPosition];
        if (currentPosition != -1 && currentPosition != 0) {
            [player seekToMsec:(int32_t)(currentTime * 1000)];
        }
        [self _updateVolume];
        [player setLooping:(-1 == numberOfLoops) ? YES : NO];
        paused = NO;
        [player start];
		playing = [player isPlaying];
#endif
        // Kick deviceCurrentTime so that it's valid next call
        [self deviceCurrentTime];
		if(playing)
		{
			[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackStartedPlayingNotification object:self] waitUntilDone:NO];
		}
		return playing;
	}
}

- (bool) playAtTime:(NSTimeInterval) time
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
        [self stopActions];
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
        [player stop];
        player.currentTime = currentTime;
        player.volume = muted ? 0 : gain;
        player.numberOfLoops = numberOfLoops;
        paused = NO;
        playing = [player playAtTime:time];
#elif __CC_PLATFORM_ANDROID
        [player stop];
        [player seekToMsec:(int32_t)(currentTime * 1000)];
        [self _updateVolume];
        [player setLooping:(-1 == numberOfLoops) ? YES : NO];
        paused = NO;
        [player start];
        playing = [player isPlaying];
#endif
        if(playing)
        {
            [[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackStartedPlayingNotification object:self] waitUntilDone:NO];
        }
        return playing;
	}
}

- (bool) playAfterTrack:(OALAudioTrack*) track
{
    return [self playAfterTrack:track timeAdjust:0];
}

- (bool) playAfterTrack:(OALAudioTrack*) track timeAdjust:(NSTimeInterval) timeAdjust
{
    NSTimeInterval deviceTime = track.deviceCurrentTime;
    NSTimeInterval trackTimeRemaining = track.duration - track.currentTime;
    return [self playAtTime:deviceTime + trackTimeRemaining + timeAdjust];
}

- (void) stop
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		[self stopActions];
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		[player stop];
#elif __CC_PLATFORM_ANDROID
		[player pause];
#endif
		if(playing)
		{
			[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackStoppedPlayingNotification object:self] waitUntilDone:NO];
		}

		self.currentTime = 0;
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		player.currentTime = 0;
#elif __CC_PLATFORM_ANDROID
        [player seekToMsec:0];
#endif
		paused = NO;
		playing = NO;
		preloaded = NO;
	}
}

- (void) stopActions
{
	[self stopFade];
	[self stopPan];
}

- (void) fadeTo:(float) value
	   duration:(float) duration
		 target:(id) target
	   selector:(SEL) selector
{
	// Must always be synchronized
	@synchronized(self)
	{
		[self stopFade];
		gainAction = [OALSequentialActions actions:
                      [OALPropertyAction gainActionWithDuration:duration endValue:value],
                      [OALCallAction actionWithCallTarget:target selector:selector withObject:self],
                      nil];
        gainAction = as_retain(gainAction);
		[gainAction runWithTarget:self];
	}
}

- (void) stopFade
{
	// Must always be synchronized
	@synchronized(self)
	{
		[gainAction stopAction];
		as_release(gainAction);
		gainAction = nil;
	}
}

- (void) panTo:(float) value
	  duration:(float) duration
		target:(id) target
	  selector:(SEL) selector
{
    // Must always be synchronized
    @synchronized(self)
    {
        [self stopPan];
        panAction = [OALSequentialActions actions:
                     [OALPropertyAction panActionWithDuration:duration endValue:value],
                     [OALCallAction actionWithCallTarget:target selector:selector withObject:self],
                     nil];
        panAction = as_retain(panAction);
        [panAction runWithTarget:self];
    }
}

- (void) stopPan
{
    // Must always be synchronized
    @synchronized(self)
    {
        [panAction stopAction];
        as_release(panAction);
        panAction = nil;
    }
}

- (void) clear
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		[self stopActions];
		as_release(currentlyLoadedUrl);
		currentlyLoadedUrl = nil;

		[player stop];
		as_release(player);
		player = nil;
		playing = NO;
		paused = NO;
		muted = NO;

		if(playing)
		{
			[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackStoppedPlayingNotification object:self] waitUntilDone:NO];
		}

		self.currentTime = 0;
	}
}

#pragma mark Metering

- (bool) meteringEnabled
{
    return meteringEnabled;
}

- (void) setMeteringEnabled:(bool) value
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		meteringEnabled = value;
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		player.meteringEnabled = meteringEnabled;
#endif
	}
}

- (void) updateMeters
{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
    [player updateMeters];
#endif
}

- (float) averagePowerForChannel:(NSUInteger)channelNumber
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		return [player averagePowerForChannel:channelNumber];
#else
        return 1;
#endif
	}
}

- (float) peakPowerForChannel:(NSUInteger)channelNumber
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
		return [player peakPowerForChannel:channelNumber];
#else
        return 1;
#endif
	}
}

#if __CC_PLATFORM_IOS || __CC_PLATFORM_MAC
#pragma mark -
#pragma mark AVAudioPlayerDelegate

#if TARGET_OS_IPHONE

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-implementations"

- (void) audioPlayerBeginInterruption:(AVAudioPlayer*) playerIn
{
	if([delegate respondsToSelector:@selector(audioPlayerBeginInterruption:)])
	{
		[delegate audioPlayerBeginInterruption:playerIn];
	}
}

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)playerIn withOptions:(NSUInteger)flags
{
	if([delegate respondsToSelector:@selector(audioPlayerEndInterruption:withOptions:)])
	{
		[delegate audioPlayerEndInterruption:playerIn withOptions:flags];
	}
}

#pragma clang diagnostic pop

#if __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)playerIn withFlags:(NSUInteger)flags
{
	if([delegate respondsToSelector:@selector(audioPlayerEndInterruption:withFlags:)])
	{
		[delegate audioPlayerEndInterruption:playerIn withFlags:flags];
	}
}

- (void) audioPlayerEndInterruption:(AVAudioPlayer*) playerIn
{
	if([delegate respondsToSelector:@selector(audioPlayerEndInterruption:)])
	{
		[delegate audioPlayerEndInterruption:playerIn];
	}
}
#endif // __IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_6_0
#endif // TARGET_OS_IPHONE

- (void) audioPlayerDecodeErrorDidOccur:(AVAudioPlayer*) playerIn error:(NSError*) error
{
	if([delegate respondsToSelector:@selector(audioPlayerDecodeErrorDidOccur:error:)])
	{
		[delegate audioPlayerDecodeErrorDidOccur:playerIn error:error];
	}
}

- (void) audioPlayerDidFinishPlaying:(AVAudioPlayer*) playerIn successfully:(BOOL) flag
{
	OPTIONALLY_SYNCHRONIZED(self)
	{
		playing = NO;
		paused = NO;
		preloaded = NO;
		if(autoPreload)
		{
			preloaded = [player prepareToPlay];
			if(!preloaded)
			{
				OAL_LOG_ERROR(@"%@: Failed to prepareToPlay: %@", self, currentlyLoadedUrl);
			}
		}
	}
	if([delegate respondsToSelector:@selector(audioPlayerDidFinishPlaying:successfully:)])
	{
		[delegate audioPlayerDidFinishPlaying:playerIn successfully:flag];
	}

	[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:OALAudioTrackFinishedPlayingNotification object:self] waitUntilDone:NO];
}

#endif
@end


57 Meilleur De Photos De Les Jardins D Albertas Jardins Dalbertas Reportage Photos Cracac Le 25 Aoat 2017 Par Jean Baptiste Uploaded by on Thursday, May 31st, 2018 in category 57 Unique Photos De Alinea Fauteuil Jardin.
See also 57 Meilleur De Photos De Les Jardins D Albertas Landart Jardins Dalbertas Design Despace from 57 Unique Photos De Alinea Fauteuil Jardin Topic.
Here we have another image 57 Meilleur De Photos De Les Jardins D Albertas featured under 57 Meilleur De Photos De Les Jardins D Albertas Jardins Dalbertas Reportage Photos Cracac Le 25 Aoat 2017 Par Jean Baptiste. We hope you enjoyed it and if you want to download the pictures in high quality, simply right click the image and choose "Save As". Thanks for reading 57 Meilleur De Photos De Les Jardins D Albertas Jardins Dalbertas Reportage Photos Cracac Le 25 Aoat 2017 Par Jean Baptiste.