Skip to content

Commit

Permalink
Update website Roadmap-ish, add History chapter
Browse files Browse the repository at this point in the history
  • Loading branch information
JOJ0 committed Mar 4, 2025
1 parent 3e37962 commit 6818f5f
Showing 1 changed file with 16 additions and 68 deletions.
84 changes: 16 additions & 68 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,86 +8,34 @@ layout: page

The DiscoDOS documentation has a dedicated section featuring [screenshots, animated Gifs and videos](https://discodos.readthedocs.io/en/latest/VIDEO_TUTORIALS.html).

## Roadmap
## History

Well, there is no actual roadmap but just some ideas in what direction this
software could advance and things that I personally would find nice to have.
If you have any preference or ideas yourself, please let me know ([file a
github issue](https://github.com/JOJ0/discodos/issues/new))
At first, back in 2018, I wrote DiscoDOS to replace my pencil and paper notes on mixes I played. In 2020 version [1.0](https://github.com/JOJ0/discodos/releases/tag/v1.0_rc2) was finished and I use it ever since. In mid 2024 I re-wrote the command line interface to use [Click](https://click.palletsprojects.com/en/stable/why/) instead of Python's built-in `argparser` (version [2.0](https://github.com/JOJ0/discodos/releases/tag/v2.0)). In late 2024 I implemented features around selling records on the Discogs Marketplace and better handling collection items including support for the _custom folder features_ Discogs provides (versions [3.0](https://github.com/JOJ0/discodos/releases/tag/v3.0) and [3.1](https://github.com/JOJ0/discodos/releases/tag/v3.1)).

Primarily DiscoDOS was built to help me write down and analyze my Vinyl sets
but often I play both Vinyl and Digital. It would be cool if DiscoDOS could
view an internal playlist together with lists from digital DJing software. I
did some research already and think it should be doable without too much
hassle. In order of my personal preference (and supposed ease of
implementation) the DJing systems I am talking about are:
## Roadmap-ish

- NI Traktor
- Mixxx
- Pioneer Rekordbox
Well, there is no actual roadmap but a list of ideas in what direction DiscoDOS could advance and things that I personally would find nice to have.

An alternative approach to finding out musical key and BPM via AcousticBrainz
(which will be discontinued in 2023) is to use the information saved in media
files metadata on the user's harddisk. There is loads of tools existing already
that manage to find out key, BPM and other things and tag files accordingly.
Each track in the DiscoDOS `track` table could be matched with a file in the
user's digital music collection, best by using an awesome tool that is already
existing: [Beets](https://beets.io). The Beets database of a user could be
queried to find out where a specific releases tracks are located on the
harddisk.
If you have any preference or ideas yourself, please let me know by [opening a GitHub issue](https://github.com/JOJ0/discodos/issues/new).

Since python3-discogs-client (which DiscoDOS uses to access discogs.com) was
extended to handle a user's sales inventory, I was thinking to build a `disco
sell` command into DiscoDOS.

More color in DiscoDOS would be nice! Colors on terminal are limited and
- [x] In its first versions DiscoDOS was built to write down and analyze Vinyl sets.
- [ ] It would be cool if DiscoDOS could view an internal playlist together with lists from digital DJing software, eg. [Mixxx](https://mixxx.org) and [Pioneer Rekordbox](https://rekordbox.com)
- [x] That idea could also be solved by integrating with a music library management software like [Beets](https://beets.io).
- [ ] An alternative approach to finding out musical key and BPM via AcousticBrainz (which was discontinued in 2023) could be to use the information saved in media files metadata on the user's harddisk. There is loads of tools existing already that manage to find out key, BPM and other things and tag files accordingly. Each track in the DiscoDOS `track` table could be matched with a file in the user's digital music collection, best by using an awesome tool that is already existing: [Beets](https://beets.io). The Beets database of a user could be queried to find out where a specific releases tracks are located on the harddisk.
- [x] Since python3-discogs-client (which DiscoDOS uses to access discogs.com) was extended to handle a user's sales inventory, I was thinking to build a `dsc sell` command into DiscoDOS allowing to list new records for sale and a way to comfortably edit those listing later (This became the `dsc ls` TUI interface).
- [x] More color in DiscoDOS would be nice! Colors on terminal are limited and
cross-platform compatibility is probably not easy but still - who doesn't
love colored terminal text?

The *Brainz matching algorithm is working quite well and does find a lot (if
available) but there is room for improvement.

Some people say they prefer GUIs over text consoles? Can you imagine that?
Just kidding, yes a neat GUI version of DiscoDOS would be beneficial to a lot
of people, even myself (duh!). I was thinking of something modern, "web-like"
and would prefer if it would be based on React/Javascript. I even started to
play around with React Native and coded a working draft for iOS and Android
already. A second reason for choosing React also for the Desktop version
would definitely be that on the long run, parts of code could be shared
between desktop and mobile version.

Update 2022: Thoughts regarding GUI:

- I would rather prefer to write a GUI in Googles Flutter than in React Native.
Similar to React Native, Flutter also would be beneficial in terms of reusing
code to write a regular "webapp version" of DiscoDOS.

- A draft of a GUI written in PyQT5 was contributed to DiscoDOS in 2021 and I
continued working on it. Since I'm not a very skilled QT programmer (yet) and
don't find the time, there only is a preview available that is working fine but
misses quite some functionality to really make it useful. See the release notes
of [Discodos 1.1](https://github.com/JOJ0/discodos/releases/tag/v1.1) for
details on how to try it out.

Any other ideas how DiscoDOS could be improved? [Let me
know!](https://github.com/JOJ0/discodos/issues/new)
- [x] A neat GUI version of DiscoDOS would be beneficial. First ideas were something React Native or Flutter based (mobile and web friendly). Along the way there were some approaches by contributors written in Tkinter and PyQT that were never finished though. In 2024/2025 this idea evolved into at least write some parts in a GUI-ish way. The `dsc ls` command based on the [Textual](https://textual.textualize.com) framework is quite feature-rich by now.

## Changelog

Find out what changed between DiscoDOS versions on the [github releases
page](https://github.com/JOJ0/discodos/releases)
Find out what changed between versions on the [DiscoDOS releases page](https://github.com/JOJ0/discodos/releases)

## Stay up-to-date

DiscoDOS is registered on [libreav.org](https://libreav.org), a site
collecting information about Free and Open Source music software.

- [DiscoDOS on libreav.org](https://libreav.org/software/discodos)
DiscoDOS is registered on [libreav.org](https://libreav.org/software/discodos), a site collecting information about Free and Open Source music software (which seems to be broken or discontinued by now - in 2025).

There is an IRC channel that announces whenever new versions are released. Join
#libreav on freenode.net, or if you are registered on matrix.org
or any other Matrix homeserver, join room
[#freenode_#libreav:matrix.org](https://matrix.to/#/#freenode_#libreav:matrix.org).
There is an IRC channel that announces whenever new versions are released. Join #libreav on freenode.net, or if you are registered on matrix.org or any other Matrix homeserver, join room [#freenode_#libreav:matrix.org](https://matrix.to/#/#freenode_#libreav:matrix.org).

Alternatively register to the [J0J0 Todos
mailinglist](https://blog.jojotodos.net/mailinglist/)
Register to the [J0J0 Todos mailinglist](https://blog.jojotodos.net/mailinglist/)

0 comments on commit 6818f5f

Please sign in to comment.