1. 30 4月, 2018 1 次提交
    • T
      libobs, UI: Add true peak measurements · b0f94afa
      Tjienta Vara 提交于
      Add a new algorithm to calculate the true-peak. It implements the
      Whittaker- Shannon interpolation from four samples to create 4
      intermediate samples (5 x oversampling) inbetween the middle two
      samples.
      
      With 4 samples and 4 intermediate samples the algorithm can be
      implemented as a 4x4 vector-matrix cross product, which is ideal for
      SSE.
      
      I've also replaced the sample-peak algorithm using SSE as well to
      improve performance.
      
      Closes obsproject/obs-studio#1189
      b0f94afa
  2. 17 1月, 2018 1 次提交
  3. 05 1月, 2018 1 次提交
    • T
      UI: Rework volume-meters, adding more information · 50ce2284
      Tjienta Vara 提交于
      The following features have been added to the audio-meters:
       * Stereo PPM-level meter, with 40 dB/1.7s decay rate.
       * Stereo VU-level meter, with 300 ms integration time.
       * Stereo Peak-hold meter, with 20 second sustain.
       * Input peak level color-squares in front of every meter.
       * Minor-ticks for each dB.
       * Major-ticks for every 5 dB.
       * Meter is divided in sections at -20 dB and -9 dB.
      
      The ballistic parameters chosen here where taken from:
       * https://en.wikipedia.org/wiki/Peak_programme_meter (SMPTE RP.0155)
       * https://en.wikipedia.org/wiki/VU_meter
      
      In the rework I have removed any ballistic calculations from
      libobs/obs-audio-controls.c making the calculations here a lot more
      simple doing only MAX and RMS calculations for only the samples in
      the current update. The actual ballistics are now done by just
      the UI/volume-control.cpp because ballistics need to be updated
      based on the repaint-rate of the user-interface.
      
      The dB to pixel conversion has been moved from
      libobs/obs-audio-controls.c to UI/volume-control.cpp as well to reduce
      coupling between these two objects, especially when implementing the
      major- and minor-ticks and the sections.
      
      All colors and ballistic parameters are adjustable via QT style sheets.
      There are slight differences in colors for each of the themes.
      50ce2284
  4. 02 7月, 2017 1 次提交
  5. 12 6月, 2016 1 次提交
  6. 27 1月, 2016 1 次提交
    • J
      libobs: Do not use signals with audio capture/controls · 669da7ba
      jp9000 提交于
      (Note: This commit also modifies UI)
      
      Instead of using signals, use designated callback lists for audio
      capture and audio control helpers.  Signals aren't suitable here due to
      the fact that signals aren't meant for things that happen every frame or
      things that happen every time audio/video is received.  Also prevents
      audio from being allocated every time these functions are called due to
      the calldata structure.
      669da7ba
  7. 26 6月, 2015 1 次提交
  8. 07 5月, 2015 1 次提交
  9. 13 3月, 2015 1 次提交
    • J
      (API Change) Always use planar float audio output · 9832a760
      jp9000 提交于
      Core API functions changed:
      -----------------------------
      EXPORT bool obs_reset_audio(struct audio_output_info *aoi);
      EXPORT bool obs_get_audio_info(struct audio_output_info *aoi);
      
      To:
      -----------------------------
      EXPORT bool obs_reset_audio(const struct obs_audio_info *oai);
      EXPORT bool obs_get_audio_info(struct obs_audio_info *oai);
      
      Core structure added:
      -----------------------------
      struct obs_audio_info {
      	uint32_t            samples_per_sec;
      	enum speaker_layout speakers;
      	uint64_t            buffer_ms;
      };
      
      Non-interleaved (planar) floating point output is standard with audio
      filtering, so to prevent audio filters from having to worry about
      different audio format implementations and for the sake consistency
      between user interfaces, make it so that audio is always set to
      non-interleaved floating point output.
      9832a760
  10. 28 12月, 2014 1 次提交
    • J
      libobs: Fix a few warnings · c72284f3
      jp9000 提交于
      Two integers are needlessly converted to floating points for what should
      be an integer operation.  One of those floats is then used for another
      integer operation later, where the original integer value should have
      been used.  So essentially there was an int -> float -> int conversion
      going on, which could lead to potential loss of data due to floating
      point precision.
      
      There were also some general 64bit -> 32bit conversion warnings.
      c72284f3
  11. 15 12月, 2014 5 次提交
  12. 05 12月, 2014 3 次提交
    • F
      libobs: Add Logarithmic fader type · 1b034569
      fryshorts 提交于
      This adds the conversion function used by the old obs based on a
      logarithmic scale.
      1b034569
    • F
      libobs: Add IEC 60-268-18 compliant fader type · 119d77e1
      fryshorts 提交于
      This adds a new fader type that implements a position/dB mapping
      as specified in IEC 60-268-18.
      119d77e1
    • F
      libobs: Add volume meter object · 46686ec5
      fryshorts 提交于
      This adds a volume meter object to libobs that can be used by the GUI
      or plugins to convert the raw audio level data from sources to values
      that can easily be used to display the audio data.
      The volume meter object will use the same mapping functions as the
      fader object to map dB levels to a scale.
      46686ec5
  13. 28 11月, 2014 1 次提交
    • J
      libobs: Fix microsoft compiler issue · 346bcd7e
      jp9000 提交于
      In older versions of visual studio 2013 microsoft's WORTHLESS C compiler
      has a bug where it will, almost at random, not be able to handle having
      variables declared in the middle of a function and give the warning:
      "illegal use of this type as an expression".  It was fixed in recent
      VS2013 updates, but I'm not about to force everyone to update to it.
      346bcd7e
  14. 27 11月, 2014 3 次提交
    • J
      libobs: Fix double -> float conversion warning · 8922f250
      jp9000 提交于
      8922f250
    • J
      libobs: Fix windows warnings with C library macro · e3e79dcd
      jp9000 提交于
      The macro INFINITY apparently will trigger a warning with microsoft's
      compiler despite being a C standard library macro.
      e3e79dcd
    • F
      libobs: Add audio control functions · 8dcbd77b
      fryshorts 提交于
      This adds a new library of audio control functions mainly for the use in
      GUIS. For now it includes an implementation of a software fader that can
      be attached to sources in order to easily control the volume.
      The fader can translate between fader-position, volume in dB and
      multiplier with a configurable mapping function.
      Currently only a cubic mapping (mul = fader_pos ^ 3) is included, but
      different mappings can easily be added.
      
      Due to libobs saving/restoring the source volume from the multiplier,
      the volume levels for existing source will stay the same, and live
      changing of the mapping will work without changing the source volume.
      8dcbd77b