diff --git a/lib/osmosdr_device.cc b/lib/osmosdr_device.cc index 154ebf3..c0a20b2 100644 --- a/lib/osmosdr_device.cc +++ b/lib/osmosdr_device.cc @@ -121,18 +121,10 @@ devices_t device::find(const device_t &hint) BOOST_FOREACH( std::string dev, fcd_source::get_devices() ) devices.push_back( device_t(dev) ); #endif -#ifdef ENABLE_FILE - BOOST_FOREACH( std::string dev, file_source_c::get_devices() ) - devices.push_back( device_t(dev) ); -#endif #ifdef ENABLE_RTL BOOST_FOREACH( std::string dev, rtl_source_c::get_devices() ) devices.push_back( device_t(dev) ); #endif -#ifdef ENABLE_RTL_TCP - BOOST_FOREACH( std::string dev, rtl_tcp_source_c::get_devices() ) - devices.push_back( device_t(dev) ); -#endif #ifdef ENABLE_UHD BOOST_FOREACH( std::string dev, uhd_source_c::get_devices() ) devices.push_back( device_t(dev) ); @@ -146,5 +138,18 @@ devices_t device::find(const device_t &hint) devices.push_back( device_t(dev) ); #endif + /* software-only sources should be appended at the very end, + * hopefully resulting in hardware sources to be shown first + * in a graphical interface etc... */ + +#ifdef ENABLE_RTL_TCP + BOOST_FOREACH( std::string dev, rtl_tcp_source_c::get_devices() ) + devices.push_back( device_t(dev) ); +#endif +#ifdef ENABLE_FILE + BOOST_FOREACH( std::string dev, file_source_c::get_devices() ) + devices.push_back( device_t(dev) ); +#endif + return devices; }