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

Bluegrass First Class

  • Bluegrass First Class is back with a bang in 2022

    February 21, 2022 | by Sandy Hatley

    Dan Tyminski at the 2022 Bluegrass First Class - photo by Gary Hatley After being on hiatus last year due to the pandemic, Bluegrass First Class bounced back bigger and better than ever this past weekend. "It's been a long two years

    Read More
  • Authentic Unlimited to debut at Bluegrass First Class

    December 27, 2021 | by Sandy Hatley

    Authentic Unlimited, the newest big thing in bluegrass, is slated to debut at Bluegrass First Class in Asheville on Saturday night, February 19, 2022. "Mentored by one of the founding members of IBMA, Doyle Lawson, who has a long history of

    Read More
  • Bluegrass First Class to be held as scheduled in February 2021

    October 20, 2020 | by Sandy Hatley

    The pandemic has had a devastating effect on live music shows this year. No one knows when we will be able to resume some level of normalcy, but veteran promoter Milton Harkey is working diligently toward keeping everyone safe while

    Read More
  • More from Bluegrass First Class 2020

    February 27, 2020 | by Sandy Hatley

    Rhonda Vincent with Caroline Williamson and her new mandolin at Bluegrass First Class - photo by Sandy Hatley Bluegrass First Class was a weekend filled with great music, unique presentations, and numerous celebrations. Not only was promoter Milton Harkey honored for

    Read More
  • Bluegrass First Class celebrates 25 years

    February 25, 2020 | by Sandy Hatley

    Bluegrass First Class celebrated its silver anniversary this past weekend in Asheville, NC. Promoter, Milton Harkey, was honored during Friday evening’s show. Kelly Epperson, general manager of WPAQ Radio in Mt. Airy, NC, conducted the presentation. “This is quite an evening,” Epperson

    Read More

Most Recent Comments

  • 2022 winners at the Old ...

    What LNL02 said!

    bluegrasshack1 - Aug 15, 2022
  • 2022 Bluegrass in la Roche ...

    I am sorry to hear about Anthony Hannigan's passing. It was always nice to meet him in festivals and chat or jam. RIP. ...

    Karel Bombicka - Aug 15, 2022
  • 2022 winners at the Old ...

    Congrats to all the winners! Such a fun week at Galax!!

    LNL02 - Aug 15, 2022
  • Pick and Howl takes first in ...

    Congratulations to Pick and Howl! Sorry to point out an error in the article, but the fiddle player is a very hard ...

    Bob Turbanic - Aug 12, 2022

Latest Event ListingsSearch Events

Lansing Creeper Trail Bluegrass
Wernick Method Bluegrass Jam Class with Martin Gilmore – Denver, CO
Wernick Method Bluegrass Jam Class with Debbie Wagner – Appleton, WI
35th Annual Bowers Mansion Bluegrass Festival

Bluegrass Today Profiles

  • Bluegrass Beyond Borders: The Fountaineers go international from Glasgow
    The Fountaineers
  • California Report – Fiddler and singer Jody Richardson talks Davis Sisters and more
    Jody Richardson
  • Nora Brown – digging at her young roots with finesse
    Nora Brown
  • Bluegrass Beyond Borders: Just As Blue puts a Swedish spin on their grass
    Just As Blue
  • Dan Tyminski talks Tony Rice EP, his own band, and AKUS
    Dan Tyminski

  • 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='/tag/bluegrass-first-class/' > <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' >Phone</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="128"/><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='/tag/bluegrass-first-class/' > <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' >Phone</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="44"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>