Pharo-LibVLC

Description

Binding ffi of libvlc for Pharo

Details

Source
GitHub
Dialect
pharo (65% confidence)
License
MIT
Stars
16
Forks
6
Created
Aug. 3, 2019
Updated
Jan. 13, 2024
Topics
ffi ffi-bindings libvlc pharo pharo-smalltalk sound sounds

Categories

System / OS Multimedia

README excerpt

# Pharo-LibVLC <!-- omit in toc -->

- [Install](#install)
  - [Linux](#linux)
- [Quick example](#quick-example)
- [Documentation](#documentation)

[![Pharo version](https://img.shields.io/badge/Pharo-11.0-%23aac9ff.svg)](https://pharo.org/download)

Binding FFI of [libvlc](https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc.html) for [Pharo](http://pharo.org/) 

## Install

1. Install VLC 3.x.x

2. In a Pharo 11 image

```st
Metacello new
  baseline: 'VLC';
  repository: 'github://badetitou/Pharo-LibVLC';
  load.
```

> You should be able to execute `VLCLibrary uniqueInstance getVersion`

### Linux

If you work on linux, please check that `libvlc` and `libvlccore` are in your path.
To do so, you can execute `whereis libvlc` and `whereis libvlccore`.

If the `whereis` command return something like:

- `libvlccore: /usr/lib/libvlccore.so` → OK
- `libvlccore: ` → It means you didn't install correctly the libraries, or you used snap.
- `libvlccore: /usr/lib/libvlccore.so.x` → It means you've installed a specific version of the library. To use it with pharo please create a symbolic link without the ".x" → `ln -s /usr/lib/libvlccore.so.x /usr/lib/libvlccore.so`

If you used snap to install vlc, the path might be ` '/snap/vlc/current/usr/lib'`

### Windows

Simply install the last version of VLC and it should work.

## Quick example

```st
vlc := VLCLibrary uniqueInstance createVLCInstance.
"do not use accentuated characters for the path"
media := vlc createMediaFromPath: '/my/file/path.mp3'.
mediaPlayer := VLCLibrary uniqueInstance mediaPlayerNewFromMedia: media.
mediaPlayer play
```

Or using a media list.

```st
instance := VLCLibrary uniqueInstance createVLCInstance.
 
media := instance createMediaFromPath: '/home/badetitou/Musique/Coda.mp3'.
mediaList := instance createMediaList.
mediaList addMedia: media.

mediaListPlayer := instance createMediaListPlayer.
mediaListPlayer mediaList: mediaList.
mediaListPlayer mediaList.
mediaListPlayer play
```

## Documentation
← Back to results