Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
<refsect2>
<para>
This interface is implemented by elements that provide a stream volume. Examples for
such elements are volume
and playbin
.
</para>
<para>
Applications can use this interface to get or set the current stream volume. For this
the "volume" Object
property can be used or the helper functions streamVolumeSetVolume
and streamVolumeGetVolume
. This volume is always a linear factor, i.e. 0.0 is muted
1.0 is 100%. For showing the volume in a GUI it might make sense to convert it to
a different format by using streamVolumeConvertVolume
. Volume sliders should usually
use a cubic volume.
Separate from the volume the stream can also be muted by the "mute" Object
property or
streamVolumeSetMute
and streamVolumeGetMute
.
</para>
<para>
Elements that provide some kind of stream volume should implement the "volume" and
"mute" Object
properties and handle setting and getting of them properly.
The volume property is defined to be a linear volume factor.
</para>
</refsect2>
- newtype StreamVolume = StreamVolume (ManagedPtr StreamVolume)
- noStreamVolume :: Maybe StreamVolume
- class GObject o => IsStreamVolume o
- toStreamVolume :: IsStreamVolume o => o -> IO StreamVolume
- streamVolumeConvertVolume :: (HasCallStack, MonadIO m) => StreamVolumeFormat -> StreamVolumeFormat -> Double -> m Double
- data StreamVolumeGetMuteMethodInfo
- streamVolumeGetMute :: (HasCallStack, MonadIO m, IsStreamVolume a) => a -> m Bool
- data StreamVolumeGetVolumeMethodInfo
- streamVolumeGetVolume :: (HasCallStack, MonadIO m, IsStreamVolume a) => a -> StreamVolumeFormat -> m Double
- data StreamVolumeSetMuteMethodInfo
- streamVolumeSetMute :: (HasCallStack, MonadIO m, IsStreamVolume a) => a -> Bool -> m ()
- data StreamVolumeSetVolumeMethodInfo
- streamVolumeSetVolume :: (HasCallStack, MonadIO m, IsStreamVolume a) => a -> StreamVolumeFormat -> Double -> m ()
- data StreamVolumeMutePropertyInfo
- constructStreamVolumeMute :: IsStreamVolume o => Bool -> IO (GValueConstruct o)
- getStreamVolumeMute :: (MonadIO m, IsStreamVolume o) => o -> m Bool
- setStreamVolumeMute :: (MonadIO m, IsStreamVolume o) => o -> Bool -> m ()
- streamVolumeMute :: AttrLabelProxy "mute"
- data StreamVolumeVolumePropertyInfo
- constructStreamVolumeVolume :: IsStreamVolume o => Double -> IO (GValueConstruct o)
- getStreamVolumeVolume :: (MonadIO m, IsStreamVolume o) => o -> m Double
- setStreamVolumeVolume :: (MonadIO m, IsStreamVolume o) => o -> Double -> m ()
- streamVolumeVolume :: AttrLabelProxy "volume"
Exported types
newtype StreamVolume Source #
GObject StreamVolume Source # | |
IsObject StreamVolume Source # | |
IsStreamVolume StreamVolume Source # | |
((~) * info (ResolveStreamVolumeMethod t StreamVolume), MethodInfo * info StreamVolume p) => IsLabel t (StreamVolume -> p) Source # | |
((~) * info (ResolveStreamVolumeMethod t StreamVolume), MethodInfo * info StreamVolume p) => IsLabelProxy t (StreamVolume -> p) Source # | |
HasAttributeList * StreamVolume Source # | |
type AttributeList StreamVolume Source # | |
type SignalList StreamVolume Source # | |
class GObject o => IsStreamVolume o Source #
toStreamVolume :: IsStreamVolume o => o -> IO StreamVolume Source #
Methods
convertVolume
streamVolumeConvertVolume Source #
:: (HasCallStack, MonadIO m) | |
=> StreamVolumeFormat |
|
-> StreamVolumeFormat |
|
-> Double |
|
-> m Double | Returns: the converted volume |
No description available in the introspection data.
getMute
data StreamVolumeGetMuteMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsStreamVolume a) => MethodInfo * StreamVolumeGetMuteMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsStreamVolume a) | |
=> a |
|
-> m Bool | Returns: Returns |
No description available in the introspection data.
getVolume
data StreamVolumeGetVolumeMethodInfo Source #
((~) * signature (StreamVolumeFormat -> m Double), MonadIO m, IsStreamVolume a) => MethodInfo * StreamVolumeGetVolumeMethodInfo a signature Source # | |
streamVolumeGetVolume Source #
:: (HasCallStack, MonadIO m, IsStreamVolume a) | |
=> a |
|
-> StreamVolumeFormat |
|
-> m Double | Returns: The current stream volume as linear factor |
No description available in the introspection data.
setMute
data StreamVolumeSetMuteMethodInfo Source #
((~) * signature (Bool -> m ()), MonadIO m, IsStreamVolume a) => MethodInfo * StreamVolumeSetMuteMethodInfo a signature Source # | |
:: (HasCallStack, MonadIO m, IsStreamVolume a) | |
=> a |
|
-> Bool |
|
-> m () |
No description available in the introspection data.
setVolume
data StreamVolumeSetVolumeMethodInfo Source #
((~) * signature (StreamVolumeFormat -> Double -> m ()), MonadIO m, IsStreamVolume a) => MethodInfo * StreamVolumeSetVolumeMethodInfo a signature Source # | |
streamVolumeSetVolume Source #
:: (HasCallStack, MonadIO m, IsStreamVolume a) | |
=> a |
|
-> StreamVolumeFormat |
|
-> Double |
|
-> m () |
No description available in the introspection data.
Properties
mute
data StreamVolumeMutePropertyInfo Source #
constructStreamVolumeMute :: IsStreamVolume o => Bool -> IO (GValueConstruct o) Source #
getStreamVolumeMute :: (MonadIO m, IsStreamVolume o) => o -> m Bool Source #
setStreamVolumeMute :: (MonadIO m, IsStreamVolume o) => o -> Bool -> m () Source #
streamVolumeMute :: AttrLabelProxy "mute" Source #
volume
data StreamVolumeVolumePropertyInfo Source #
constructStreamVolumeVolume :: IsStreamVolume o => Double -> IO (GValueConstruct o) Source #
getStreamVolumeVolume :: (MonadIO m, IsStreamVolume o) => o -> m Double Source #
setStreamVolumeVolume :: (MonadIO m, IsStreamVolume o) => o -> Double -> m () Source #
streamVolumeVolume :: AttrLabelProxy "volume" Source #