///|
fn make_fingerprint() -> @fp.AudioFingerprint {
let config = try! @fp.HashConfig::new()
{
version: @fp.fingerprint_version,
frame_count: 64,
bin_count: 128,
config,
hashes: [
{
hash: 1001UL,
anchor_frame: 4,
anchor_bin: 10,
delta_frames: 3,
target_bin: 18,
},
{
hash: 1002UL,
anchor_frame: 12,
anchor_bin: 22,
delta_frames: 5,
target_bin: 30,
},
],
}
}
///|
fn main {
let config = try! @fp.HashConfig::new()
let index = @idx.FingerprintIndex::new(config)
try! index.add_track(1, "demo-track", make_fingerprint())
let snapshot = @idx.encode(index)
let decoded = try! @idx.decode(snapshot)
println("Index snapshot v1 example")
println("tracks: \{decoded.track_count()}")
println("postings: \{decoded.posting_count()}")
println("matches_1001: \{decoded.lookup(1001UL).length()}")
println("snapshot_bytes: \{snapshot.length()}")
}