, but this code // executes before the first paint, when

黄大仙高手论坛

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); SAO Concert: An Evening w/ Vienna Teng | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Events Calendar

SAO Concert: An Evening w/ Vienna Teng

S M T W T F S
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
1
 
2
 
3
 
4
 
5
 

SAO Concert: An Evening w/ Vienna Teng

  • Sat, Sep 21, 2024
  • 8:00 pm–10:00 pm
$38 general public; $15 Calvin student/faculty/staff
Image
Vienna Tang
Doors open at 7:30 p.m.

鈥淚 was in a long-distance relationship with music for many years,鈥 jokes songwriter Vienna Teng. 鈥淣ow we鈥檙e finally moving back in together.鈥

Long-distance, perhaps, but long-running. In 2002, Vienna released her debut album Waking Hour, landing her on NPR鈥檚 Weekend Edition, The Late Show with David Letterman, and the top of Amazon鈥檚 music charts. Four more albums followed, most recently Aims in 2013, which became the first album to win four Independent Music Awards. She also composed the music for The Fourth Messenger by playwright Tanya Shaffer, which premiered in 2013 and was a featured production in the 2017 New York Musical Theater Festival. Together with Vienna鈥檚 captivating live performances and thoughtful online presence, her work has built a devoted following across generations and continents.

Still, other pursuits have always beckoned. A computer science major before she was a recording artist, Vienna is a nerd at heart, as comfortable in spreadsheets as the spotlight. She returned to academia in 2010 to study environmental sustainability, which led to a new career working on climate change, energy and waste issues. She also became a bonus parent to her partner鈥檚 two kids, and in early 2020 welcomed a newborn addition to the family - just in time for pandemic lockdown.

鈥淚 learned a lot about what it means to hold two truths in your head at the same time, as the saying goes,鈥 Vienna says of that period. 鈥淭he situation can be dire and full of possibility. Both kindness and fierceness are so very necessary.鈥

She wondered: what if two songs, with seemingly contradictory perspectives, were written so they would 鈥渕ash up鈥 into a duet? The result is her song-pair 鈥淲e鈥檝e Got You鈥: one about serving as a beacon for one鈥檚 community, the other about leaning on that community in one鈥檚 darkest hour. It鈥檚 some of the most intricate and impassioned songwriting she鈥檚 ever done. When she performs it on stage - solo, live-looping her voice, keyboards and percussion to layer the two songs together - the audience response is electric. 鈥淎nd there are so many ways for songs to be in dialogue with each other,鈥 she notes. 鈥淚鈥檇 love to keep exploring that idea鈥opefully in dialogue with other creators, too.鈥

Fittingly for a piece about reinvigoration and connection, 鈥淲e鈥檝e Got You鈥 marks the start of a new chapter for Vienna, where her environmental and musical vocations converge. In 2022, she launched a 鈥渕usic x climate action鈥 community on Patreon, combining monthly livestream shows and recording studio updates with Zoom climate action sessions, as well as working one-on-one with patrons on their own climate projects. On the road, she鈥檚 started hosting workshops between concerts, bringing members of her audience together to share knowledge and take real steps for climate - events that participants have described as 鈥渓ife-changing,鈥 鈥渞ocket fuel,鈥 and 鈥渢he perfect antidote to despair.鈥

The long-distance phase is over. Now it鈥檚 time for communion - and moving forward.