Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-22 Thread Tim Janik via beast
Merged #128 via 7fb799ecca58d45b79e5630603da2ed49c5a2f09. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/tim-janik/beast/pull/128#event-2653055404___ beast

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-22 Thread Tim Janik via beast
Merged #128 into master. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/tim-janik/beast/pull/128#event-2653055398___ beast mailing list beast@gnome.org

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
@swesterfeld pushed 1 commit. a96049760b7b37bc643b6063782203911a2d4b87 BSE: Jack: some minor fixes as requested in review -- You are receiving this because you are subscribed to this thread. View it on GitHub:

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + std::atomic atomic_active_ {0}; + std::atomic atomic_xruns_ {0}; + int printed_xruns_ = 0; + + bool is_down_ = false; + bool

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + jack_port_set_latency_range (port, mode, ); + } +else + { +jack_latency_range_t range = get_latency_for_ports (output_ports_, mode); +range.min += buffer_frames_; +range.max += buffer_frames_; + +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + +if (!p) // first port + range = port_range; +else + { +range.min = std::min (range.min, port_range.min); +range.max = std::max (range.max, port_range.max); + } + } +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + * implemented by two index variables (read_frame_pos and write_frame_pos) + * for which atomic integer reads and writes are required. Since the + * producer thread only modifies the write_frame_pos and the consumer thread + * only modifies the

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > +} + +static void +list_jack_drivers (Driver::EntryVec ) +{ + map devices; + jack_client_t *jack_client = connect_jack(); + if (jack_client) +{ + devices = query_jack_devices (jack_client); + disconnect_jack (jack_client); +} +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > +fast_copy (uintn_values, + Data *ovalues, + const Data *ivalues) +{ + copy (ivalues, ivalues + n_values, ovalues); +} + +template<> void +fast_copy (uint n_values, + float *ovalues, +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
Ok, last commit should have all the fixes you requested. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/tim-janik/beast/pull/128#issuecomment-533811472___ beast

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
@swesterfeld pushed 1 commit. f0c4879177cd50959242cfacc4fd8e5b3288ce14 BSE: Jack: some minor fixes as requested in review -- You are receiving this because you are subscribed to this thread. View it on GitHub:

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + } + +/* setup PCM handle or shutdown */ +if (error == 0) + { +flags_ |= Flags::OPENED; + +uint dummy; +pcm_latency (, ); // debugging only: print latency values + } +else + { +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + +/* enable processing in callback (if not already active) */ +atomic_active_ = 1; + +/* report jack driver xruns */ +if (atomic_xruns_ != printed_xruns_) + { +printed_xruns_ = atomic_xruns_; +Bse::printerr

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + void + shutdown_callback() + { +is_down_ = true; + } +public: + explicit JackPcmDriver (const String ) : PcmDriver (devid) {} + static PcmDriverP + create (const String ) + { +auto pdriverp = std::make_shared (devid); +

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > +vector silence_buffers > (output_ringbuffer_.get_n_channels()); + +fill (silence_buffers.begin(), silence_buffers.end(), [0]); + +uint frames_written = output_ringbuffer_.write (buffer_frames, _buffers[0]); +if

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-21 Thread Stefan Westerfeld via beast
swesterfeld commented on this pull request. > + /* the default device is usually the hardware device, so things should > work as expected + * we could show try to show non-default devices as well, but this could be confusing + */ + if (details.default_device) +{

Re: [tim-janik/beast] Jack driver new api (#128)

2019-09-20 Thread Tim Janik via beast
tim-janik requested changes on this pull request. Great work Stefan, thanks for the updates. I've pointed out a few places that still need work. > +fast_copy (uintn_values, + Data *ovalues, + const Data *ivalues) +{ + copy (ivalues, ivalues + n_values, ovalues);