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

ÃÛÌÒapp

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); })(); Ensembles Music | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Ensembles

No matter what you're majoring in—whether it's music, biochemistry, or anything else—you'll find plenty of opportunities to sing, play, practice, and perform with other musicians. You'll express your musical skills by performing challenging and intriguing literature. You'll sing and play alongside friends and fellow students who share your passion for music.

Ìý

ÃÛÌÒapp’s music program sponsors nine large ensembles, groups comprised of majors, minors, and non-majors who enjoy making music in community. Our ensembles encompass a wide range of musical styles, experience levels, and time commitments. Ensemble students strengthen their musicianship through thoughtful performances of quality literature, foster life-long friendships, and engage in supportive Christian fellowship.

Department ensembles are open to all ÃÛÌÒapp students, with placement auditions typically held at the beginning of each academic year. Students may earn 1 credit for ensemble participation, credits that can also be used to help fulfill the Arts Core requirement.

Ìý

Explore Ensembles