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

Media

  • I Wish I Had A Lifeline video from Stoney Creek

    June 22, 2021 | by John Lawless

    West Virginia's Stoney Creek has dropped a second single to bluegrass radio, ahead of this Friday's release of their next album, A Miner's Life. This time it's a Gospel song from the pen of Mike Henderson, formerly with The Steeldrivers, a

    Read More
  • Daddy and the Old Oak Tree video from Gary Brewer and Dale Ann Bradley

    June 21, 2021 | by John Lawless

    Having just completed Father's Day celebrations here in the US, the subject of dads is still on everyone's mind. Like so many of us whose fathers have passed on, Gary Brewer remembers his dad, Finley, quite fondly, not only for

    Read More
  • I Take The Back Roads video from Jerry Salley

    June 18, 2021 | by John Lawless

    Nashville singer, songwriter, producer, and record company exec, Jerry Salley, has a new music video today for one of the tracks on his current Bridges and Backroads album. In keeping with the project's theme - and title - it's for I Take

    Read More
  • Video Premiere: Trouble from Jackson Melnick

    June 17, 2021 | by John Lawless

    Colorado's Jackson Melnick is preparing to release his debut album in September, Abilene, a collection of his songs set to bluegrass instrumentation with producer Christopher Henry. It contains an interesting mix of folk and bluegrass, with Dylan-esque songs supported by

    Read More
  • Living Left To Do video from Joe Mullins & The Radio Ramblers

    June 16, 2021 | by John Lawless

    Billy Blue Records has released a new music video for Joe Mullins & The Radio Ramblers for one of the songs on their current Gospel album, Somewhere Beyond The Blue. This one is a performance video for Living Left To Do,

    Read More
  • Jack Tottle responds to Chris Thile in The Washington Post

    June 15, 2021 | by Jack Tottle

    Jack Tottle has shared his comments to a Washington Post article from last weekend, a partial transcription of an Instagram Live interview with Chris Thile. We start with something Chris said in the interview, followed by Jack's response. ------------- Recently, Edgers chatted

    Read More
  • Dirt Simple Upright Bass – new book from Nate Sabat

    June 15, 2021 | by John Lawless

    Mel Bay Publications has released a new instructional book for upright bass, geared to bluegrass players, written by Mile Twelve bassist Nate Sabat. Titled Dirt Simple Upright Bass, the 45 page book offers an excellent introduction to the instrument for those

    Read More
  • Davidson Brothers name Jacob McGuffie for 2021 Australian Bluegrass Scholarship

    June 14, 2021 | by John Lawless

    The Davidson Brothers, Hamish and Lachlan, surely among Australia's most notable bluegrass acts, have announced Jacob McGuffie as the recipient of the 2021 Australian Bluegrass Scholarship. Since 2011, the Davidsons have awarded a $1500 cash grant and a day in the

    Read More
  • L.A. International Airport video from Dale Ann Bradley

    June 10, 2021 | by John Lawless

    Pinecastle Records has released a tasty music video for Dale Ann Bradley, one of the most beloved singers in bluegrass music, featuring a song on her current album, Things She Couldn't Get Over. It seems that Dale Ann always finds a

    Read More
  • IBMA announces showcase acts, tickets, and registration for World of Bluegrass

    June 8, 2021 | by John Lawless

    The International Bluegrass Music Association has officially announced this morning the good news we discussed last week, that they are moving full-speed ahead to an in-person World of Bluegrass week in Raleigh at the end of September. There will also

    Read More
Page 30 of 642« First«...1020...2829303132...405060...»Last »

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='/category/media/page/30/' > <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_1" name="ak_js" value="158"/><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/media/page/30/' > <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="174"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>