Bill Welliver is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

hww3 / tunesd

A simple DAAP (iTunes music sharing) server. Currently, playlist functionality isn't implemented, but is otherwise functional, including real time auto-detection of new music.

Clone this repository (size: 98.4 KB): HTTPS / SSH
hg clone https://bitbucket.org/hww3/tunesd
hg clone ssh://hg@bitbucket.org/hww3/tunesd

Searching for commits

Mercurial supports a functional language for selecting a set of revisions.

The language supports a number of predicates which are joined by infix operators. Parenthesis can be used for grouping.

Identifiers such as branch names must be quoted with single or double quotes if they contain characters outside of [._a-zA-Z0-9\x80-\xff] or if they match one of the predefined predicates.

Prefix operators

not x
Changesets not in x. Short form is ! x.

Infix operators

x::y

A DAG range, meaning all changesets that are descendants of x and ancestors of y, including x and y themselves. If the first endpoint is left out, this is equivalent to ancestors(y), if the second is left out it is equivalent to descendants(x).

An alternative syntax is x..y.

x:y
All changesets with revision numbers between x and y, both inclusive. Either endpoint can be left out, they default to 0 and tip.
x and y
The intersection of changesets in x and y. Short form is x & y.
x or y
The union of changesets in x and y. There are two alternative short forms: x | y and x + y.
x - y
Changesets in x but not in y.

Predicates

all()
All changesets, the same as 0:tip.
ancestor(single, single)
Greatest common ancestor of the two changesets.
ancestors(set)
Changesets that are ancestors of a changeset in set.
author(string)
Alias for user(string).
bookmark([name])
The named bookmark or all bookmarks.
branch(set)
All changesets belonging to the branches of changesets in set.
children(set)
Child changesets of changesets in set.
closed()
Changeset is closed.
date(interval)
Changesets within the interval, see hg help dates.
descendants(set)
Changesets which are descendants of changesets in set.
file(pattern)
Changesets affecting files matched by pattern.
follow()
An alias for ::. (ancestors of the working copy's first parent).
grep(regex)
Like keyword(string) but accepts a regex. Use grep(r'...') to ensure special escape characters are handled correctly.
head()
Changeset is a named branch head.
heads(set)
Members of set with no children in set.
id(string)
Revision non-ambiguously specified by the given hex string prefix.
keyword(string)
Search commit message, user name, and names of changed files for string.
limit(set, n)
First n members of set.
max(set)
Changeset with highest revision number in set.
merge()
Changeset is a merge changeset.
min(set)
Changeset with lowest revision number in set.
p1([set])
First parent of changesets in set, or the working directory.
p2([set])
Second parent of changesets in set, or the working directory.
parents([set])
The set of all parents for all changesets in set, or the working directory.
present(set)
An empty set, if any revision in set isn't found; otherwise, all revisions in set.
rev(number)
Revision with the given numeric identifier.
roots(set)
Changesets with no parent changeset in set.
tag(name)
The specified tag by name, or all tagged revisions if no name is given.
user(string)
User name is string.

Commits 1–30 of 40

Author Revision Comments Message Labels Date
Bill Welliver 6af40f645108 store and report file size and modification date
Bill Welliver e7d1c9fb93b5 startup script should see internal fins install and use it.
Bill Welliver 25869c727ac0 notes on play-time extraction
Bill Welliver 3bfcbacdfdac clean up some spurious output
Bill Welliver e9f3b0bd1165 split daap handling into its own class
Bill Welliver c401a2cfcf6a typo!
Bill Welliver 526537ef3330 olidate command checking code
Bill Welliver 97cf38f6ca1c had a typo
Bill Welliver 2b59a3e0bc2d tune up afinfo extractor
Bill Welliver 66d04a2fb10c have ffmpeg playtime handling done.
Bill Welliver e48bce35c9d2 add external playlength getters
Bill Welliver 144a207b495d some notes about play length calculation
Bill Welliver eb743a6073f8 mp3 scanning
Bill Welliver 9ae52a9c4566 add ability to calculate the play time of mp3 files if
Bill Welliver aee55c694573 notify optimization is partially working (an event currently triggers a full scan)
Bill Welliver 43849dab1e82 updated to work with EventStream and CFRunLoop based PollDeviceBackend.
Bill Welliver 12b3c287072b use the included FS.Monitor
Bill Welliver 745a173796bf added Filesystem Monitor module with initial support for FSEvents (high performance filesystem monitoring)
Bill Welliver 045375cd81e4 add some readmes
Bill Welliver cf14169eeee4 populate song->added
Bill Welliver 6ede768eefa1 fins now in control of application lifecycle
Bill Welliver a5be105dfaaa add fins
Bill Welliver 2b30ae3a9c26 moving things around for fins
Bill Welliver 71e36448c64d support song removal
Bill Welliver afda1eca47f0 use the sql database as song source
Bill Welliver aa63d49d1c05 handle file deletion now, though we need to trigger a revision change when it happens.
Bill Welliver 04f1733d65a6 scan a little harder, if you please.
Bill Welliver 9d8b213d3cbf remove some unused variables
Bill Welliver 8a26716f3b41 oh, let's start setting up a db to store stuff in.
Bill Welliver dbeb0067b0f0 we also do our own mpeg4 atom parsing, too... good bye external dependencies (sort of)
  1. 1
  2. 2
  3. »