Skip to content

In the News

  • Bluegrass At Large
  • Media
  • Music
  • Opinion / Humor

On the Charts

  • Bluegrass Weekly
  • Bluegrass Monthly
  • Grassicana Weekly
  • Gospel Weekly

In the Community

  • Events
  • Directory

Need Help?

Login

  • News
  • Charts
  • Events
  • Directories
  • Support

menu

Events

  • Philadelphia Folk Festival celebrates 60 years in 2022

    May 17, 2022 | by John Lawless

    The venerable Philadelphia Folk Festival is celebrating their 60th annual event this year, while also returning to a live, in person status after two years of pandemic restrictions forcing them to go virtual. But as they return to their home base,

    Read More
  • Frank Baker’s photos from Gettysburg, Spring 2022

    May 17, 2022 | by Frank Baker

    Blue Highway at the Spring 2022 Gettysburg Bluegrass Festival - photo by Frank Baker One of the surest signs of spring in the bluegrass world is the Gettysburg Bluegrass Festival, and this past weekend saw the 82nd iteration of the twice

    Read More
  • Photos from the 2022 Little Roy & Lizzy Festival

    May 13, 2022 | by Guest Contributor

    Little Roy & Lizzy Show at the 2022 edition of their annual festival in Georgia - photo © B Chord Photography Deborah Miller, with B Chord Photography, was in attendance earlier this month for the 2022 Little Roy & Lizzy Music

    Read More
  • New home for Huck Finn Jubilee announced in California

    May 10, 2022 | by John Lawless

    For more than four decades, the annual Huck Finn Jubilee has been among the favorite west coast festivals for fans of bluegrass and acoustic string music. It ran for 40 years under the direction of Don and Barbara Tucker, until Don passed

    Read More
  • Geoff Bartley appreciation night at The Cantab in Cambridge

    May 9, 2022 | by John Lawless

    Bluegrass folks in and around Boston have a real treat in store on May 10, as do grassers all over the world with an internet connection, when The Cantab Lounge in Cambridge, MA hosts a special edition of Bluegrass Tuesdays

    Read More
  • EWOB ’22 – Bluegrass is back in Voorthuizen!

    May 6, 2022 | by Richard Thompson

    After a four-year hiatus, the European World of Bluegrass festival returns to the village of Voorthuizen in central Netherlands this month. The three-day European World of Bluegrass 2022 takes place from Thursday May 26 through to Saturday May 28 at a

    Read More
  • 17th annual Jimbo Whaley & Friends show

    May 3, 2022 | by John Lawless

    For years now, one of the hottest tickets in east Tennessee has been the Jimbo Whaley & Friends concert, held each spring to benefit a worthy organization in the region. In 2022, Whaley held his show on March 26 at

    Read More
  • Photos from MerleFest 2022

    May 2, 2022 | by Guest Contributor

    Sam Bush at MerleFest 2022 - photo © Michael Freas Many thanks to the good folks at MerleFest, who shared these photos from the grassier side of the 2022 four-day music festival. The event has been held since 1988 in memory of

    Read More
  • Photos from 2022 Old Settlers Music Festival

    April 27, 2022 | by Guest Contributor

    Del McCoury Band at the 2022 Old Settlers Music Festival - photo by Amy Price Many thanks to the folks at the Old Settlers Music Festival in Tilmon, TX who shared this gallery of images from this past weekend's happenings. Photos by

    Read More
  • Seth Mulder & Midnight Run heading to Europe in May

    April 26, 2022 | by John Lawless

    Seth Mulder & Midnight Run are gearing up for their first European tour, kicking off in Belgium in a little more than two weeks. The boys will be taking their hard charging, old time bluegrass show all across the continent

    Read More
Page 4 of 341« First«...23456...102030...»Last »

Most Recent Comments

  • Chris Jones & The Night ...

    Congratulations to Chris and all the band on being be invited to the Opry. Marshall has been there before, but I don't ...

    MartinD2 - Jul 02, 2022
  • Dan Tyminski and Molly Tuttle ...

    I got goosebumps listening to this 'Church Street Blues' just now. Bostin.

    shaongaon - Jun 30, 2022
  • James Reams passes

    James was one of the good ones. When I last spoke with him earlier this year, he was as upbeat and appreciative as he ...

    Donald Teplyske - Jun 30, 2022
  • From The Side of the Road… ...

    "If an MC messes up your band name, you’re going to have poor CD sales that day."I dunno, I recall pretty sad sales ...

    Jon Weisberger - Jun 29, 2022

Latest Event ListingsSearch Events

Lansing Creeper Trail Bluegrass
Wernick Method Bluegrass Jam Class with Austin Scelzo – Bethel, CT
Wernick Method Bluegrass Jam Class with Chris Roszell – Denver, CO
56th Shindig on the Green

Bluegrass Today Profiles

  • Bluegrass Beyond Borders: 4-Star Grass from Germany
    4-Star Grass
  • The Fiddle Maker – the story of Don Hunt
    Don Hunt
  • Bluegrass Beyond Borders: The Cherry Pickers from Down Under
    The Cherry Pickers
  • Andy Hall talks Infamous Stringdusters and Towards The Fray
    Infamous Stringdusters
  • Amanda Gore – part of the future of bluegrass
    Amanda Gore

  • Staff Directory
  • Advertising
  • Contact Us
  • Terms of Service
  • Privacy Policy

© Bluegrass Today 2022

powered by AhSo

  • News
    • Bluegrass At Large
    • Media
    • Music
    • Opinion / Humor
    • Back
  • Charts
    • Bluegrass Weekly
    • Bluegrass Monthly
    • Grassicana Weekly
    • Gospel Weekly
    • Back
  • Events
  • Directory
  • Support

© Bluegrass Today 2022
powered by AhSo

[gravityform id=11 title=false description=false]
<script type="text/javascript"> //---------------------------------------------------------- //------ JAVASCRIPT HOOK FUNCTIONS FOR GRAVITY FORMS ------- //---------------------------------------------------------- if ( ! gform ) { document.addEventListener( 'gform_main_scripts_loaded', function() { gform.scriptsLoaded = true; } ); window.addEventListener( 'DOMContentLoaded', function() { gform.domLoaded = true; } ); var gform = { domLoaded: false, scriptsLoaded: false, initializeOnLoaded: function( fn ) { if ( gform.domLoaded && gform.scriptsLoaded ) { fn(); } else if( ! gform.domLoaded && gform.scriptsLoaded ) { window.addEventListener( 'DOMContentLoaded', fn ); } else { document.addEventListener( 'gform_main_scripts_loaded', fn ); } }, hooks: { action: {}, filter: {} }, addAction: function( action, callable, priority, tag ) { gform.addHook( 'action', action, callable, priority, tag ); }, addFilter: function( action, callable, priority, tag ) { gform.addHook( 'filter', action, callable, priority, tag ); }, doAction: function( action ) { gform.doHook( 'action', action, arguments ); }, applyFilters: function( action ) { return gform.doHook( 'filter', action, arguments ); }, removeAction: function( action, tag ) { gform.removeHook( 'action', action, tag ); }, removeFilter: function( action, priority, tag ) { gform.removeHook( 'filter', action, priority, tag ); }, addHook: function( hookType, action, callable, priority, tag ) { if ( undefined == gform.hooks[hookType][action] ) { gform.hooks[hookType][action] = []; } var hooks = gform.hooks[hookType][action]; if ( undefined == tag ) { tag = action + '_' + hooks.length; } if( priority == undefined ){ priority = 10; } gform.hooks[hookType][action].push( { tag:tag, callable:callable, priority:priority } ); }, doHook: function( hookType, action, args ) { // splice args from object into array and remove first index which is the hook name args = Array.prototype.slice.call(args, 1); if ( undefined != gform.hooks[hookType][action] ) { var hooks = gform.hooks[hookType][action], hook; //sort by priority hooks.sort(function(a,b){return a["priority"]-b["priority"]}); hooks.forEach( function( hookItem ) { hook = hookItem.callable; if(typeof hook != 'function') hook = window[hook]; if ( 'action' == hookType ) { hook.apply(null, args); } else { args[0] = hook.apply(null, args); } } ); } if ( 'filter'==hookType ) { return args[0]; } }, removeHook: function( hookType, action, priority, tag ) { if ( undefined != gform.hooks[hookType][action] ) { var hooks = gform.hooks[hookType][action]; hooks = hooks.filter( function(hook, index, arr) { var removeHook = (undefined==tag||tag==hook.tag) && (undefined==priority||priority==hook.priority); return !removeHook; } ); gform.hooks[hookType][action] = hooks; } } }; } </script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><form method='post' enctype='multipart/form-data' id='gform_11' action='/category/events/page/4/' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_10" class="gfield hide-label field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_10"><label class='gfield_label screen-reader-text' for='input_11_10' >First Name</label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_11_10' type='text' value='' class='medium' placeholder='First Name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield hide-label gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_1"><label class='gfield_label screen-reader-text' for='input_11_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_5" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_5"><label class='gfield_label gfield_label_before_complex' >Email List :<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_5'><li class='gchoice gchoice_11_5_1'> <input class='gfield-choice-input' name='input_5.1' type='checkbox' value='buzz' id='choice_11_5_1' /> <label for='choice_11_5_1' id='label_11_5_1'>Bluegrass Buzz Newsletter</label> </li></ul></div></li><li id="field_11_11" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_11"><label class='gfield_label' for='input_11_11' >Comments</label><div class='ginput_container'><input name='input_11' id='input_11_11' type='text' value='' /></div><div class='gfield_description' id='gfield_description_11_11'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_11' class='gform_button button' value='Sign Up' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsIjdiZWFhNzdhMjZmM2E0NjI4MWQ1ZDY5NDIxY2FiZGVlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="165"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id=11 title=false description=false]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_11' ><form method='post' enctype='multipart/form-data' id='gform_11' action='/category/events/page/4/' > <div class='gform_body gform-body'><ul id='gform_fields_11' class='gform_fields top_label form_sublabel_below description_below'><li id="field_11_10" class="gfield hide-label field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_10"><label class='gfield_label screen-reader-text' for='input_11_10' >First Name</label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_11_10' type='text' value='' class='medium' placeholder='First Name' aria-invalid="false" /> </div></li><li id="field_11_1" class="gfield hide-label gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_1"><label class='gfield_label screen-reader-text' for='input_11_1' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_11_1' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_11_5" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_5"><label class='gfield_label gfield_label_before_complex' >Email List :<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_checkbox'><ul class='gfield_checkbox' id='input_11_5'><li class='gchoice gchoice_11_5_1'> <input class='gfield-choice-input' name='input_5.1' type='checkbox' value='buzz' id='choice_11_5_1' /> <label for='choice_11_5_1' id='label_11_5_1'>Bluegrass Buzz Newsletter</label> </li></ul></div></li><li id="field_11_11" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_11_11"><label class='gfield_label' for='input_11_11' >Name</label><div class='ginput_container'><input name='input_11' id='input_11_11' type='text' value='' /></div><div class='gfield_description' id='gfield_description_11_11'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_11' class='gform_button button' value='Sign Up' onclick='if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_11"]){return false;} window["gf_submitting_11"]=true; jQuery("#gform_11").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_11' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='11' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_11' value='WyJbXSIsIjdiZWFhNzdhMjZmM2E0NjI4MWQ1ZDY5NDIxY2FiZGVlIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_11' id='gform_target_page_number_11' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_11' id='gform_source_page_number_11' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="72"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>